{"openapi":"3.1.0","info":{"title":"ACME Inc new API","version":"1.0.0","description":"The Staffcloud API is organized around [REST](https:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer). It has predictable, resource-oriented URLs and uses HTTP response codes to indicate API errors.\n\nWe support [cross-origin resource sharing (CORS)](https:\/\/en.wikipedia.org\/wiki\/Cross-origin_resource_sharing), allowing you to interact securely with our API from a client-side web application. JSON is returned by all API responses by default, including errors.\n\nAll API URLs listed in this documentation are relative to the API endpoint:\n\n```\nhttps:\/\/<tenant>.staff.cloud\/api\/v1\/\n```\n\nAll API requests must be made over **HTTPS**. Calls made over plain HTTP will fail. API requests without authentication will also fail.\n\n## Authentication\n\nThe API uses [JSON Web Tokens (JWT)](https:\/\/tools.ietf.org\/html\/rfc7519) for stateless authentication. Each request must provide an `Authorization` header containing a `Bearer` token:\n\n```\nAuthorization: Bearer <ACCESS_TOKEN>\n```\n\nSince the API also supports JSONP (where custom headers cannot be sent), a special query parameter `authorization_bearer` is supported as an alternative.\n\n### Obtaining an API Token\n\nIf you don't have an API token yet please contact support@staff.cloud or open a request ticket at https:\/\/support.staff.cloud\n\n### Privileges\n\nThere is no granular privilege control for API users except a read-only state which prevents calling `POST`, `PUT`, and `DELETE` actions. An API user has access to all resources of its tenant, considering the available modules and addons.\n\n## Actions (CRUD)\n\nStandard CRUD operations use HTTP methods:\n\n- `GET \/{resource}` \u2014 List resources\n- `GET \/{resource}\/{id}` \u2014 Read a specific resource\n- `POST \/{resource}` \u2014 Create a new resource\n- `PUT \/{resource}\/{id}` \u2014 Update a resource (partial updates accepted)\n- `DELETE \/{resource}\/{id}` \u2014 Delete a resource\n\nA successful `POST` that results in creation includes a `Location` header pointing to the new resource URL.\n\nThe API does **not** support `PATCH`, but `PUT` accepts partial updates.\n\n### HTTP Method Override\n\nSome HTTP clients can only work with GET and POST. The API supports a request header `X-HTTP-Method-Override` with a value of `PUT` or `DELETE`, accepted only on POST requests. GET requests must never change data.\n\n### Special Actions\n\nSome resources have additional actions beyond CRUD (e.g., `POST \/assignments\/{id}\/apply`). These are documented per-resource in their respective sections.\n\n## Requests\n\n### Request Body Format\n\nThe API only accepts **JSON** for `POST` and `PUT` request bodies. If malformed data is received, a `415` error is returned.\nThe only notable exception to this are file uploads as described below.\n\n### File Uploads\n\nFile uploads use raw binary body content:\n\n```bash\ncurl -X POST https:\/\/<tenant>.staff.cloud\/api\/v1\/files \\\n  -H \"Authorization: Bearer <ACCESS_TOKEN>\" \\\n  -H \"Content-Type: image\/jpeg\" \\\n  -H \"X-File-Name: photo.jpg\" \\\n  -H \"X-File-Visibility: private\" \\\n  -d \"@\/path\/to\/photo.jpg\"\n```\n\nOptional headers: `X-File-Name` (filename), `X-File-Visibility` (`private` or `public`, default: `private`), `Content-Type` (MIME type).\n\n### Embedding Related Resources\n\nUse the `embed` query parameter with a comma-separated list of relations to include related resources inline:\n\n```\nGET \/projects\/12?embed=client.id,client.name,events\n```\n\nDot notation selects specific fields from embedded resources. If no sub-fields are specified, the full relation is returned.\n\n> **Note:** Embedding only works for one level below the main resource.\n\n> **Warning:** Avoid embedding large resources (e.g., assignments). Use multiple requests instead.\n\n### Filtering\n\nFilter results using query parameters on fields:\n\n| Operator                | Syntax                         | Example                  |\n| ----------------------- | ------------------------------ | ------------------------ |\n| Equals                  | `?field=value`                 | `?name=john`             |\n| Like (case insensitive) | `?field=~value`                | `?name=~john`            |\n| Not equals              | `?field=-value`                | `?name=-john`            |\n| Less than               | `?field=<value`                | `?age=<5`                |\n| Greater than            | `?field=>value`                | `?age=>5`                |\n| Contains                | `?field=*value*`               | `?name=*doe*`            |\n| Not contains            | `?field=-*value*`              | `?name=-*doe*`           |\n| Starts with             | `?field=*value`                | `?name=*john`            |\n| Ends with               | `?field=value*`                | `?name=doe*`             |\n| Null                    | `?field=null`                  | `?name=null`             |\n| Not null                | `?field=-null`                 | `?name=-null`            |\n| Multiple values (OR)    | `?field=a,b`                   | `?name=john,george`      |\n| AND (array syntax)      | `?field[]=cond1&field[]=cond2` | `?count[]=>2&count[]=<5` |\n\nAll expressions and operators may be combined. Reserved characters for expressions must be escaped with a backslash.\n\n### Field Selection\n\nLimit returned fields with the `fields` query parameter:\n\n```\nGET \/employees?fields=id,firstname,lastname,age\n```\n\n### Sorting\n\nSort results with the `sort` query parameter. Prefix with `-` for descending, `+` (or no prefix) for ascending:\n\n```\nGET \/employees?sort=+age,-name\n```\n\nMultiple sort fields are comma-separated.\n\n### Response Format\n\nJSON is the default format. Append a file extension to the URL for alternatives:\n\n- `GET \/employees\/12.json` \u2014 JSON format\n- `GET \/forms\/12\/attributes.xml?sort=name` \u2014 XML format\n\n### JSONP & Envelope Mode\n\nUse the `callback` query parameter for JSONP responses. This enables full envelope mode (always returns HTTP 200 with the real status code in the payload):\n\n```javascript\ncallback_function({\n    status_code: 200,\n    additional_header: '...',\n    response: {\n        \/* actual response *\/\n    },\n});\n```\n\nAlternatively, `?envelope=true` triggers envelope mode without JSONP.\n\n## Responses\n\n### HTTP Status Codes\n\n| Code                         | Description                                                |\n| ---------------------------- | ---------------------------------------------------------- |\n| `200 OK`                     | Successful GET, PUT, or DELETE                             |\n| `201 Created`                | Successful POST with creation (includes `Location` header) |\n| `204 No Content`             | Successful DELETE                                          |\n| `304 Not Modified`           | ETag cache hit                                             |\n| `400 Bad Request`            | Malformed request body                                     |\n| `401 Unauthorized`           | Invalid or missing authentication                          |\n| `403 Forbidden`              | Authenticated but access denied                            |\n| `404 Not Found`              | Resource not found                                         |\n| `405 Method Not Allowed`     | HTTP method not supported                                  |\n| `415 Unsupported Media Type` | Incorrect content type                                     |\n| `422 Unprocessable Entity`   | Validation errors                                          |\n| `429 Too Many Requests`      | Rate limit exceeded                                        |\n| `500 Internal Server Error`  | Unexpected error                                           |\n\n### Errors\n\nError responses include a structured JSON body:\n\n```json\n{\n    \"code\": \"field_deleted\",\n    \"message\": \"Field not available\",\n    \"description\": \"The requested field has been deleted.\"\n}\n```\n\nValidation errors for `POST`\/`PUT` include per-field error details:\n\n```json\n{\n    \"code\": \"validation_failed\",\n    \"message\": \"Validation Failed\",\n    \"errors\": [\n        {\n            \"code\": \"invalid_character\",\n            \"field\": \"first_name\",\n            \"message\": \"First name must not contain special characters\"\n        }\n    ]\n}\n```\n\n### Compression & Encoding\n\nAll responses are GZIP compressed (`Content-Encoding` header included). All data is UTF-8 encoded. Dates, times, and other formattable types are returned in consistent formats.\n\n### Rate Limiting\n\nTo prevent abuse, the API implements rate limiting per [RFC 6585](http:\/\/tools.ietf.org\/html\/rfc6585). Rate limit headers are included in every response:\n\n- `X-Rate-Limit-Limit` \u2014 Allowed requests in the current period\n- `X-Rate-Limit-Remaining` \u2014 Remaining requests in the current period\n- `X-Rate-Limit-Reset` \u2014 Seconds left in the current period\n\nExceeding the limit returns HTTP `429 Too Many Requests`.\n\n### Caching (ETag)\n\nThe API uses [ETag](http:\/\/en.wikipedia.org\/wiki\/HTTP_ETag) caching. Responses include an `ETag` header with a hash of the response. Send `If-None-Match` with a matching ETag value to receive a `304 Not Modified` instead of the full response.\n\n### Dynamic Fields\n\nResources may include tenant-specific dynamic fields configured by planners. Pre-existing dynamic fields have human-readable names and are documented per-resource. User-generated dynamic fields use the naming pattern `dynamic_field_{id}` (e.g., `dynamic_field_50`). These are marked with `x-sc-dynamic: true` in this specification.\n\nTo retrieve all dynamic fields for a resource, use the [forms resource](#forms) or perform a `GET` request to the resource.\n"},"servers":[{"url":"\/api\/v1"}],"security":[{"bearerAuth":[]}],"paths":{"\/assignment-billings":{"get":{"tags":["Assignment Billings"],"summary":"List Assignment Billings","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-billings"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-billings"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentBillingsList"}},"\/assignment-contract":{"get":{"tags":["Assignment Contract"],"summary":"List Assignment Contract","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-contract"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-contract"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentContractList"}},"\/assignment-contract\/{id}":{"get":{"tags":["Assignment Contract"],"summary":"Read Assignment Contract","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignment-contract"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAssignmentContractById"}},"\/assignment-contract\/{id}\/file":{"get":{"tags":["Assignment Contract"],"summary":"File (Assignment Contract)","description":"Note: this action is <strong>deprecated<\/strong>. Get the contract file of an assignment.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignment-contract"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentContractFile"}},"\/assignment-employment-reports":{"get":{"tags":["Assignment Employment Reports"],"summary":"List Assignment Employment Reports","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-employment-reports"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-employment-reports"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentEmploymentReportsList"}},"\/assignment-employment-reports\/{id}":{"get":{"tags":["Assignment Employment Reports"],"summary":"Read Assignment Employment Reports","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignment-employment-reports"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAssignmentEmploymentReportsById"}},"\/assignment-wages":{"get":{"tags":["Assignment Wages"],"summary":"List Assignment Wages","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-wages"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/assignment-wages"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentWagesList"}},"\/assignments":{"get":{"tags":["Assignments"],"summary":"List Assignments","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/assignments"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/assignments"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsList"}},"\/assignments\/configurations":{"get":{"tags":["Assignments"],"summary":"Configurations (Assignments)","description":"Get configurations for a set of given assignment","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsConfigurations"}},"\/assignments\/reporting-forms":{"get":{"tags":["Assignments"],"summary":"Reporting forms (Assignments)","description":"Get reporting forms attached to multiple assignments via related events \/ projects.","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsReportingForms"}},"\/assignments\/signed-work-data":{"post":{"tags":["Assignments"],"summary":"Signed work data (Assignments)","description":"Post signed work data like work times proposals.","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"postAssignmentsSignedWorkData"}},"\/assignments\/status":{"put":{"tags":["Assignments"],"summary":"Status (Assignments)","description":"Bulk change assignments states","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"putAssignmentsStatus"}},"\/assignments\/{id}":{"get":{"tags":["Assignments"],"summary":"Read Assignments","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAssignmentsById"}},"\/assignments\/{id}\/configurations":{"get":{"tags":["Assignments"],"summary":"Configurations (Assignments)","description":"Get configurations for a specific assignment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsConfigurations"}},"\/assignments\/{id}\/open-actions":{"get":{"tags":["Assignments"],"summary":"Open actions (Assignments)","description":"Get open actions for a specific assignment.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsOpenActions"}},"\/assignments\/{id}\/pay":{"put":{"tags":["Assignments"],"summary":"Pay (Assignments)","description":"Set payment time for a specific assignment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"putAssignmentsPay"}},"\/assignments\/{id}\/reporting-forms":{"get":{"tags":["Assignments"],"summary":"Reporting forms (Assignments)","description":"Get reporting forms attached to a particular assignment via related event \/ project.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsReportingForms"}},"\/assignments\/{id}\/signed-work-data":{"get":{"tags":["Assignments"],"summary":"Signed work data (Assignments)","description":"Get configurations for signed work data\n\nNote: this action is deprecated. Use GET \/assignments\/\/signed-work-data-approvers instead","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsSignedWorkData"}},"\/assignments\/{id}\/signed-work-data-approvers":{"get":{"tags":["Assignments"],"summary":"Signed work data approvers (Assignments)","description":"Get the approvers that can sign work data","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsSignedWorkDataApprovers"}},"\/assignments\/{id}\/status":{"put":{"tags":["Assignments"],"summary":"Status (Assignments)","description":"Change assignment specific state","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"putAssignmentsStatus"}},"\/assignments\/{id}\/status-map":{"get":{"tags":["Assignments"],"summary":"Status map (Assignments)","description":"Available assignment status values.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsStatusMap"}},"\/assignments\/{id}\/teamsheet":{"get":{"tags":["Assignments"],"summary":"Teamsheet (Assignments)","description":"Get the team sheet for a specific assignment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"getAssignmentsTeamsheet"}},"\/assignments\/{id}\/time":{"put":{"tags":["Assignments"],"summary":"Time (Assignments)","description":"Set time for a specific assignment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/assignments"}}}},"401":{"description":"Unauthorized"}},"operationId":"putAssignmentsTime"}},"\/attributes":{"get":{"tags":["Attribute"],"summary":"List Attribute","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/attributes"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/attributes"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAttributesList"}},"\/attributes\/{id}":{"get":{"tags":["Attribute"],"summary":"Read Attribute","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/attributes"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAttributesById"}},"\/automations":{"get":{"tags":["Automations"],"summary":"List Automations","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/automations"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/automations"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAutomationsList"},"post":{"tags":["Automations"],"summary":"Create Automations","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/automations"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/automations"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postAutomations"}},"\/automations\/{id}":{"get":{"tags":["Automations"],"summary":"Read Automations","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/automations"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAutomationsById"},"put":{"tags":["Automations"],"summary":"Update Automations","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/automations"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/automations"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putAutomationsById"},"delete":{"tags":["Automations"],"summary":"Delete Automations","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteAutomationsById"}},"\/availability-requests":{"get":{"tags":["Availability Requests"],"summary":"List Availability Requests","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/availability-requests"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/availability-requests"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAvailabilityRequestsList"}},"\/availability-requests-availabilities":{"get":{"tags":["Availability Requests Availabilities"],"summary":"List Availability Requests Availabilities","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/availability-requests-availabilities"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/availability-requests-availabilities"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAvailabilityRequestsAvailabilitiesList"}},"\/availability-requests-availabilities\/{id}":{"get":{"tags":["Availability Requests Availabilities"],"summary":"Read Availability Requests Availabilities","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/availability-requests-availabilities"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAvailabilityRequestsAvailabilitiesById"},"put":{"tags":["Availability Requests Availabilities"],"summary":"Update Availability Requests Availabilities","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/availability-requests-availabilities"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/availability-requests-availabilities"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putAvailabilityRequestsAvailabilitiesById"}},"\/availability-requests-definitions":{"get":{"tags":["Availability Requests Definitions"],"summary":"List Availability Requests Definitions","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/availability-requests-definitions"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/availability-requests-definitions"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getAvailabilityRequestsDefinitionsList"}},"\/availability-requests-definitions\/{id}":{"get":{"tags":["Availability Requests Definitions"],"summary":"Read Availability Requests Definitions","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/availability-requests-definitions"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAvailabilityRequestsDefinitionsById"}},"\/availability-requests\/{id}":{"get":{"tags":["Availability Requests"],"summary":"Read Availability Requests","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/availability-requests"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getAvailabilityRequestsById"}},"\/billing-components":{"get":{"tags":["Billing component"],"summary":"List Billing component","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/billing-components"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/billing-components"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getBillingComponentsList"}},"\/billing-components\/{id}":{"get":{"tags":["Billing component"],"summary":"Read Billing component","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/billing-components"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getBillingComponentsById"}},"\/billing-profiles":{"get":{"tags":["Billing Profile"],"summary":"List Billing Profile","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/billing-profiles"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/billing-profiles"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getBillingProfilesList"}},"\/billing-profiles\/{id}":{"get":{"tags":["Billing Profile"],"summary":"Read Billing Profile","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/billing-profiles"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getBillingProfilesById"}},"\/busy-dates":{"get":{"tags":["Busy Dates"],"summary":"List Busy Dates","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/busy-dates"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/busy-dates"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getBusyDatesList"},"post":{"tags":["Busy Dates"],"summary":"Create Busy Dates","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/busy-dates"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/busy-dates"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postBusyDates"}},"\/busy-dates\/{id}":{"get":{"tags":["Busy Dates"],"summary":"Read Busy Dates","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/busy-dates"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getBusyDatesById"},"put":{"tags":["Busy Dates"],"summary":"Update Busy Dates","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/busy-dates"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/busy-dates"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putBusyDatesById"},"delete":{"tags":["Busy Dates"],"summary":"Delete Busy Dates","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteBusyDatesById"}},"\/change-requests":{"get":{"tags":["Change Requests"],"summary":"List Change Requests","description":"Resource listing\n\nNote: this action has custom request parameter return_values=true. This parameter affects values of non-scalar data types such as select, multi_select, level_select, or file. If true (the default), the value field is converted to a human-readable label (the name of a collection value) or file details. If false, the collection value id or the file id is returned.","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/change-requests"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/change-requests"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getChangeRequestsList"}},"\/change-requests\/{id}":{"get":{"tags":["Change Requests"],"summary":"Read Change Requests","description":"Resource read\n\nNote: this action has custom request parameter return_values=true. This parameter affects values of non-scalar data types such as select, multi_select, level_select, or file. If true (the default), the value field is converted to a human-readable label (the name of a collection value) or file details. If false, the collection value id or the file id is returned.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/change-requests"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getChangeRequestsById"}},"\/checkins":{"get":{"tags":["Check Ins"],"summary":"List Check Ins","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/checkins"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/checkins"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getCheckinsList"},"post":{"tags":["Check Ins"],"summary":"Create Check Ins","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/checkins"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/checkins"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postCheckins"}},"\/checkins\/{id}":{"get":{"tags":["Check Ins"],"summary":"Read Check Ins","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/checkins"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getCheckinsById"},"delete":{"tags":["Check Ins"],"summary":"Delete Check Ins","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteCheckinsById"}},"\/clients":{"get":{"tags":["Client"],"summary":"List Client","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/clients"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/clients"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getClientsList"},"post":{"tags":["Client"],"summary":"Create Client","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/clients"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/clients"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postClients"}},"\/clients\/{id}":{"get":{"tags":["Client"],"summary":"Read Client","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/clients"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getClientsById"},"put":{"tags":["Client"],"summary":"Update Client","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/clients"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/clients"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putClientsById"},"delete":{"tags":["Client"],"summary":"Delete Client","description":"Resource delete\n\nNote: this action is deprecated. In order to mark a client as deleted you can use PUT \/clients\/&lt;id&gt; action by sending { status: 2 } as one of the parameters","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteClientsById"}},"\/collections":{"get":{"tags":["Collections"],"summary":"List Collections","description":"Resource listing\n\nNote: This returns all collections, including those marked as deleted. Use GET \/collections?deleted=0 to filter out collections marked as deleted.","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/collections"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/collections"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getCollectionsList"},"post":{"tags":["Collections"],"summary":"Create Collections","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postCollections"}},"\/collections\/{id}":{"get":{"tags":["Collections"],"summary":"Read Collections","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getCollectionsById"},"put":{"tags":["Collections"],"summary":"Update Collections","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putCollectionsById"},"delete":{"tags":["Collections"],"summary":"Delete Collections","description":"Resource delete\n\nNote: this action is deprecated. In order to mark a collection as deleted you can use PUT \/collections\/&lt;id&gt; action by sending { deleted: true } as one of the parameters","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteCollectionsById"}},"\/collections\/{id}\/objects":{"get":{"tags":["Collections"],"summary":"Objects (Collections)","description":"List all objects of a specific collection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"}},"operationId":"getCollectionsObjects"}},"\/collections\/{id}\/value":{"post":{"tags":["Collections"],"summary":"Value (Collections)","description":"Add new value to a collection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"}},"operationId":"postCollectionsValue"},"get":{"tags":["Collections"],"summary":"Value (Collections)","description":"Get specific value from a collection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"}},"operationId":"getCollectionsValue"},"put":{"tags":["Collections"],"summary":"Value (Collections)","description":"Update specific value from a collection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"}},"operationId":"putCollectionsValue"},"delete":{"tags":["Collections"],"summary":"Value (Collections)","description":"Delete specific value from a collection\n\nNote: this action is deprecated. In order to mark a collection item as deleted you can use  PUT \/collections\/&lt;id&gt;\/value action by sending { deleted: true } as one of the parameters","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"}},"operationId":"deleteCollectionsValue"}},"\/collections\/{id}\/values":{"get":{"tags":["Collections"],"summary":"Values (Collections)","description":"List all values of a specific collection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/collections"}}}},"401":{"description":"Unauthorized"}},"operationId":"getCollectionsValues"}},"\/contacts":{"get":{"tags":["Contact"],"summary":"List Contact","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/contacts"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/contacts"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getContactsList"},"post":{"tags":["Contact"],"summary":"Create Contact","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/contacts"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/contacts"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postContacts"}},"\/contacts\/{id}":{"get":{"tags":["Contact"],"summary":"Read Contact","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/contacts"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getContactsById"},"put":{"tags":["Contact"],"summary":"Update Contact","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/contacts"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/contacts"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putContactsById"},"delete":{"tags":["Contact"],"summary":"Delete Contact","description":"Resource delete\n\nNote: this action is deprecated. In order to mark a contact as deleted you can use PUT \/contacts\/&lt;id&gt; action by sending { status: 2 } as one of the parameters","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteContactsById"}},"\/counties":{"get":{"tags":["Counties"],"summary":"List Counties","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/counties"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/counties"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getCountiesList"}},"\/counties\/{id}":{"get":{"tags":["Counties"],"summary":"Read Counties","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/counties"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getCountiesById"}},"\/device-tokens":{"post":{"tags":["Device Tokens"],"summary":"Register a device token","description":"Register a push notification device token (employees only).","operationId":"postDeviceToken","requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","required":["device_token","platform"],"properties":{"device_token":{"type":"string","description":"Push notification device token"},"platform":{"type":"string","description":"Device platform (ios, android)"}}}}}},"responses":{"201":{"description":"Device token created"},"200":{"description":"Device token already exists"},"401":{"description":"Unauthorized"}}}},"\/device-tokens\/token\/{registrationToken}":{"get":{"tags":["Device Tokens"],"summary":"Get device tokens by registration token","operationId":"getDeviceTokenByRegistration","parameters":[{"name":"registrationToken","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Device token(s) found"},"401":{"description":"Unauthorized"}}},"delete":{"tags":["Device Tokens"],"summary":"Delete device token by registration token","operationId":"deleteDeviceTokenByRegistration","parameters":[{"name":"registrationToken","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Device token deleted"},"401":{"description":"Unauthorized"}}}},"\/device-tokens\/{id}":{"delete":{"tags":["Device Tokens"],"summary":"Delete a device token","description":"Delete a device token by ID.","operationId":"deleteDeviceToken","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"204":{"description":"Device token deleted"},"401":{"description":"Unauthorized"}}}},"\/documents":{"get":{"tags":["Documents"],"summary":"List Documents","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/documents"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/documents"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getDocumentsList"}},"\/documents\/{id}":{"get":{"tags":["Documents"],"summary":"Read Documents","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/documents"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getDocumentsById"}},"\/employee-availability":{"get":{"tags":["Employee Availability"],"summary":"List Employee Availability","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-availability"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-availability"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeeAvailabilityList"}},"\/employee-framework-contracts":{"get":{"tags":["Employee framework contracts"],"summary":"List Employee framework contracts","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-framework-contracts"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-framework-contracts"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeeFrameworkContractsList"}},"\/employee-framework-contracts\/{id}":{"get":{"tags":["Employee framework contracts"],"summary":"Read Employee framework contracts","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-framework-contracts"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getEmployeeFrameworkContractsById"}},"\/employee-notes":{"get":{"tags":["Employee Notes"],"summary":"List Employee Notes","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-notes"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-notes"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeeNotesList"},"post":{"tags":["Employee Notes"],"summary":"Create Employee Notes","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-notes"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-notes"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postEmployeeNotes"}},"\/employee-notes\/{id}":{"get":{"tags":["Employee Notes"],"summary":"Read Employee Notes","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-notes"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getEmployeeNotesById"},"put":{"tags":["Employee Notes"],"summary":"Update Employee Notes","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-notes"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-notes"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putEmployeeNotesById"},"delete":{"tags":["Employee Notes"],"summary":"Delete Employee Notes","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteEmployeeNotesById"}},"\/employee-pictures":{"get":{"tags":["Employee Pictures"],"summary":"List Employee Pictures","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-pictures"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-pictures"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeePicturesList"},"post":{"tags":["Employee Pictures"],"summary":"Create Employee Pictures","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-pictures"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-pictures"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postEmployeePictures"}},"\/employee-pictures\/{id}":{"get":{"tags":["Employee Pictures"],"summary":"Read Employee Pictures","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-pictures"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getEmployeePicturesById"},"put":{"tags":["Employee Pictures"],"summary":"Update Employee Pictures","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-pictures"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employee-pictures"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putEmployeePicturesById"},"delete":{"tags":["Employee Pictures"],"summary":"Delete Employee Pictures","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteEmployeePicturesById"}},"\/employee-teams":{"get":{"tags":["Employee Teams"],"summary":"List Employee Teams","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-teams"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/employee-teams"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeeTeamsList"}},"\/employees":{"get":{"tags":["Employees"],"summary":"List Employees","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/employees"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/employees"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeesList"},"post":{"tags":["Employees"],"summary":"Create Employees","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postEmployees"}},"\/employees\/{id}":{"get":{"tags":["Employees"],"summary":"Read Employees","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getEmployeesById"},"put":{"tags":["Employees"],"summary":"Update Employees","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putEmployeesById"},"delete":{"tags":["Employees"],"summary":"Delete Employees","description":"Resource delete\n\nNote: this action is deprecated. In order to mark an employee as deleted or inactive you can use PUT \/employees\/&lt;id&gt;\/state\/&lt;statusId&gt; action where statusId can be 5 for inactive, or 6 for deleted","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteEmployeesById"}},"\/employees\/{id}\/active":{"get":{"tags":["Employees"],"summary":"Active (Employees)","description":"Get all active employees.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeesActive"}},"\/employees\/{id}\/forms":{"put":{"tags":["Employees"],"summary":"Forms (Employees)","description":"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"}},"operationId":"putEmployeesForms"},"get":{"tags":["Employees"],"summary":"Forms (Employees)","description":"Get employee rendered through a given form.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"}},"operationId":"getEmployeesForms"}},"\/employees\/{id}\/state":{"post":{"tags":["Employees"],"summary":"State (Employees)","description":"Set the state of an employee.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"}},"operationId":"postEmployeesState"},"put":{"tags":["Employees"],"summary":"State (Employees)","description":"Set the state of an employee.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/employees"}}}},"401":{"description":"Unauthorized"}},"operationId":"putEmployeesState"}},"\/event-functions":{"get":{"tags":["Event Functions"],"summary":"List Event Functions","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/event-functions"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/event-functions"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEventFunctionsList"},"post":{"tags":["Event Functions"],"summary":"Create Event Functions","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/event-functions"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/event-functions"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postEventFunctions"}},"\/event-functions\/{id}":{"get":{"tags":["Event Functions"],"summary":"Read Event Functions","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/event-functions"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getEventFunctionsById"},"put":{"tags":["Event Functions"],"summary":"Update Event Functions","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/event-functions"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/event-functions"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putEventFunctionsById"}},"\/events":{"get":{"tags":["Event"],"summary":"List Event","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/events"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/events"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getEventsList"},"post":{"tags":["Event"],"summary":"Create Event","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postEvents"}},"\/events\/reporting-forms":{"get":{"tags":["Event"],"summary":"Reporting forms (Event)","description":"Get reporting forms for indicated \/ all events","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"401":{"description":"Unauthorized"}},"operationId":"getEventsReportingForms"}},"\/events\/{id}":{"get":{"tags":["Event"],"summary":"Read Event","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getEventsById"},"put":{"tags":["Event"],"summary":"Update Event","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putEventsById"}},"\/events\/{id}\/forms":{"get":{"tags":["Event"],"summary":"Forms (Event)","description":"Get event rendered through a given form.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"401":{"description":"Unauthorized"}},"operationId":"getEventsForms"}},"\/events\/{id}\/reporting-forms":{"get":{"tags":["Event"],"summary":"Reporting forms (Event)","description":"Get reporting forms attached to a particular event.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/events"}}}},"401":{"description":"Unauthorized"}},"operationId":"getEventsReportingForms"}},"\/expiring-fields":{"get":{"tags":["Expiring Fields"],"summary":"List Expiring Fields","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/expiring-fields"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/expiring-fields"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getExpiringFieldsList"}},"\/external-staff-providers":{"get":{"tags":["External Staff Providers"],"summary":"List External Staff Providers","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/external-staff-providers"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/external-staff-providers"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getExternalStaffProvidersList"},"post":{"tags":["External Staff Providers"],"summary":"Create External Staff Providers","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-providers"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-providers"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postExternalStaffProviders"}},"\/external-staff-providers\/{id}":{"get":{"tags":["External Staff Providers"],"summary":"Read External Staff Providers","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-providers"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getExternalStaffProvidersById"},"put":{"tags":["External Staff Providers"],"summary":"Update External Staff Providers","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-providers"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-providers"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putExternalStaffProvidersById"},"delete":{"tags":["External Staff Providers"],"summary":"Delete External Staff Providers","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteExternalStaffProvidersById"}},"\/external-staff-requests":{"get":{"tags":["External Staff Requests"],"summary":"List External Staff Requests","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/external-staff-requests"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/external-staff-requests"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getExternalStaffRequestsList"},"post":{"tags":["External Staff Requests"],"summary":"Create External Staff Requests","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-requests"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-requests"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postExternalStaffRequests"}},"\/external-staff-requests\/{id}":{"get":{"tags":["External Staff Requests"],"summary":"Read External Staff Requests","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-requests"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getExternalStaffRequestsById"},"put":{"tags":["External Staff Requests"],"summary":"Update External Staff Requests","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-requests"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-staff-requests"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putExternalStaffRequestsById"},"delete":{"tags":["External Staff Requests"],"summary":"Delete External Staff Requests","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteExternalStaffRequestsById"}},"\/external-workers":{"get":{"tags":["External Workers"],"summary":"List External Workers","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/external-workers"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/external-workers"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getExternalWorkersList"},"post":{"tags":["External Workers"],"summary":"Create External Workers","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postExternalWorkers"}},"\/external-workers\/{id}":{"get":{"tags":["External Workers"],"summary":"Read External Workers","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getExternalWorkersById"},"put":{"tags":["External Workers"],"summary":"Update External Workers","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putExternalWorkersById"},"delete":{"tags":["External Workers"],"summary":"Delete External Workers","description":"Resource delete\n\nNote: this action is deprecated. In order to mark an employee as deleted or inactive you can use PUT \/external-workers\/&lt;id&gt;\/state\/&lt;statusId&gt; action where statusId can be 5 for inactive, or 6 for deleted","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteExternalWorkersById"}},"\/external-workers\/{id}\/active":{"get":{"tags":["External Workers"],"summary":"Active (External Workers)","description":"Get all active employees.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"}},"operationId":"getExternalWorkersActive"}},"\/external-workers\/{id}\/forms":{"put":{"tags":["External Workers"],"summary":"Forms (External Workers)","description":"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"}},"operationId":"putExternalWorkersForms"},"get":{"tags":["External Workers"],"summary":"Forms (External Workers)","description":"Get employee rendered through a given form.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"}},"operationId":"getExternalWorkersForms"}},"\/external-workers\/{id}\/state":{"post":{"tags":["External Workers"],"summary":"State (External Workers)","description":"Set the state of an employee.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"}},"operationId":"postExternalWorkersState"},"put":{"tags":["External Workers"],"summary":"State (External Workers)","description":"Set the state of an employee.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/external-workers"}}}},"401":{"description":"Unauthorized"}},"operationId":"putExternalWorkersState"}},"\/files":{"post":{"tags":["Storage"],"summary":"Upload a file","description":"Upload a file via raw binary body. Use X-File-Name header to specify filename and Content-Type for MIME type.","operationId":"postFileUpload","parameters":[{"name":"X-File-Name","in":"header","required":false,"schema":{"type":"string"},"description":"Desired filename for the upload"},{"name":"X-File-Visibility","in":"header","required":false,"schema":{"type":"string","enum":["private","public"]},"description":"File visibility (default: private)"}],"requestBody":{"required":true,"content":{"application\/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"201":{"description":"File uploaded successfully"},"401":{"description":"Unauthorized"}}}},"\/files\/{id}":{"get":{"tags":["File"],"summary":"Read File","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/files"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getFilesById"},"put":{"tags":["File"],"summary":"Update File","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/files"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/files"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putFilesById"},"delete":{"tags":["File"],"summary":"Delete File","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteFilesById"}},"\/forms":{"get":{"tags":["Forms"],"summary":"List Forms","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/forms"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/forms"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getFormsList"}},"\/forms\/{id}":{"get":{"tags":["Forms"],"summary":"Read Forms","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/forms"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getFormsById"}},"\/functions":{"get":{"tags":["Functions"],"summary":"List Functions","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/functions"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/functions"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getFunctionsList"}},"\/functions\/{id}":{"get":{"tags":["Functions"],"summary":"Read Functions","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/functions"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getFunctionsById"}},"\/generic-form-submissions":{"get":{"tags":["Generic Form Submissions"],"summary":"List Generic Form Submissions","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/generic-form-submissions"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getGenericFormSubmissionsList"},"post":{"tags":["Generic Form Submissions"],"summary":"Create Generic Form Submissions","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postGenericFormSubmissions"}},"\/generic-form-submissions\/{id}":{"get":{"tags":["Generic Form Submissions"],"summary":"Read Generic Form Submissions","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getGenericFormSubmissionsById"},"put":{"tags":["Generic Form Submissions"],"summary":"Update Generic Form Submissions","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putGenericFormSubmissionsById"},"delete":{"tags":["Generic Form Submissions"],"summary":"Delete Generic Form Submissions","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteGenericFormSubmissionsById"}},"\/generic-form-submissions\/{id}\/submit":{"post":{"tags":["Generic Form Submissions"],"summary":"Submit (Generic Form Submissions)","description":"Marks a draft submission as submitted","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-form-submissions"}}}},"401":{"description":"Unauthorized"}},"operationId":"postGenericFormSubmissionsSubmit"}},"\/generic-forms":{"get":{"tags":["Generic Forms"],"summary":"List Generic Forms","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/generic-forms"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/generic-forms"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getGenericFormsList"}},"\/generic-forms\/{id}":{"get":{"tags":["Generic Forms"],"summary":"Read Generic Forms","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/generic-forms"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getGenericFormsById"}},"\/languages":{"get":{"tags":["Language"],"summary":"List Language","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/languages"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/languages"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getLanguagesList"}},"\/languages\/{id}":{"get":{"tags":["Language"],"summary":"Read Language","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/languages"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getLanguagesById"}},"\/livestamps":{"get":{"tags":["Livestamp"],"summary":"List Livestamp","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/livestamps"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/livestamps"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getLivestampsList"},"post":{"tags":["Livestamp"],"summary":"Create Livestamp","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postLivestamps"}},"\/livestamps\/{id}":{"get":{"tags":["Livestamp"],"summary":"Read Livestamp","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getLivestampsById"}},"\/livestamps\/{id}\/accept":{"put":{"tags":["Livestamp"],"summary":"Accept (Livestamp)","description":"Accept an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"401":{"description":"Unauthorized"}},"operationId":"putLivestampsAccept"}},"\/livestamps\/{id}\/add-files":{"post":{"tags":["Livestamp"],"summary":"Add files (Livestamp)","description":"Add new files to an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"401":{"description":"Unauthorized"}},"operationId":"postLivestampsAddFiles"}},"\/livestamps\/{id}\/delete-files":{"delete":{"tags":["Livestamp"],"summary":"Delete files (Livestamp)","description":"Delete files from an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"401":{"description":"Unauthorized"}},"operationId":"deleteLivestampsDeleteFiles"}},"\/livestamps\/{id}\/reject":{"put":{"tags":["Livestamp"],"summary":"Reject (Livestamp)","description":"Reject an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/livestamps"}}}},"401":{"description":"Unauthorized"}},"operationId":"putLivestampsReject"}},"\/locations":{"get":{"tags":["Locations"],"summary":"List Locations","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/locations"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/locations"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getLocationsList"}},"\/locations\/{id}":{"get":{"tags":["Locations"],"summary":"Read Locations","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/locations"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getLocationsById"}},"\/me":{"get":{"tags":["Authentication"],"summary":"Get current user","description":"Redirects to the authenticated user's resource endpoint (e.g., \/employees\/{id} or \/planners\/{id}).","operationId":"getMe","responses":{"302":{"description":"Redirect to user resource"},"401":{"description":"Unauthorized"}}}},"\/messages":{"get":{"tags":["Messages"],"summary":"List Messages","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/messages"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/messages"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getMessagesList"},"post":{"tags":["Messages"],"summary":"Create Messages","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postMessages"}},"\/messages\/{id}":{"get":{"tags":["Messages"],"summary":"Read Messages","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getMessagesById"},"put":{"tags":["Messages"],"summary":"Update Messages","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putMessagesById"},"delete":{"tags":["Messages"],"summary":"Delete Messages","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteMessagesById"}},"\/messages\/{id}\/conversations":{"get":{"tags":["Messages"],"summary":"Conversations (Messages)","description":"Fetch messages for a conversation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"}},"operationId":"getMessagesConversations"},"put":{"tags":["Messages"],"summary":"Conversations (Messages)","description":"Update a conversation.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"}},"operationId":"putMessagesConversations"},"delete":{"tags":["Messages"],"summary":"Conversations (Messages)","description":"Delete a conversation thread","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"}},"operationId":"deleteMessagesConversations"}},"\/messages\/{id}\/mark-all-as-read":{"get":{"tags":["Messages"],"summary":"Mark all as read (Messages)","description":"Mark all the messages of the given type as read.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"}},"operationId":"getMessagesMarkAllAsRead"}},"\/messages\/{id}\/send":{"post":{"tags":["Messages"],"summary":"Send (Messages)","description":"Send or reply to a message.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/messages"}}}},"401":{"description":"Unauthorized"}},"operationId":"postMessagesSend"}},"\/notifications":{"get":{"tags":["Notifications"],"summary":"List Notifications","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/notifications"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/notifications"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getNotificationsList"},"post":{"tags":["Notifications"],"summary":"Create Notifications","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/notifications"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/notifications"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postNotifications"}},"\/notifications\/{id}":{"get":{"tags":["Notifications"],"summary":"Read Notifications","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/notifications"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getNotificationsById"}},"\/pay-lines":{"get":{"tags":["Pay Lines"],"summary":"List Pay Lines","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/pay-lines"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/pay-lines"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getPayLinesList"}},"\/pay-lines\/{id}":{"get":{"tags":["Pay Lines"],"summary":"Read Pay Lines","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/pay-lines"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getPayLinesById"}},"\/pay-runs":{"get":{"tags":["Pay Runs"],"summary":"List Pay Runs","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/pay-runs"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/pay-runs"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getPayRunsList"}},"\/pay-runs\/{id}":{"get":{"tags":["Pay Runs"],"summary":"Read Pay Runs","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/pay-runs"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getPayRunsById"}},"\/pay-runs\/{id}\/payslips":{"get":{"tags":["Pay Runs"],"summary":"Payslips (Pay Runs)","description":"Get pay run payslips.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/pay-runs"}}}},"401":{"description":"Unauthorized"}},"operationId":"getPayRunsPayslips"}},"\/pay-runs\/{payRunId}\/bulkUploadPayslips":{"post":{"tags":["Payslips"],"summary":"Bulk upload payslips","description":"Upload a ZIP file containing payslips for a pay run. Files are matched to employees by external employee ID.","operationId":"postBulkUploadPayslips","parameters":[{"name":"payRunId","in":"path","required":true,"schema":{"type":"integer"},"description":"Pay run ID"}],"requestBody":{"required":true,"content":{"application\/zip":{"schema":{"type":"string","format":"binary"}}}},"responses":{"201":{"description":"Payslips uploaded","content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"payslips":{"type":"integer"}}}}}},"401":{"description":"Unauthorized"},"500":{"description":"Upload failed or partially failed"}}}},"\/paysheets":{"get":{"tags":["Paysheet"],"summary":"List Paysheet","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/paysheets"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/paysheets"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getPaysheetsList"}},"\/payslips":{"get":{"tags":["Payslips"],"summary":"List Payslips","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/payslips"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/payslips"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getPayslipsList"},"post":{"tags":["Payslips"],"summary":"Create Payslips","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/payslips"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/payslips"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postPayslips"}},"\/payslips\/{id}":{"get":{"tags":["Payslips"],"summary":"Read Payslips","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/payslips"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getPayslipsById"},"put":{"tags":["Payslips"],"summary":"Update Payslips","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/payslips"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/payslips"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putPayslipsById"},"delete":{"tags":["Payslips"],"summary":"Delete Payslips","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deletePayslipsById"}},"\/planners":{"get":{"tags":["Planners"],"summary":"List Planners","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/planners"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/planners"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getPlannersList"}},"\/planners\/{id}":{"get":{"tags":["Planners"],"summary":"Read Planners","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/planners"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getPlannersById"}},"\/pre-checkins":{"get":{"tags":["Pre Check Ins"],"summary":"List Pre Check Ins","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/pre-checkins"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/pre-checkins"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getPreCheckinsList"}},"\/pre-checkins\/{id}\/respond":{"post":{"tags":["Pre Check Ins"],"summary":"Respond (Pre Check Ins)","description":"Respond to a pre-check-in for an assignment.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/pre-checkins"}}}},"401":{"description":"Unauthorized"}},"operationId":"postPreCheckinsRespond"}},"\/projects":{"get":{"tags":["Project"],"summary":"List Project","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/projects"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/projects"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getProjectsList"},"post":{"tags":["Project"],"summary":"Create Project","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postProjects"}},"\/projects\/reporting-forms":{"get":{"tags":["Project"],"summary":"Reporting forms (Project)","description":"Get reporting forms for indicated projects","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"401":{"description":"Unauthorized"}},"operationId":"getProjectsReportingForms"}},"\/projects\/{id}":{"get":{"tags":["Project"],"summary":"Read Project","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getProjectsById"},"put":{"tags":["Project"],"summary":"Update Project","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putProjectsById"}},"\/projects\/{id}\/forms":{"get":{"tags":["Project"],"summary":"Forms (Project)","description":"Get project rendered through a given form.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"401":{"description":"Unauthorized"}},"operationId":"getProjectsForms"}},"\/projects\/{id}\/reporting-forms":{"get":{"tags":["Project"],"summary":"Reporting forms (Project)","description":"Get reporting forms attached to a particular project.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/projects"}}}},"401":{"description":"Unauthorized"}},"operationId":"getProjectsReportingForms"}},"\/ratings":{"get":{"tags":["Ratings"],"summary":"List Ratings","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/ratings"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/ratings"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getRatingsList"},"post":{"tags":["Ratings"],"summary":"Create Ratings","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ratings"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ratings"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postRatings"}},"\/ratings\/criteria":{"get":{"tags":["Ratings"],"summary":"Criteria (Ratings)","description":"List all available rating criteria for this tenant, including their names, maximum values, and weights.","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ratings"}}}},"401":{"description":"Unauthorized"}},"operationId":"getRatingsCriteria"}},"\/ratings\/{id}":{"get":{"tags":["Ratings"],"summary":"Read Ratings","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ratings"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getRatingsById"},"put":{"tags":["Ratings"],"summary":"Update Ratings","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ratings"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ratings"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putRatingsById"},"delete":{"tags":["Ratings"],"summary":"Delete Ratings","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteRatingsById"}},"\/reporting-webhooks\/submissions":{"post":{"tags":["Reporting"],"summary":"Submit reporting webhook","description":"Vendor webhook receiver for form automation submissions.","operationId":"postReportingSubmissions","requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Submission received"},"401":{"description":"Unauthorized"},"403":{"description":"Reporting vendor not enabled"}}}},"\/settings":{"get":{"tags":["Setting"],"summary":"List Setting","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/settings"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/settings"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getSettingsList"}},"\/settings\/{id}":{"get":{"tags":["Setting"],"summary":"Read Setting","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/settings"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getSettingsById"},"put":{"tags":["Setting"],"summary":"Update Setting","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/settings"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/settings"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putSettingsById"}},"\/special-dates":{"get":{"tags":["Special Dates"],"summary":"List Special Dates","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/special-dates"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/special-dates"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getSpecialDatesList"},"post":{"tags":["Special Dates"],"summary":"Create Special Dates","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/special-dates"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/special-dates"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postSpecialDates"}},"\/special-dates\/{id}":{"get":{"tags":["Special Dates"],"summary":"Read Special Dates","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/special-dates"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getSpecialDatesById"},"put":{"tags":["Special Dates"],"summary":"Update Special Dates","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/special-dates"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/special-dates"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putSpecialDatesById"},"delete":{"tags":["Special Dates"],"summary":"Delete Special Dates","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteSpecialDatesById"}},"\/tenant\/features":{"get":{"tags":["Tenants"],"summary":"Get tenant active features","description":"Retrieve active feature identifiers for the current tenant.","operationId":"getTenantActiveFeatures","responses":{"200":{"description":"List of active feature identifiers","content":{"application\/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Unauthorized"}}}},"\/tenants":{"get":{"tags":["Tenants"],"summary":"List tenants by email","description":"Retrieve a list of tenants associated with an email address.","operationId":"getTenantsList","security":[],"parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","format":"email"},"description":"Email address to search tenants for"},{"name":"group","in":"query","required":false,"schema":{"type":"string"},"description":"Optional group filter"}],"responses":{"200":{"description":"List of matching tenants","content":{"application\/json":{"schema":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","properties":{"identifier":{"type":"string"},"name":{"type":"string"},"logo":{"type":"string"}}}}}}}}}}}},"\/tenants\/{identifier}":{"get":{"tags":["Tenants"],"summary":"Get tenant details","description":"Retrieve details for a specific tenant by identifier.","operationId":"getTenantByIdentifier","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"description":"Tenant identifier"}],"responses":{"200":{"description":"Tenant details"},"401":{"description":"Unauthorized"},"404":{"description":"Tenant not found"}}}},"\/time-slots":{"get":{"tags":["Time slots"],"summary":"List Time slots","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/time-slots"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/time-slots"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getTimeSlotsList"}},"\/time-slots\/{id}":{"get":{"tags":["Time slots"],"summary":"Read Time slots","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/time-slots"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getTimeSlotsById"}},"\/wage-charges":{"get":{"tags":["Wage Charge"],"summary":"List Wage Charge","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-charges"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-charges"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWageChargesList"}},"\/wage-charges\/{id}":{"get":{"tags":["Wage Charge"],"summary":"Read Wage Charge","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-charges"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWageChargesById"}},"\/wage-profiles":{"get":{"tags":["Wage Profile"],"summary":"List Wage Profile","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-profiles"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-profiles"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWageProfilesList"}},"\/wage-profiles\/{id}":{"get":{"tags":["Wage Profile"],"summary":"Read Wage Profile","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-profiles"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWageProfilesById"}},"\/wage-proposals":{"get":{"tags":["Wage Proposal"],"summary":"List Wage Proposal","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-proposals"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-proposals"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWageProposalsList"},"post":{"tags":["Wage Proposal"],"summary":"Create Wage Proposal","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postWageProposals"}},"\/wage-proposals\/proposable-wage-types":{"get":{"tags":["Wage Proposal"],"summary":"Proposable wage types (Wage Proposal)","description":"Get the proposable wage types.","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"getWageProposalsProposableWageTypes"}},"\/wage-proposals\/{id}":{"get":{"tags":["Wage Proposal"],"summary":"Read Wage Proposal","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWageProposalsById"},"put":{"tags":["Wage Proposal"],"summary":"Update Wage Proposal","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putWageProposalsById"},"delete":{"tags":["Wage Proposal"],"summary":"Delete Wage Proposal","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteWageProposalsById"}},"\/wage-proposals\/{id}\/accept":{"put":{"tags":["Wage Proposal"],"summary":"Accept (Wage Proposal)","description":"Accept an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"putWageProposalsAccept"}},"\/wage-proposals\/{id}\/add-files":{"post":{"tags":["Wage Proposal"],"summary":"Add files (Wage Proposal)","description":"Add new files to an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"postWageProposalsAddFiles"}},"\/wage-proposals\/{id}\/delete-files":{"delete":{"tags":["Wage Proposal"],"summary":"Delete files (Wage Proposal)","description":"Delete files from an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"deleteWageProposalsDeleteFiles"}},"\/wage-proposals\/{id}\/reject":{"put":{"tags":["Wage Proposal"],"summary":"Reject (Wage Proposal)","description":"Reject an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"putWageProposalsReject"}},"\/wage-proposals\/{id}\/request-updates":{"post":{"tags":["Wage Proposal"],"summary":"Request updates (Wage Proposal)","description":"Request updates for an assignment wage proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"postWageProposalsRequestUpdates"}},"\/wage-types":{"get":{"tags":["Wage Type"],"summary":"List Wage Type","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-types"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/wage-types"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWageTypesList"}},"\/wage-types\/{id}":{"get":{"tags":["Wage Type"],"summary":"Read Wage Type","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/wage-types"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWageTypesById"}},"\/webhooks":{"get":{"tags":["Webhooks"],"summary":"List Webhooks","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/webhooks"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/webhooks"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWebhooksList"},"post":{"tags":["Webhooks"],"summary":"Create Webhooks","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/webhooks"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/webhooks"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postWebhooks"}},"\/webhooks\/{id}":{"get":{"tags":["Webhooks"],"summary":"Read Webhooks","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/webhooks"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWebhooksById"},"put":{"tags":["Webhooks"],"summary":"Update Webhooks","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/webhooks"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/webhooks"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putWebhooksById"},"delete":{"tags":["Webhooks"],"summary":"Delete Webhooks","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteWebhooksById"}},"\/work-quota-profiles":{"get":{"tags":["Work Quota Profile"],"summary":"List Work Quota Profile","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/work-quota-profiles"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/work-quota-profiles"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWorkQuotaProfilesList"}},"\/work-quota-profiles\/{id}":{"get":{"tags":["Work Quota Profile"],"summary":"Read Work Quota Profile","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-quota-profiles"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWorkQuotaProfilesById"}},"\/work-time-proposals":{"get":{"tags":["Work Time Proposal"],"summary":"List Work Time Proposal","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/work-time-proposals"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWorkTimeProposalsList"},"post":{"tags":["Work Time Proposal"],"summary":"Create Work Time Proposal","description":"Resource create","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"responses":{"201":{"description":"Resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"401":{"description":"Unauthorized"},"422":{"description":"Validation error"}},"operationId":"postWorkTimeProposals"}},"\/work-time-proposals\/{id}":{"get":{"tags":["Work Time Proposal"],"summary":"Read Work Time Proposal","description":"Resource read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"getWorkTimeProposalsById"},"put":{"tags":["Work Time Proposal"],"summary":"Update Work Time Proposal","description":"Resource update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"responses":{"200":{"description":"Resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"},"422":{"description":"Validation error"}},"operationId":"putWorkTimeProposalsById"},"delete":{"tags":["Work Time Proposal"],"summary":"Delete Work Time Proposal","description":"Resource delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"204":{"description":"Resource deleted"},"401":{"description":"Unauthorized"},"404":{"description":"Resource not found"}},"operationId":"deleteWorkTimeProposalsById"}},"\/work-time-proposals\/{id}\/accept":{"put":{"tags":["Work Time Proposal"],"summary":"Accept (Work Time Proposal)","description":"Accept an assignment work time proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"putWorkTimeProposalsAccept"}},"\/work-time-proposals\/{id}\/reject":{"put":{"tags":["Work Time Proposal"],"summary":"Reject (Work Time Proposal)","description":"Reject an assignment work time proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"putWorkTimeProposalsReject"}},"\/work-time-proposals\/{id}\/request-updates":{"post":{"tags":["Work Time Proposal"],"summary":"Request updates (Work Time Proposal)","description":"Request updates for an assignment work time proposal.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/work-time-proposals"}}}},"401":{"description":"Unauthorized"}},"operationId":"postWorkTimeProposalsRequestUpdates"}},"\/work-times":{"get":{"tags":["Work Times"],"summary":"List Work Times","description":"Resource listing","parameters":[{"name":"fields","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to include in the response"},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of fields to sort by. Prefix with - for descending, + for ascending"},{"name":"embed","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated list of relations to embed in the response"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean"},"description":"Wrap the response in an envelope object: {\"response\": <data>}"},{"name":"callback","in":"query","required":false,"schema":{"type":"string"},"description":"JSONP callback function name. Enables envelope mode automatically."}],"responses":{"200":{"description":"Successful response. Returns a bare array by default, or wrapped in `{\"response\": [...]}` when `?envelope=true` is set.","content":{"application\/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#\/components\/schemas\/work-times"},"title":"Default (bare array)"},{"type":"object","title":"Envelope mode (?envelope=true)","properties":{"response":{"type":"array","items":{"$ref":"#\/components\/schemas\/work-times"}}}}]}}}},"401":{"description":"Unauthorized"}},"operationId":"getWorkTimesList"}}},"components":{"schemas":{"assignment-billings":{"type":"object","properties":{"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"billing_profile_id":{"type":"integer","title":"Profile Id","readOnly":true,"example":1},"type":{"type":"string","title":"Payment Type","readOnly":true,"example":""},"billed_amount":{"type":"number","title":"Billed Amount","readOnly":true,"example":0},"base_value":{"type":"number","title":"Base Value","readOnly":true,"example":0},"factor":{"type":"number","format":"float","title":"Factor","readOnly":true,"example":0},"is_disabled":{"type":"integer","title":"Disabled","readOnly":true,"example":0},"is_valid":{"type":"integer","title":"Valid","readOnly":true,"example":0},"billing_component":{"type":"object","title":"Billing Component","readOnly":true},"billing_component_value":{"type":"object","title":"Billing Component Value","readOnly":true},"billing_component.name":{"type":"string","title":"Billing Component Name","readOnly":true,"example":""},"billing_component.external_id":{"type":"string","title":"Billing Component External ID","readOnly":true,"example":""},"billing_component.external_cost":{"type":"string","title":"Billing Component External cost","readOnly":true,"example":""},"billing_component.currency_format":{"type":"string","title":"Billing Component Currency Format","readOnly":true,"example":""},"billing_component_value.unit":{"type":"string","title":"Billing Component Unit","readOnly":true,"example":""}},"title":"Assignment Billings","description":"Billing calculations for assignments, including billed amounts, base values, factors, and associated billing components details. Embeddable: billingAssignment, billingProfile."},"assignment-contract":{"type":"object","properties":{"assignment_id":{"type":"integer","title":"Assignment Id","readOnly":true,"example":1},"document_template_id":{"type":"integer","title":"Document Template Id","readOnly":true,"example":1},"planner_id":{"type":"integer","title":"Planner Id","readOnly":true,"example":1},"type":{"type":"string","title":"Document Type","readOnly":true,"example":""},"file":{"type":"string","title":"Document file","readOnly":true,"example":""},"data":{"type":"array","title":"Document data","readOnly":true,"example":[]},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Assignment Contract","description":"Contract documents generated for assignments, including document templates and file references. Special actions: file. Embeddable: contractAssignment.","example":{"assignment_id":6068,"document_template_id":3,"planner_id":3,"type":1,"file":"contracts\/2025\/contract-6068.pdf","data":{"contract_number":"CTR-2025-6068","signed":true},"created_at":"2025-04-14 11:00:00"}},"assignment-employment-reports":{"type":"object","properties":{"assignment_id":{"type":"integer","title":"Assignment Id","readOnly":true,"example":1},"planner_id":{"type":"integer","title":"Planner Id","readOnly":true,"example":1},"type":{"type":"integer","title":"Report Type","readOnly":true,"example":0},"data":{"type":"array","title":"Document data","readOnly":true,"example":[]},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated at Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated at Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated at Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Assignment Employment Reports","description":"Employment report documents generated for assignments, including report type and associated data. Embeddable: reportAssignment.","example":{"assignment_id":6068,"planner_id":3,"type":1,"data":{"report_number":"RPT-2025-0042","status":"completed"},"created_at":"2025-04-16 09:30:00","updated_at":"2025-04-16 09:30:00"}},"assignment-wages":{"type":"object","properties":{"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"wage_profile_id":{"type":"integer","title":"Profile Id","readOnly":true,"example":1},"type":{"type":"string","title":"Payment Type","readOnly":true,"example":""},"payable_amount":{"type":"number","title":"Payable Amount","readOnly":true,"example":0},"base_value":{"type":"number","title":"Base Value","readOnly":true,"example":0},"factor":{"type":"number","format":"float","title":"Factor","readOnly":true,"example":0},"is_disabled":{"type":"integer","title":"Disabled","readOnly":true,"example":0},"is_valid":{"type":"integer","title":"Valid","readOnly":true,"example":0},"wage_type":{"type":"object","title":"Wage Type","readOnly":true},"wage_type_value":{"type":"object","title":"Wage Type Value","readOnly":true},"wage_type.name":{"type":"string","title":"Wage Type Name","readOnly":true,"example":""},"wage_type.external_id":{"type":"string","title":"Wage Type External ID","readOnly":true,"example":""},"wage_type.external_cost":{"type":"string","title":"Wage Type External cost","readOnly":true,"example":""},"wage_type.currency_format":{"type":"string","title":"Wage Type Currency Format","readOnly":true,"example":""},"wage_type_value.unit":{"type":"string","title":"Wage Type Unit","readOnly":true,"example":""},"wage_charges":{"type":"object","title":"Wage Charges","readOnly":true}},"title":"Assignment Wages","description":"Wage calculations for assignments, including payable amounts, base values, factors, and associated wage type details. Embeddable: wageAssignment, wageProfile.","example":{"assignment_id":6068,"wage_profile_id":2,"type":1,"payable_amount":216.75,"base_value":25.5,"factor":1,"is_disabled":0,"is_valid":1,"wage_type":null,"wage_type_value":null,"wage_type.name":"Hourly Rate","wage_type.external_id":"HR-001","wage_type.external_cost":"25.50","wage_type.currency_format":"CHF","wage_type_value.unit":"hours"}},"assignments":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee Id","readOnly":true,"example":1},"event_function_id":{"type":"integer","title":"Event Function Id","readOnly":true,"example":1},"event_id":{"type":"integer","title":"Event Id","readOnly":true,"example":1},"project_id":{"type":"integer","title":"Project Id","readOnly":true,"example":1},"client_id":{"type":"integer","title":"Client Id","readOnly":true,"example":1},"contact_id":{"type":"integer","title":"Contact Id","readOnly":true,"example":1},"planner_id":{"type":"integer","title":"Planner Id","readOnly":true,"example":1},"location_id":{"type":"integer","title":"Location Id","readOnly":true,"example":1},"wage_profile_id":{"type":"integer","title":"Assignment Wage Profile Id","readOnly":true,"example":1},"billing_profile_id":{"type":"integer","title":"Assignment Billing Profile Id","readOnly":true,"example":1},"event_function.id":{"type":"integer","title":"Event Function ID","description":"ID of the event function","readOnly":true,"example":0},"event_function.function_id":{"type":"integer","title":"Function ID","description":"ID of the event function","readOnly":true,"example":0},"event_function.description":{"type":"string","title":"Event Function Description","description":"Short description of the event function referenced by the assignment.","readOnly":true,"example":""},"event_function.location.name":{"type":"string","title":"Event Function Location","description":"The assignments event function location name.","readOnly":true,"example":""},"event_function.start":{"type":"string","format":"date-time","title":"Event Function Start Date-Time","description":"The assignments event function start time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"event_function.end":{"type":"string","format":"date-time","title":"Event Function End Date-Time","description":"The assignments event function end time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"event_function.is_locked":{"type":"integer","title":"Event Function is locked","description":"The assignments event function is locked.","readOnly":true,"example":0},"event_function.wage_profile_id":{"type":"integer","title":"Event Function Wage Profile Id","readOnly":true,"example":1},"event_function.function":{"type":"string","title":"Event Function Name","description":"Name of the event function","readOnly":true,"example":""},"event_function.function.project_leader":{"type":"integer","title":"Event Function Team Leader At The Event Level","description":"Flag that decides whether the assignments event function has team leader role at the event level or not.","readOnly":true,"example":0},"event.name":{"type":"string","title":"Event Name","description":"The name of the event that the assignment belongs to.","readOnly":true,"example":""},"event.start":{"type":"string","format":"date-time","title":"Event Start Date-Time","description":"The start time of the event that the assignment belongs to.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"event.end":{"type":"string","format":"date-time","title":"Event End Date-Time","description":"The end time of the event that the assignment belongs to.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"event.auto_assign_enabled":{"type":"integer","title":"Event Auto Assign Enabled","description":"The flag that states whether the auto assign is enabled on the event or not.","readOnly":true,"example":0},"event.location.name":{"type":"string","title":"Event Location Name","description":"The assignments event location name","readOnly":true,"example":""},"event.client.name":{"type":"string","title":"Event client name","description":"Name of the event client.","readOnly":true,"example":""},"event.contact.first_name":{"type":"string","title":"Client contact first name","description":"First name of the assignment client contact.","readOnly":true,"example":""},"event.contact.last_name":{"type":"string","title":"Client contact last name","description":"Last name of the assignment client contact.","readOnly":true,"example":""},"event.planner.first_name":{"type":"string","title":"Planner first name","description":"First name of the assignment planner.","readOnly":true,"example":""},"event.planner.last_name":{"type":"string","title":"Planner last name","description":"Last name of the assignment planner.","readOnly":true,"example":""},"event.project.name":{"type":"string","title":"Project Name","description":"Name of the assignment project.","readOnly":true,"example":""},"event.tags":{"type":"array","title":"Event tags","description":"Tags of the assignment event.","readOnly":true,"example":[]},"project.event.client.id":{"type":"string","title":"Project client ID","description":"ID of the project client.","readOnly":true,"example":""},"project.event.client.name":{"type":"string","title":"Project client name","description":"Name of the project client.","readOnly":true,"example":""},"project.event.contact.id":{"type":"string","title":"Project client contact ID","description":"ID of the project client contact.","readOnly":true,"example":""},"project.event.contact.first_name":{"type":"string","title":"Project client contact first name","description":"First name of the project client contact.","readOnly":true,"example":""},"project.event.contact.last_name":{"type":"string","title":"Project client contact last name","description":"Last name of the project client contact.","readOnly":true,"example":""},"status":{"type":"integer","title":"Status","description":"The status of the assignment. **Values:**   `1` -> Invited,  `2` -> Ignored,  `3` -> Applied,  `4` -> Applied (maybe),  `5` -> Assigned (provisional),  `6` -> Assigned,  `7` -> Confirmed,  `8` -> Denied.","readOnly":false,"enum":[1,2,3,4,8,6,5,7],"example":1},"remarks":{"type":"string","title":"Remarks","description":"Remarks on the assignment.","readOnly":false,"example":""},"notes":{"type":"string","title":"Notes","description":"Notes on the assignment.","readOnly":true,"example":""},"start":{"type":"string","format":"date-time","title":"Start Date-Time","description":"The start time of the assignment.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"end":{"type":"string","format":"date-time","title":"End Date-Time","description":"The end time of the assignment","readOnly":true,"example":"2024-01-15T08:30:00Z"},"break_start":{"type":"string","format":"date-time","title":"Break Start Date-Time","description":"The start time of the assignment break.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"break_end":{"type":"string","format":"date-time","title":"Break End Date-Time","description":"The end time of the assignment break","readOnly":true,"example":"2024-01-15T08:30:00Z"},"planned_work_time":{"type":"string","title":"Planned Work Time including breaks","description":"The assignments planned work time including breaks.","readOnly":true,"example":""},"planned_work_time_without_break":{"type":"string","title":"Planned Work Time excluding breaks","description":"The assignments planned work time excluding breaks.","readOnly":true,"example":""},"planned_break_time":{"type":"string","title":"Planned Break Time","description":"The assignments planned break time.","readOnly":true,"example":""},"is_approved":{"type":"integer","title":"Approved","description":"Is assignment data approved by planner","readOnly":true,"example":0},"pay_amount":{"type":"number","format":"float","title":"Approved pay amount","description":"Wage amount that has been approved for payment","readOnly":true,"minimum":0,"example":0},"approved_on":{"type":"string","format":"date-time","title":"Payment Approval Date-Time","description":"Date and time when the payment was approved","readOnly":true,"example":"2024-01-15T08:30:00Z"},"approved_by_planner_id":{"type":"integer","title":"Id of the planner that approved the payment","readOnly":true,"example":1},"paid_on":{"type":"string","format":"date-time","title":"Payment Date-Time","description":"Date and time when the payment was made","readOnly":false,"example":"2024-01-15T08:30:00Z"},"assigned_by_availability":{"type":"integer","title":"Assigned by availability","description":"Whether the employee was assigned by its availability or not","readOnly":true,"example":0},"auto_assigned":{"type":"integer","title":"Auto assigned","description":"Whether the employee was assigned automatically by the system or not","readOnly":true,"example":0},"team_leader_level":{"type":"integer","title":"Team Leader Level","description":"Team leader level at the event level or project level","readOnly":true,"example":0},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","description":"The date the assignment was created.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","description":"The date the assignment was updated.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"open_actions":{"type":"object","title":"Open Actions","description":"Contains information about all open actions that can be performed on an assignment","readOnly":true},"configurations":{"type":"object","title":"Configurations","description":"Contains information about assignment specific configuration","readOnly":true},"location":{"type":"string","title":"Assignment Location","description":"Assignment location address.","readOnly":true,"example":""},"statistics":{"type":"string","title":"Statistics","description":"Contains some filled positions statistics regarding the assigment","readOnly":true,"example":""},"billing_type":{"type":"integer","title":"Billing Type","description":"The assignment billing type.","readOnly":true,"example":0},"event_function.start_date":{"type":"string","format":"date","title":"Event Function Start Date-Time Date","description":"The assignments event function start time.","readOnly":true,"example":"2024-01-15"},"event_function.start_time":{"type":"string","format":"time","title":"Event Function Start Date-Time Time","description":"The assignments event function start time.","readOnly":true,"example":"08:30:00"},"event_function.end_date":{"type":"string","format":"date","title":"Event Function End Date-Time Date","description":"The assignments event function end time.","readOnly":true,"example":"2024-01-15"},"event_function.end_time":{"type":"string","format":"time","title":"Event Function End Date-Time Time","description":"The assignments event function end time.","readOnly":true,"example":"08:30:00"},"event.start_date":{"type":"string","format":"date","title":"Event Start Date-Time Date","description":"The start time of the event that the assignment belongs to.","readOnly":true,"example":"2024-01-15"},"event.start_time":{"type":"string","format":"time","title":"Event Start Date-Time Time","description":"The start time of the event that the assignment belongs to.","readOnly":true,"example":"08:30:00"},"event.end_date":{"type":"string","format":"date","title":"Event End Date-Time Date","description":"The end time of the event that the assignment belongs to.","readOnly":true,"example":"2024-01-15"},"event.end_time":{"type":"string","format":"time","title":"Event End Date-Time Time","description":"The end time of the event that the assignment belongs to.","readOnly":true,"example":"08:30:00"},"start_date":{"type":"string","format":"date","title":"Start Date-Time Date","description":"The start time of the assignment.","readOnly":true,"example":"2024-01-15"},"start_time":{"type":"string","format":"time","title":"Start Date-Time Time","description":"The start time of the assignment.","readOnly":true,"example":"08:30:00"},"end_date":{"type":"string","format":"date","title":"End Date-Time Date","description":"The end time of the assignment","readOnly":true,"example":"2024-01-15"},"end_time":{"type":"string","format":"time","title":"End Date-Time Time","description":"The end time of the assignment","readOnly":true,"example":"08:30:00"},"break_start_date":{"type":"string","format":"date","title":"Break Start Date-Time Date","description":"The start time of the assignment break.","readOnly":true,"example":"2024-01-15"},"break_start_time":{"type":"string","format":"time","title":"Break Start Date-Time Time","description":"The start time of the assignment break.","readOnly":true,"example":"08:30:00"},"break_end_date":{"type":"string","format":"date","title":"Break End Date-Time Date","description":"The end time of the assignment break","readOnly":true,"example":"2024-01-15"},"break_end_time":{"type":"string","format":"time","title":"Break End Date-Time Time","description":"The end time of the assignment break","readOnly":true,"example":"08:30:00"},"approved_on_date":{"type":"string","format":"date","title":"Payment Approval Date-Time Date","description":"Date and time when the payment was approved","readOnly":true,"example":"2024-01-15"},"approved_on_time":{"type":"string","format":"time","title":"Payment Approval Date-Time Time","description":"Date and time when the payment was approved","readOnly":true,"example":"08:30:00"},"paid_on_date":{"type":"string","format":"date","title":"Payment Date-Time Date","description":"Date and time when the payment was made","readOnly":true,"example":"2024-01-15"},"paid_on_time":{"type":"string","format":"time","title":"Payment Date-Time Time","description":"Date and time when the payment was made","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","description":"The date the assignment was created.","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","description":"The date the assignment was created.","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","description":"The date the assignment was updated.","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","description":"The date the assignment was updated.","readOnly":true,"example":"08:30:00"}},"title":"Assignments","description":"Event assignments linking employees to event functions, including status, scheduling, payment, and work data. Special actions: status-map, status, teamsheet, open-actions, configurations, pay, reporting-forms, signed-work-data, signed-work-data-approvers, time. Embeddable: assignmentEmployee, assignmentEvent, assignmentProject, assignmentFunction, assignmentWageProfile, assignmentLocation, paysheets, work-times, wages, report, contract, work-time-proposals, wage-proposals, livestamps, checkins, pre-checkins.","example":{"id":6068,"employee_id":106,"event_function_id":312,"event_id":85,"project_id":14,"client_id":35,"contact_id":7,"planner_id":3,"location_id":8,"wage_profile_id":2,"event_function.id":312,"event_function.function_id":1,"event_function.description":"Main Hall Service","event_function.location.name":"Convention Center, Zurich","event_function.start":"2025-04-15 08:00:00","event_function.end":"2025-04-15 17:00:00","event_function.is_locked":0,"event_function.wage_profile_id":2,"event_function.function":"Catering Kellner Senior","event_function.function.project_leader":0,"event.name":"Annual Gala Dinner","event.start":"2025-04-15 07:00:00","event.end":"2025-04-15 23:00:00","event.auto_assign_enabled":0,"event.location.name":"Convention Center, Zurich","event.client.name":"Acme Corp","event.contact.first_name":"Maria","event.contact.last_name":"Schmidt","event.planner.first_name":"Thomas","event.planner.last_name":"Mueller","event.project.name":"Spring Gala 2025","event.tags":["gala","vip"],"project.event.client.id":"35","project.event.client.name":"Acme Corp","project.event.contact.id":"7","project.event.contact.first_name":"Maria","project.event.contact.last_name":"Schmidt","status":3,"remarks":"Please arrive 30 minutes early for briefing.","notes":"VIP section assignment.","start":"2025-04-15 08:00:00","end":"2025-04-15 17:00:00","break_start":"2025-04-15 12:00:00","break_end":"2025-04-15 12:30:00","planned_work_time":"09:00","planned_work_time_without_break":"08:30","planned_break_time":"00:30","is_approved":1,"pay_amount":255,"approved_on":"2025-04-16 09:00:00","approved_by_planner_id":3,"paid_on":"2025-04-30 10:00:00","assigned_by_availability":0,"auto_assigned":0,"team_leader_level":0,"created_at":"2025-03-20 14:00:00","updated_at":"2025-04-16 09:00:00","open_actions":null,"configurations":null,"location":"Convention Center, Bahnhofstrasse 10, 8001 Zurich","statistics":null,"billing_type":null}},"attributes":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"collection_id":{"type":"integer","title":"Project ID","readOnly":true,"example":1},"entity_id":{"type":"integer","title":"Entity ID","readOnly":true,"example":1},"type_id":{"type":"integer","title":"Attribute type ID","readOnly":true,"example":1},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Label","readOnly":true,"example":""},"language_id":{"type":"integer","title":"Language ID","readOnly":true,"example":1},"is_locked_employees":{"type":"integer","title":"Is locked for employees","readOnly":true,"example":0},"read_only_for_recruiting_forms":{"type":"integer","title":"Enable read-only for recruiting forms","readOnly":true,"example":0},"change_requires_planner_approval":{"type":"integer","title":"Field change requires planner approval","readOnly":true,"example":0},"deletable":{"type":"integer","title":"Is deletable","readOnly":true,"example":0}},"title":"Attribute","description":"Dynamic attribute definitions used across entities, including type, identifier, and language-specific labels. Embeddable: attributeCollection, languages.","example":{"id":15,"collection_id":3,"entity_id":106,"type_id":2,"identifier":"shoe_size","name":"Shoe Size","language_id":1,"is_locked_employees":0,"read_only_for_recruiting_forms":0,"deletable":1}},"automations":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"trigger_type":{"type":"string","title":"Trigger Type","readOnly":false,"example":""},"trigger_configuration":{"type":"string","title":"Trigger Configuration","readOnly":false,"example":""},"routine_type":{"type":"string","title":"Routine Type","readOnly":false,"example":""},"routine_configuration":{"type":"string","title":"Routine Configuration","readOnly":false,"example":""}},"title":"Automations","description":"Automation rules with configurable triggers and routines for workflow automation.","example":{"id":5,"trigger_type":"event.created","trigger_configuration":"{\"project_id\": 14}","routine_type":"send_notification","routine_configuration":"{\"template\": \"new_event_notification\", \"recipients\": \"assigned_planners\"}"}},"availability-requests":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","readOnly":true,"example":1},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"from":{"type":"string","title":"From date","readOnly":true,"example":""},"to":{"type":"string","title":"To date","readOnly":true,"example":""},"blocked_at":{"type":"string","title":"Request blocked at date","readOnly":true,"example":""},"completed_at":{"type":"string","title":"Request completed at date","readOnly":true,"example":""},"completed_by_enforcement":{"type":"integer","title":"Request completed by enforcement","readOnly":true,"example":0}},"title":"Availability Requests","description":"Availability request campaigns sent to employees, tracking request status, date ranges, and completion. Embeddable: employee, definition, availabilities.","example":{"id":12,"employee_id":106,"name":"April 2025 Availability","from":"2025-04-01","to":"2025-04-30","blocked_at":null,"completed_at":"2025-03-25 14:00:00","completed_by_enforcement":0}},"availability-requests-availabilities":{"type":"object","properties":{"availability_request_id":{"type":"integer","title":"Availability request ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","readOnly":true,"example":0},"availabilities":{"type":"array","title":"Availabilities","readOnly":false,"example":[]}},"title":"Availability Requests Availabilities","description":"Employee availability responses for availability requests, containing the submitted availability data per employee. Embeddable: availability-request, employee.","example":{"availability_request_id":12,"employee_id":106,"availabilities":[{"date":"2025-04-01","time_slot_id":5,"available":true},{"date":"2025-04-01","time_slot_id":6,"available":false}]}},"availability-requests-definitions":{"type":"object","properties":{"availability_request_id":{"type":"integer","title":"Availability request ID","readOnly":true,"example":42},"rules":{"type":"array","title":"Rules","readOnly":true,"example":[]},"time_slots":{"type":"array","title":"Time slots","readOnly":true,"example":[]},"requested_availabilities":{"type":"array","title":"Requested availabilities","readOnly":true,"example":[]}},"title":"Availability Requests Definitions","description":"Configuration definitions for availability requests, including rules, time slots, and requested availabilities. Embeddable: availability-request.","example":{"availability_request_id":12,"rules":[{"type":"minimum_slots","value":10}],"time_slots":[{"id":5,"name":"Morning Shift","from":"06:00","to":"14:00"},{"id":6,"name":"Evening Shift","from":"14:00","to":"22:00"}],"requested_availabilities":[{"date":"2025-04-01","time_slot_id":5},{"date":"2025-04-01","time_slot_id":6}]}},"billing-components":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"external_id":{"type":"string","title":"External ID","readOnly":true,"example":""},"external_cost":{"type":"string","title":"External cost","readOnly":true,"example":""},"type":{"type":"string","title":"Payment Type","description":"**Values:**   `rated` -> Rated,  `fixed` -> Permanent.","readOnly":true,"enum":["rated","fixed"],"example":"rated"},"base_type":{"type":"string","title":"Base Value Type","description":"**Values:**   `predefined` -> Predefined (by billing component),  `adjustable` -> Adjustable (by assignment).","readOnly":true,"enum":["predefined","adjustable"],"example":"predefined"},"rate_base":{"type":"string","title":"Rate Base","description":"**Values:**   `work hours` -> Work hours (h),  `distance` -> Distance (km),  `distance round-trip` -> Distance round-trip (km).","readOnly":true,"enum":["work hours","distance","distance round-trip"],"example":"work hours"},"amount":{"type":"number","format":"float","title":"Permanent Payment - Amount","description":"For billings of type permanent (fixed) this represents the billed amount.","readOnly":true,"example":0},"rate":{"type":"number","format":"float","title":"Rated Payment - Pay Rate","description":"For billings of type rated this represents the billed rate.","readOnly":true,"example":0},"day_types":{"type":"object","title":"Valid on Weekdays","description":"The billing component only applies on week days specified here. If no day is specified it`s valid on all days. 1 is Monday, 7 is Sunday","readOnly":true},"is_controllable":{"type":"integer","title":"Is Controllable","description":"Can be enabled or disabled per assignment","readOnly":true,"example":0},"is_active":{"type":"integer","title":"Is Activated by Default","description":"For controllable billing components: determines the default state, enabled or disabled.","readOnly":true,"example":0},"is_proposable":{"type":"integer","title":"Is Proposable","description":"Billing component can be selected when submitting work data.","readOnly":true,"example":0},"is_dynamic":{"type":"integer","title":"Is Dynamic","description":"Billing component is determined by a conditional attribute.","readOnly":true,"example":0},"is_quota_relevant":{"type":"integer","title":"Is Quota Relevant","description":"This billing component counts as a work quota.","readOnly":true,"example":0},"is_factor_editable":{"type":"integer","title":"Is rate factor editable","description":"For rated billing components, allows the factor to be edited manually.","readOnly":true,"example":0},"valid_from":{"type":"string","format":"time","title":"Valid From Time","description":"The billing component is valid starting with this time.","readOnly":true,"example":"08:30:00"},"valid_to":{"type":"string","format":"time","title":"Valid To Time","description":"The billing component is valid until this time.","readOnly":true,"example":"08:30:00"},"currency_format":{"type":"string","title":"Currency Format","readOnly":true,"example":""},"billing_component_values":{"type":"object","title":"Billing component values","description":"This can contain one value object if the billing is not dynamic or multiple value object together with the conditions they apply for if this is a dynamic billing component.","readOnly":true}},"title":"Billing component","description":"Billing component definitions including payment type (rated\/fixed), rate bases, controllability, and conditional dynamic values. Embeddable: billingComponentProfiles."},"billing-profiles":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Label","readOnly":true,"example":""},"status":{"type":"integer","title":"Status","description":"**Values:**   `1` -> Active,  `2` -> Archived.","readOnly":true,"enum":[1,2],"example":1}},"title":"Billing Profile","description":"Billing profiles grouping billing components with validity periods. Embeddable: profileBillingComponents."},"busy-dates":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee Id","readOnly":false,"example":1},"description":{"type":"string","title":"Description","readOnly":false,"example":""},"type":{"type":"string","title":"Type","description":"**Values:**   `vacation` -> Vacation,  `paid_training` -> Paid training,  `sick_leave` -> Sick leave,  `parental_leave` -> Parental leave,  `compensation_time` -> Compensation time,  `day_off` -> Day Off,  `no_show` -> No Show,  `other` -> Other.","readOnly":false,"enum":["vacation","paid_training","sick_leave","parental_leave","compensation_time","day_off","no_show","other"],"example":"vacation"},"reason":{"type":"string","title":"Reason (deprecated)","description":"This field is deprecated and will be removed in the future. Instead of this field use the type and description fields.","readOnly":false,"example":""},"start":{"type":"string","format":"date-time","title":"Start Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"end":{"type":"string","format":"date-time","title":"End Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"busy_entry":{"type":"object","title":"Busy date configuration"},"files_ids":{"type":"array","title":"Busy dates files IDs (optional)","description":"The IDs of the files to be added to the busy dates.","readOnly":false,"example":[]},"start_date":{"type":"string","format":"date","title":"Start Date-Time Date","readOnly":true,"example":"2024-01-15"},"start_time":{"type":"string","format":"time","title":"Start Date-Time Time","readOnly":true,"example":"08:30:00"},"end_date":{"type":"string","format":"date","title":"End Date-Time Date","readOnly":true,"example":"2024-01-15"},"end_time":{"type":"string","format":"time","title":"End Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Busy Dates","description":"Employee unavailability periods with type, date range, and optional file attachments. Embeddable: busyDatesEmployee.","example":{"id":30,"employee_id":106,"description":"Family vacation","type":"vacation","reason":"Vacation","start":"2025-07-01 00:00:00","end":"2025-07-14 23:59:59","busy_entry":{"all_day":true,"recurring":false},"files_ids":[]}},"change-requests":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","description":"The ID of the employee who submitted the change request.","readOnly":true,"example":1},"attribute_id":{"type":"integer","title":"Attribute ID","description":"The ID of the dynamic attribute the employee wants to change.","readOnly":true,"example":1},"value":{"type":"string","title":"Value","description":"New value from employee for the dynamic attribute.","readOnly":true},"data_type":{"type":"string","title":"Data type","description":"The data type of the dynamic attribute.","readOnly":true,"example":""}},"title":"Change Requests","description":"Employee requests to change the value of a dynamic attribute which has the setting \"Field change requires planner approval\" set."},"checkins":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"timestamp":{"type":"string","format":"date-time","title":"Timestamp Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"hash":{"type":"string","title":"Hash","description":"Optional check-in hash.","readOnly":true,"example":""},"metadata":{"type":"object","title":"Metadata","description":"Check-in metadata.","readOnly":true},"source":{"type":"integer","title":"Source","description":"**Values:**   `1` -> QR code,  `2` -> External,  `3` -> NFC.","readOnly":true,"enum":[1,2,3],"example":1},"type":{"type":"integer","title":"Type","description":"**Values:**   `1` -> Start,  `2` -> Break Start,  `3` -> Break End,  `4` -> End.","readOnly":true,"enum":[1,2,3,4],"example":1},"created_at":{"type":"string","title":"Created","readOnly":true,"example":""},"timestamp_date":{"type":"string","format":"date","title":"Timestamp Date-Time Date","readOnly":true,"example":"2024-01-15"},"timestamp_time":{"type":"string","format":"time","title":"Timestamp Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Check Ins","description":"Assignment check-in records with timestamps, GPS hash, metadata, source, and type information. Embeddable: checkInAssignment.","example":{"id":42,"assignment_id":6068,"timestamp":"2025-04-15 07:55:00","hash":"VALID953C4611296A827ABF8C47804D7","metadata":{"device":"iPhone 15","app_version":"3.2.1"},"source":1,"type":1,"created_at":"2025-04-15 07:55:00"}},"clients":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"relation_id":{"type":"integer","title":"Relation ID","readOnly":true,"example":1},"status":{"type":"integer","title":"Status","description":"**Values:**   `1` -> Active,  `2` -> Inactive.","readOnly":false,"enum":[1,2],"example":1},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"company":{"type":"string","title":"Company name","readOnly":false,"example":"","x-sc-dynamic":true},"address_first":{"type":"string","title":"Address line 1","readOnly":false,"example":"","x-sc-dynamic":true},"address_second":{"type":"string","title":"Address line 2","readOnly":false,"example":"","x-sc-dynamic":true},"zip":{"type":"string","title":"ZIP","readOnly":false,"example":"","x-sc-dynamic":true},"city":{"type":"string","title":"City","readOnly":false,"example":"","x-sc-dynamic":true},"country":{"type":"string","title":"Country","readOnly":false,"example":"","x-sc-dynamic":true},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Client","description":"Client organizations with status management and dynamic attributes. Embeddable: clientEvents, clientProjects, clientContacts. Supports dynamic fields.","example":{"id":35,"relation_id":2001,"status":1,"created_at":"2023-06-15 10:00:00","updated_at":"2025-02-20 11:30:00"}},"collections":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Name","readOnly":false,"example":""},"editable":{"type":"integer","title":"Editable","readOnly":true,"example":0},"visible":{"type":"integer","title":"Visible","readOnly":true,"example":0},"deleted":{"type":"integer","title":"Deleted","readOnly":false,"example":0}},"title":"Collections","description":"Configurable lookup collections (picklists) with CRUD operations on individual collection values. Special actions: values, objects, value.","example":{"id":3,"identifier":"qualifications","name":"Qualifications","editable":1,"visible":1,"deleted":0}},"contacts":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"relation_id":{"type":"integer","title":"Relation ID","readOnly":true,"example":1},"client_id":{"type":"integer","title":"Client ID","readOnly":false,"example":1},"status":{"type":"integer","title":"Status","description":"**Values:**   `1` -> Active,  `2` -> Inactive.","readOnly":false,"enum":[1,2],"example":1},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"firstname":{"type":"string","title":"First name","readOnly":false,"example":"","x-sc-dynamic":true},"lastname":{"type":"string","title":"Last name","readOnly":false,"example":"","x-sc-dynamic":true},"email":{"type":"string","title":"Email address","readOnly":false,"example":"","x-sc-dynamic":true},"mobile":{"type":"string","title":"Mobile number","readOnly":false,"example":"","x-sc-dynamic":true},"gender":{"type":"string","title":"Gender","readOnly":false,"example":"","x-sc-dynamic":true},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Contact","description":"Client contact persons with status management and dynamic attributes. Embeddable: contactClient, contactEvents, contactProjects. Supports dynamic fields.","example":{"id":7,"relation_id":3001,"client_id":35,"status":1,"created_at":"2023-06-15 10:30:00","updated_at":"2025-02-20 11:30:00"}},"counties":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"code":{"type":"string","title":"Code","readOnly":true,"example":""},"country":{"type":"string","title":"Country","readOnly":true,"example":""},"deleted":{"type":"integer","title":"Deleted","description":"Whether the county is deleted or not.","readOnly":true,"example":0}},"title":"Counties","description":"Geographic county\/region reference data with name, code, and country. Read-only reference data.","example":{"id":1,"name":"Zurich","code":"ZH","country":"Switzerland","deleted":0}},"documents":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","description":"The name of the document.","readOnly":true,"example":""},"document_template_id":{"type":"integer","title":"Document Template ID","description":"The ID of the document template this document used.","readOnly":true,"example":1},"document_template_name":{"type":"string","title":"Document Template Name","description":"The name of the document template this document used.","readOnly":true,"example":""},"planner_id":{"type":"integer","title":"Planner ID","description":"The ID of the planner that created this document","readOnly":true,"example":1},"planner_name":{"type":"string","title":"Planner Name","description":"The Name of the planner that created this document","readOnly":true,"example":""},"status":{"type":"string","title":"Status","description":"The current status of the document.","readOnly":true,"example":""},"created_at":{"type":"string","format":"date-time","title":"Created at","readOnly":true,"example":"2024-01-15T08:30:00Z"},"signed_at":{"type":"string","format":"date-time","title":"Signed at","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created on Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created on Time","readOnly":true,"example":"08:30:00"},"signed_at_date":{"type":"string","format":"date","title":"Signed at Date","readOnly":true,"example":"2024-01-15"},"signed_at_time":{"type":"string","format":"time","title":"Signed at Time","readOnly":true,"example":"08:30:00"}},"title":"Documents"},"employee-availability":{"type":"object","properties":{"time_slot_id":{"type":"integer","title":"Time slot ID","readOnly":true,"example":42},"date":{"type":"string","format":"date","title":"Availability date","readOnly":true,"example":"2024-01-15"},"employee_id":{"type":"integer","title":"Employee ID","readOnly":true,"example":42},"availability_request_name":{"type":"string","title":"Availability request name","readOnly":true,"example":""},"planner_name":{"type":"string","title":"Availability planner name","readOnly":true,"example":""},"completed_at":{"type":"string","format":"date-time","title":"Request completed at","readOnly":true,"example":"2024-01-15T08:30:00Z"},"completed_at_date":{"type":"string","format":"date","title":"Request completed at Date","readOnly":true,"example":"2024-01-15"},"completed_at_time":{"type":"string","format":"time","title":"Request completed at Time","readOnly":true,"example":"08:30:00"}},"title":"Employee Availability","description":"Aggregated employee availability data per time slot and date, including request and planner information. Embeddable: employee, timeSlot.","example":{"time_slot_id":5,"date":"2025-04-15","employee_id":106,"availability_request_name":"April 2025 Availability","planner_name":"Thomas Mueller","completed_at":"2025-03-25 14:00:00"}},"employee-framework-contracts":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","description":"The ID of the employee this framework contract belongs to.","readOnly":true,"example":1},"document_id":{"type":"integer","title":"Document ID","description":"The ID of the framework contract document","readOnly":true,"example":1},"status":{"type":"string","title":"Status","description":"The status of the framework contract.","readOnly":true,"enum":["active","archived"],"example":"active"},"valid_from":{"type":"string","format":"date","title":"Valid from","readOnly":true,"example":"2024-01-15"},"valid_to":{"type":"string","format":"date","title":"Valid to","readOnly":true,"example":"2024-01-15"},"created_at":{"type":"string","format":"date-time","title":"Created on","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created on Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created on Time","readOnly":true,"example":"08:30:00"}},"title":"Employee framework contracts"},"employee-notes":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","description":"The ID of the employee this note belongs to.","readOnly":false,"example":1},"planner_id":{"type":"integer","title":"Planner ID","description":"The ID of the planner who created or last modified the note. Automatically set to the authenticated planner.","readOnly":true,"example":1},"content":{"type":"string","title":"Content","description":"The content of the note. HTML tags will be sanitized.","readOnly":false,"example":""},"created_at":{"type":"string","format":"date-time","title":"Created on","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated on","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created on Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created on Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Last update Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Last update Time","readOnly":true,"example":"08:30:00"}},"title":"Employee Notes","description":"Planner-created notes attached to employees with HTML content support. Embeddable: employee.","example":{"id":33,"employee_id":106,"planner_id":3,"content":"Very reliable. Preferred for VIP events.","created_at":"2025-01-15 09:00:00","updated_at":"2025-03-10 14:22:35"}},"employee-pictures":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee Id","readOnly":true,"example":1},"file_id":{"type":"integer","title":"File Id","readOnly":true,"example":1},"order":{"type":"integer","title":"Order index","readOnly":false,"example":0},"is_profile_picture":{"type":"integer","title":"Is Profile Picture","readOnly":false,"example":0}},"title":"Employee Pictures","description":"Employee profile pictures with ordering and profile picture designation. Embeddable: employee, file.","example":{"id":88,"employee_id":106,"file_id":450,"order":1,"is_profile_picture":1}},"employee-teams":{"type":"object","properties":{"employee_id":{"type":"integer","title":"Employee ID","readOnly":true,"example":1},"team_id":{"type":"integer","title":"Team ID","readOnly":true,"example":0},"team_name":{"type":"string","title":"Team name","readOnly":true,"example":""},"team_created_at":{"type":"string","format":"date-time","title":"Team Created At Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"team_created_at_date":{"type":"string","format":"date","title":"Team Created At Date-Time Date","readOnly":true,"example":"2024-01-15"},"team_created_at_time":{"type":"string","format":"time","title":"Team Created At Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Employee Teams","description":"Team membership records linking employees to teams. Embeddable: employee.","example":{"employee_id":106,"team_id":4,"team_name":"Zurich Catering A-Team","team_created_at":"2023-01-10 08:00:00"}},"employees":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"status":{"type":"integer","title":"Status","description":"**Values:**   `0` -> Uncompleted,  `1` -> Applicant,  `2` -> Provisional candidate,  `3` -> Candidate,  `4` -> Active,  `5` -> Inactive,  `6` -> Deleted.","readOnly":false,"enum":[0,1,2,3,4,5,6],"example":0},"wage_profile_id":{"type":"integer","title":"Wage Profile ID","readOnly":false,"example":1},"contract_type_id":{"type":"string","title":"Contract Type","readOnly":false},"employment_type":{"type":"integer","title":"Employment Type","description":"**Values:**   `1` -> Flexible,  `2` -> Fixed,  `3` -> External.","readOnly":false,"enum":[1,2,3],"example":1},"created_at":{"type":"string","format":"date-time","title":"Created on Date-Time","description":"The date the employee was created in the system.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated on Date-Time","description":"The date the employee was last updated in the system.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"reminded_at":{"type":"string","format":"date-time","title":"Reminded on Date-Time","description":"The date the employee was last reminded to complete the recruiting process.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"last_logged_in_at":{"type":"string","format":"date-time","title":"Logged in on Date-Time","description":"The date the employee was last logged in on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"last_active_at":{"type":"string","format":"date-time","title":"Last active on Date-Time","description":"The date the employee was last active on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"activated_at":{"type":"string","format":"date-time","title":"Activated on Date-Time","description":"The date the employee was activated on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"deactivated_at":{"type":"string","format":"date-time","title":"Deactivated on Date-Time","description":"The date the employee was deactivated on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"password_expires_at":{"type":"string","format":"date-time","title":"Password expires at Date-Time","description":"The date when the employee password will expire.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"employee_tags":{"type":"array","title":"Tags","readOnly":true,"example":[]},"employee_notes":{"type":"string","title":"Employee Notes","readOnly":true,"example":""},"firstname":{"type":"string","title":"First name","readOnly":false,"example":"","x-sc-dynamic":true},"lastname":{"type":"string","title":"Last name","readOnly":false,"example":"","x-sc-dynamic":true},"email":{"type":"string","title":"Email address","readOnly":false,"example":"","x-sc-dynamic":true},"mobile":{"type":"string","title":"Mobile number","readOnly":false,"example":"","x-sc-dynamic":true},"address_first":{"type":"string","title":"Address line 1","readOnly":false,"example":"","x-sc-dynamic":true},"address_second":{"type":"string","title":"Address line 2","readOnly":false,"example":"","x-sc-dynamic":true},"zip":{"type":"string","title":"ZIP","readOnly":false,"example":"","x-sc-dynamic":true},"city":{"type":"string","title":"City","readOnly":false,"example":"","x-sc-dynamic":true},"country":{"type":"string","title":"Country","readOnly":false,"example":"","x-sc-dynamic":true},"qualifications":{"type":"string","title":"Qualifications","readOnly":false,"example":"","x-sc-dynamic":true},"birthday":{"type":"string","title":"Birthday","readOnly":false,"example":"","x-sc-dynamic":true},"gender":{"type":"string","title":"Gender","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_40":{"type":"string","title":"Dynamic Field 40","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_45":{"type":"string","title":"Multiple choice with levels","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_54":{"type":"string","title":"File upload","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_55":{"type":"string","title":"upload","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_78":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_88":{"type":"string","title":"File [private]","readOnly":false,"example":"","x-sc-dynamic":true},"communication_language":{"type":"string","title":"Communication language","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_97":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_108":{"type":"string","title":"Hourly Salary","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_122":{"type":"string","title":"clothing size","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_124":{"type":"string","title":"Filed with gender","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_129":{"type":"string","title":"File [public]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_135":{"type":"string","title":"Document 1","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_136":{"type":"string","title":"Document 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_155":{"type":"string","title":"Level123","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_156":{"type":"string","title":"Languages","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_161":{"type":"string","title":"Multiple choice with levels","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_164":{"type":"string","title":"File upload","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_165":{"type":"string","title":"File upload 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_166":{"type":"string","title":"Multiple choice lvls 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_171":{"type":"string","title":"Picture 3","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_172":{"type":"string","title":"Poza 4","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_187":{"type":"string","title":"Certificate of study","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_188":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_191":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_203":{"type":"string","title":"Upload 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_208":{"type":"string","title":"Phone","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_209":{"type":"string","title":"Time field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_211":{"type":"string","title":"\u0393\u03b9\u03ce\u03c4\u03b7\u03c2 ft \u03a4\u03c3\u03b1\u03bb\u03af\u03ba\u03b7\u03c2 - \u03a4\u03bf \u039c\u03b1\u03b3\u03b1\u03b6\u03af ","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_212":{"type":"string","title":"Work Place","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_213":{"type":"string","title":"upload mandatory","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_214":{"type":"string","title":"rte","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_216":{"type":"string","title":"Collection widget","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_217":{"type":"string","title":"Quellenst","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_218":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_219":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"external_staff_providers":{"type":"string","title":"External staff provider","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_228":{"type":"string","title":"SV Nucember","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_232":{"type":"string","title":"date&time","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_235":{"type":"string","title":"dresscode field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_236":{"type":"string","title":"test 1","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_237":{"type":"string","title":"test 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_238":{"type":"string","title":"simple text field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_239":{"type":"string","title":"text field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_240":{"type":"string","title":"RichTextEditor","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_241":{"type":"string","title":"Hourly Wage","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_242":{"type":"string","title":"Rich text editor 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_244":{"type":"string","title":"clothes size","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_247":{"type":"string","title":"test","readOnly":false,"example":"","x-sc-dynamic":true},"created_at_date":{"type":"string","format":"date","title":"Created on Date-Time Date","description":"The date the employee was created in the system.","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created on Date-Time Time","description":"The date the employee was created in the system.","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated on Date-Time Date","description":"The date the employee was last updated in the system.","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated on Date-Time Time","description":"The date the employee was last updated in the system.","readOnly":true,"example":"08:30:00"},"reminded_at_date":{"type":"string","format":"date","title":"Reminded on Date-Time Date","description":"The date the employee was last reminded to complete the recruiting process.","readOnly":true,"example":"2024-01-15"},"reminded_at_time":{"type":"string","format":"time","title":"Reminded on Date-Time Time","description":"The date the employee was last reminded to complete the recruiting process.","readOnly":true,"example":"08:30:00"},"last_logged_in_at_date":{"type":"string","format":"date","title":"Logged in on Date-Time Date","description":"The date the employee was last logged in on.","readOnly":true,"example":"2024-01-15"},"last_logged_in_at_time":{"type":"string","format":"time","title":"Logged in on Date-Time Time","description":"The date the employee was last logged in on.","readOnly":true,"example":"08:30:00"},"last_active_at_date":{"type":"string","format":"date","title":"Last active on Date-Time Date","description":"The date the employee was last active on.","readOnly":true,"example":"2024-01-15"},"last_active_at_time":{"type":"string","format":"time","title":"Last active on Date-Time Time","description":"The date the employee was last active on.","readOnly":true,"example":"08:30:00"},"activated_at_date":{"type":"string","format":"date","title":"Activated on Date-Time Date","description":"The date the employee was activated on.","readOnly":true,"example":"2024-01-15"},"activated_at_time":{"type":"string","format":"time","title":"Activated on Date-Time Time","description":"The date the employee was activated on.","readOnly":true,"example":"08:30:00"},"deactivated_at_date":{"type":"string","format":"date","title":"Deactivated on Date-Time Date","description":"The date the employee was deactivated on.","readOnly":true,"example":"2024-01-15"},"deactivated_at_time":{"type":"string","format":"time","title":"Deactivated on Date-Time Time","description":"The date the employee was deactivated on.","readOnly":true,"example":"08:30:00"},"password_expires_at_date":{"type":"string","format":"date","title":"Password expires at Date-Time Date","description":"The date when the employee password will expire.","readOnly":true,"example":"2024-01-15"},"password_expires_at_time":{"type":"string","format":"time","title":"Password expires at Date-Time Time","description":"The date when the employee password will expire.","readOnly":true,"example":"08:30:00"}},"title":"Employees","description":"Employee records including status, employment type, wage profile, and activity timestamps. Special actions: active, state, forms. Embeddable: employeePictures, employeeBusyDates, employeeAssignments, employeeWageProfile, employeeWorkQuotaProfiles, employeeTeams, availability-requests, availabilities, employeeAvailability, employeeRatings, payslips, employeeNotes. Supports dynamic fields.","example":{"id":106,"status":4,"wage_profile_id":2,"contract_type_id":5,"employment_type":1,"created_at":"2024-01-15 09:30:00","updated_at":"2025-03-10 14:22:35","reminded_at":"2025-02-01 08:00:00","last_logged_in_at":"2025-03-09 17:45:12","last_active_at":"2025-03-09 17:50:00","activated_at":"2024-01-16 10:00:00","deactivated_at":null,"password_expires_at":"2025-06-15 00:00:00","employee_tags":["reliable","senior"],"employee_notes":"Experienced catering staff member."}},"event-functions":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"code":{"type":"string","title":"Code","readOnly":false,"example":""},"description":{"type":"string","title":"Description","readOnly":false,"example":""},"quantity":{"type":"integer","title":"Quantity","readOnly":false,"example":0},"event_id":{"type":"integer","title":"Event ID","readOnly":true,"example":1},"function_id":{"type":"integer","title":"Function ID","readOnly":true,"example":1},"location_id":{"type":"integer","title":"Inherited location ID","readOnly":false,"example":1},"eventFunction.location_id":{"type":"integer","title":"Location ID","readOnly":false,"example":1},"wage_profile_id":{"type":"integer","title":"Location ID","readOnly":false,"example":1},"project_shift_id":{"type":"integer","title":"Shift ID","readOnly":false,"example":1},"shift_name":{"type":"string","title":"Shift Name","readOnly":false,"example":""},"start":{"type":"string","format":"date-time","title":"Start Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"end":{"type":"string","format":"date-time","title":"End Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"break_start":{"type":"string","format":"date-time","title":"Break Start Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"break_end":{"type":"string","format":"date-time","title":"Break End Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"is_locked":{"type":"integer","title":"Is locked","readOnly":true,"example":0},"is_private":{"type":"integer","title":"Is private","readOnly":true,"example":0},"is_transition_locked":{"type":"integer","title":"Is locked while changing states","description":"This field is deprecated. Please use transition_locked_at instead.","readOnly":true,"example":0},"transition_locked_at":{"type":"string","format":"date-time","title":"Transition Locked Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"planner_id":{"type":"integer","title":"Planner ID","readOnly":false,"example":1},"start_date":{"type":"string","format":"date","title":"Start Date-Time Date","readOnly":true,"example":"2024-01-15"},"start_time":{"type":"string","format":"time","title":"Start Date-Time Time","readOnly":true,"example":"08:30:00"},"end_date":{"type":"string","format":"date","title":"End Date-Time Date","readOnly":true,"example":"2024-01-15"},"end_time":{"type":"string","format":"time","title":"End Date-Time Time","readOnly":true,"example":"08:30:00"},"break_start_date":{"type":"string","format":"date","title":"Break Start Date-Time Date","readOnly":true,"example":"2024-01-15"},"break_start_time":{"type":"string","format":"time","title":"Break Start Date-Time Time","readOnly":true,"example":"08:30:00"},"break_end_date":{"type":"string","format":"date","title":"Break End Date-Time Date","readOnly":true,"example":"2024-01-15"},"break_end_time":{"type":"string","format":"time","title":"Break End Date-Time Time","readOnly":true,"example":"08:30:00"},"transition_locked_at_date":{"type":"string","format":"date","title":"Transition Locked Date-Time Date","readOnly":true,"example":"2024-01-15"},"transition_locked_at_time":{"type":"string","format":"time","title":"Transition Locked Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Event Functions","description":"Functions assigned to events, defining roles, scheduling, and staffing requirements. Embeddable: functionEvent, eventFunctionAssignments, location, function.","example":{"id":312,"code":"EVT-F-312","description":"Main Hall Service","quantity":5,"event_id":85,"function_id":1,"location_id":8,"eventFunction.location_id":8,"wage_profile_id":2,"project_shift_id":null,"shift_name":null,"start":"2025-04-15 08:00:00","end":"2025-04-15 17:00:00","break_start":"2025-04-15 12:00:00","break_end":"2025-04-15 12:30:00","is_locked":0,"is_private":0,"is_transition_locked":0,"transition_locked_at":null,"planner_id":3}},"events":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"planner_id":{"type":"integer","title":"Planner Id","readOnly":false,"example":1},"project_id":{"type":"integer","title":"Project ID","readOnly":false,"example":1},"location_id":{"type":"integer","title":"Location ID","readOnly":false,"example":1},"client_id":{"type":"integer","title":"Client ID","readOnly":false,"example":1},"contact_id":{"type":"integer","title":"Contact ID","readOnly":false,"example":1},"event.client_id":{"type":"integer","title":"Client ID","description":"This field is deprecated. Please use client_id instead.","readOnly":true,"example":1},"event.contact_id":{"type":"integer","title":"Contact ID","description":"This field is deprecated. Please use contact_id instead.","readOnly":true,"example":1},"status":{"type":"integer","title":"Status","description":"**Values:**   `1` -> Draft,  `2` -> Active,  `3` -> Archived,  `5` -> Aborted.","readOnly":false,"enum":[1,2,3,5],"example":1},"name":{"type":"string","title":"Name","readOnly":false,"example":""},"start":{"type":"string","format":"date-time","title":"Start Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"end":{"type":"string","format":"date-time","title":"End Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"break_start":{"type":"string","format":"date-time","title":"Break Start Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"break_end":{"type":"string","format":"date-time","title":"Break End Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"project_name":{"type":"string","title":"Project","readOnly":true,"example":""},"event_tags":{"type":"array","title":"Tags","readOnly":true,"example":[]},"_cost_center":{"type":"string","title":"Cost in $","readOnly":false,"example":"","x-sc-dynamic":true},"_security_available":{"type":"string","title":"Security check-box","readOnly":false,"example":"","x-sc-dynamic":true},"_reporting_to":{"type":"string","title":"Reporting = text field","readOnly":false,"example":"","x-sc-dynamic":true},"_identifier":{"type":"string","title":"Identifier","readOnly":false,"example":"","x-sc-dynamic":true},"_file_upload":{"type":"string","title":"Upload a profile picture","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_42":{"type":"string","title":"Qualifications","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_43":{"type":"string","title":"Level","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_60":{"type":"string","title":"Event upload 1","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_62":{"type":"string","title":"Dynamic Field 62","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_64":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_65":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_66":{"type":"string","title":"Upload a file here!!","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_68":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_69":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_71":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_74":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_109":{"type":"string","title":"B.U.G Mafia","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_215":{"type":"string","title":"Multiple choice","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_234":{"type":"string","title":"Money","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_243":{"type":"string","title":"Number","readOnly":false,"example":"","x-sc-dynamic":true},"start_date":{"type":"string","format":"date","title":"Start Date-Time Date","readOnly":true,"example":"2024-01-15"},"start_time":{"type":"string","format":"time","title":"Start Date-Time Time","readOnly":true,"example":"08:30:00"},"end_date":{"type":"string","format":"date","title":"End Date-Time Date","readOnly":true,"example":"2024-01-15"},"end_time":{"type":"string","format":"time","title":"End Date-Time Time","readOnly":true,"example":"08:30:00"},"break_start_date":{"type":"string","format":"date","title":"Break Start Date-Time Date","readOnly":true,"example":"2024-01-15"},"break_start_time":{"type":"string","format":"time","title":"Break Start Date-Time Time","readOnly":true,"example":"08:30:00"},"break_end_date":{"type":"string","format":"date","title":"Break End Date-Time Date","readOnly":true,"example":"2024-01-15"},"break_end_time":{"type":"string","format":"time","title":"Break End Date-Time Time","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Event","description":"Events with scheduling, status, and staffing configuration. Special actions: forms, reporting-forms. Embeddable: eventProject, eventFunctions, eventClient, eventContact, eventAssignments, eventPlanner, eventLocation. Supports dynamic fields.","example":{"id":85,"planner_id":3,"project_id":14,"location_id":8,"client_id":35,"contact_id":7,"event.client_id":35,"event.contact_id":7,"status":3,"name":"Annual Gala Dinner","start":"2025-04-15 07:00:00","end":"2025-04-15 23:00:00","break_start":"2025-04-15 14:00:00","break_end":"2025-04-15 14:30:00","created_at":"2025-03-01 10:00:00","updated_at":"2025-03-10 14:22:35","project_name":"Spring Gala 2025","event_tags":["gala","vip"]}},"expiring-fields":{"type":"object","properties":{"entity_id":{"type":"integer","title":"Entity ID","description":"ID of the Entity type that owns the expiry attribute.","readOnly":true,"example":1},"subject_id":{"type":"integer","title":"Subject ID","description":"ID of the employee the field belongs to.","readOnly":true,"example":1},"field_name":{"type":"string","title":"Field name","description":"Name of the related attribute (e.g. document or certificate).","readOnly":true,"example":""},"field_type":{"type":"string","title":"Field data type","description":"Identifier of the related attribute data type (e.g. `file`).","readOnly":true,"example":""},"field_value":{"type":"string","title":"Current field value","description":"Current value of the related attribute.","readOnly":true},"expiry_date":{"type":"string","format":"date-time","title":"Expiry date","description":"Date on which the related field expires.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"expiry_date_attribute_id":{"type":"integer","title":"Expiry attribute ID","description":"ID of the dynamic attribute holding the expiry date.","readOnly":true,"example":1},"related_attribute_id":{"type":"integer","title":"Related attribute ID","description":"ID of the dynamic attribute whose value expires on `expiry_date`.","readOnly":true,"example":1},"days_to_expire":{"type":"integer","title":"Days to expire","description":"Number of days until expiry. Negative values indicate the field is already expired.","readOnly":true,"example":0},"change_request_id":{"type":"integer","title":"Change request ID","description":"ID of the pending change request for the related attribute, or `0` if none exists.","readOnly":true,"example":1},"change_requires_planner_approval":{"type":"integer","title":"The attribute change requires planner approval","description":"If true, the attribute change requires planner approval.","readOnly":true,"example":0},"expiry_date_date":{"type":"string","format":"date","title":"Expiry date Date","description":"Date on which the related field expires.","readOnly":true,"example":"2024-01-15"},"expiry_date_time":{"type":"string","format":"time","title":"Expiry date Time","description":"Date on which the related field expires.","readOnly":true,"example":"08:30:00"}},"title":"Expiring Fields","description":"Read-only collection of authenticated employee fields with expiry dates (e.g. documents, certificates). Records are computed at request time from dynamic attributes; sorted by `days_to_expire` ascending. Available to employee accounts only."},"external-staff-providers":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"relation_id":{"type":"integer","title":"Relation ID","readOnly":true,"example":1},"status":{"type":"integer","title":"Status","description":"**Values:**   `1` -> Active,  `2` -> Inactive,  `3` -> Deleted.","readOnly":false,"enum":[1,2,3],"example":1},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"external_staff_provider_name":{"type":"string","title":"Provider name","readOnly":false,"example":"","x-sc-dynamic":true},"external_staff_provider_id":{"type":"string","title":"Provider external ID","readOnly":false,"example":"","x-sc-dynamic":true},"email":{"type":"string","title":"E-mail","readOnly":false,"example":"","x-sc-dynamic":true},"mobile":{"type":"string","title":"Mobile","readOnly":false,"example":"","x-sc-dynamic":true},"city":{"type":"string","title":"City","readOnly":false,"example":"","x-sc-dynamic":true},"staff_provider_address":{"type":"string","title":"Address","readOnly":false,"example":"","x-sc-dynamic":true},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"External Staff Providers","description":"External staff provider organizations that supply external workers. Supports dynamic fields.","example":{"id":3,"relation_id":4001,"status":1,"created_at":"2024-01-20 10:00:00","updated_at":"2025-01-15 08:30:00"}},"external-staff-requests":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"event_function_id":{"type":"integer","title":"Event Function Id","readOnly":true,"example":1},"external_staff_provider_id":{"type":"integer","title":"External Staff Provider Id","readOnly":false,"example":1},"external_worker_id":{"type":"integer","title":"External Worker Id","readOnly":false,"example":1},"assignment_id":{"type":"integer","title":"Assignment Id","readOnly":true,"example":1},"managed_by":{"type":"string","title":"Provider Service","description":"This is a text identifier of the service that is managing the request. This is used to determine the service that is responsible for the request. If you are building a dedicated staffcloud integration that manages external staff requests please consistently set this value to your system identifier. Can be ignored in all other cases.","readOnly":false,"enum":["staffcloud","external","tempcloud","adia"],"example":"staffcloud"},"state":{"type":"string","title":"State","description":"This is the internal state of the request. This has implications in the logic of the system and determines the state indicators that are shown in the UI.","readOnly":false,"example":""},"status":{"type":"string","title":"External Status","description":"This can be any string representing the corresponding status in the external system. Is only informational and not used for any logic.","readOnly":false,"example":""},"status_message":{"type":"string","title":"External Status Message","description":"A message detailing the status. Can be an error message in the case of an error status or a success message in the case of a success status.","readOnly":false,"example":""},"link":{"type":"string","title":"External URL","description":"A url to the external system if one exists. The user will be able to click a link with this url to navigate to the external system managing the request.","readOnly":false,"example":""},"remarks":{"type":"string","title":"External Remarks","description":"Any text remarks relating to the request. The Staffcloud user will be able to see these in the UI","readOnly":false,"example":""},"attributes":{"type":"string","title":"Attributes","description":"This is a json object that can be used to store any additional data that is not covered by the other fields.","readOnly":false,"example":""},"last_status_update_at":{"type":"string","format":"date-time","title":"Last Status Update Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"last_status_update_at_date":{"type":"string","format":"date","title":"Last Status Update Date-Time Date","readOnly":true,"example":"2024-01-15"},"last_status_update_at_time":{"type":"string","format":"time","title":"Last Status Update Date-Time Time","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"External Staff Requests","description":"Requests sent to external staff providers for staffing event functions, with status tracking and response management. Embeddable: eventFunction, assignment.","example":{"id":20,"event_function_id":312,"external_staff_provider_id":3,"external_worker_id":250,"assignment_id":6068,"managed_by":"staffcloud","state":"confirmed","status":"accepted","status_message":"Worker confirmed and assigned.","link":"https:\/\/partner.example.com\/requests\/20","remarks":"Experienced catering worker, German speaking.","attributes":"{\"shift_preference\": \"morning\"}","last_status_update_at":"2025-04-10 14:00:00","created_at":"2025-04-08 09:00:00","updated_at":"2025-04-10 14:00:00"}},"external-workers":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"status":{"type":"integer","title":"Status","description":"**Values:**   `0` -> Uncompleted,  `1` -> Applicant,  `2` -> Provisional candidate,  `3` -> Candidate,  `4` -> Active,  `5` -> Inactive,  `6` -> Deleted.","readOnly":false,"enum":[0,1,2,3,4,5,6],"example":0},"wage_profile_id":{"type":"integer","title":"Wage Profile ID","readOnly":false,"example":1},"created_at":{"type":"string","format":"date-time","title":"Created on Date-Time","description":"The date the employee was created in the system.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated on Date-Time","description":"The date the employee was last updated in the system.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"reminded_at":{"type":"string","format":"date-time","title":"Reminded on Date-Time","description":"The date the employee was last reminded to complete the recruiting process.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"last_logged_in_at":{"type":"string","format":"date-time","title":"Logged in on Date-Time","description":"The date the employee was last logged in on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"last_active_at":{"type":"string","format":"date-time","title":"Last active on Date-Time","description":"The date the employee was last active on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"activated_at":{"type":"string","format":"date-time","title":"Activated on Date-Time","description":"The date the employee was activated on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"deactivated_at":{"type":"string","format":"date-time","title":"Deactivated on Date-Time","description":"The date the employee was deactivated on.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"password_expires_at":{"type":"string","format":"date-time","title":"Password expires at Date-Time","description":"The date when the employee password will expire.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"firstname":{"type":"string","title":"First name","readOnly":false,"example":"","x-sc-dynamic":true},"lastname":{"type":"string","title":"Last name","readOnly":false,"example":"","x-sc-dynamic":true},"email":{"type":"string","title":"Email address","readOnly":false,"example":"","x-sc-dynamic":true},"mobile":{"type":"string","title":"Mobile number","readOnly":false,"example":"","x-sc-dynamic":true},"address_first":{"type":"string","title":"Address line 1","readOnly":false,"example":"","x-sc-dynamic":true},"address_second":{"type":"string","title":"Address line 2","readOnly":false,"example":"","x-sc-dynamic":true},"zip":{"type":"string","title":"ZIP","readOnly":false,"example":"","x-sc-dynamic":true},"city":{"type":"string","title":"City","readOnly":false,"example":"","x-sc-dynamic":true},"country":{"type":"string","title":"Country","readOnly":false,"example":"","x-sc-dynamic":true},"qualifications":{"type":"string","title":"Qualifications","readOnly":false,"example":"","x-sc-dynamic":true},"birthday":{"type":"string","title":"Birthday","readOnly":false,"example":"","x-sc-dynamic":true},"gender":{"type":"string","title":"Gender","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_40":{"type":"string","title":"Dynamic Field 40","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_45":{"type":"string","title":"Multiple choice with levels","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_54":{"type":"string","title":"File upload","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_55":{"type":"string","title":"upload","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_78":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_88":{"type":"string","title":"File [private]","readOnly":false,"example":"","x-sc-dynamic":true},"communication_language":{"type":"string","title":"Communication language","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_97":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_108":{"type":"string","title":"Hourly Salary","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_122":{"type":"string","title":"clothing size","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_124":{"type":"string","title":"Filed with gender","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_129":{"type":"string","title":"File [public]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_135":{"type":"string","title":"Document 1","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_136":{"type":"string","title":"Document 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_155":{"type":"string","title":"Level123","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_156":{"type":"string","title":"Languages","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_161":{"type":"string","title":"Multiple choice with levels","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_164":{"type":"string","title":"File upload","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_165":{"type":"string","title":"File upload 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_166":{"type":"string","title":"Multiple choice lvls 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_171":{"type":"string","title":"Picture 3","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_172":{"type":"string","title":"Poza 4","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_187":{"type":"string","title":"Certificate of study","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_188":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_191":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_203":{"type":"string","title":"Upload 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_208":{"type":"string","title":"Phone","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_209":{"type":"string","title":"Time field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_211":{"type":"string","title":"\u0393\u03b9\u03ce\u03c4\u03b7\u03c2 ft \u03a4\u03c3\u03b1\u03bb\u03af\u03ba\u03b7\u03c2 - \u03a4\u03bf \u039c\u03b1\u03b3\u03b1\u03b6\u03af ","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_212":{"type":"string","title":"Work Place","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_213":{"type":"string","title":"upload mandatory","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_214":{"type":"string","title":"rte","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_216":{"type":"string","title":"Collection widget","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_217":{"type":"string","title":"Quellenst","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_218":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_219":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"external_staff_providers":{"type":"string","title":"External staff provider","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_228":{"type":"string","title":"SV Nucember","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_232":{"type":"string","title":"date&time","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_235":{"type":"string","title":"dresscode field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_236":{"type":"string","title":"test 1","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_237":{"type":"string","title":"test 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_238":{"type":"string","title":"simple text field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_239":{"type":"string","title":"text field","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_240":{"type":"string","title":"RichTextEditor","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_241":{"type":"string","title":"Hourly Wage","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_242":{"type":"string","title":"Rich text editor 2","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_244":{"type":"string","title":"clothes size","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_247":{"type":"string","title":"test","readOnly":false,"example":"","x-sc-dynamic":true},"created_at_date":{"type":"string","format":"date","title":"Created on Date-Time Date","description":"The date the employee was created in the system.","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created on Date-Time Time","description":"The date the employee was created in the system.","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated on Date-Time Date","description":"The date the employee was last updated in the system.","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated on Date-Time Time","description":"The date the employee was last updated in the system.","readOnly":true,"example":"08:30:00"},"reminded_at_date":{"type":"string","format":"date","title":"Reminded on Date-Time Date","description":"The date the employee was last reminded to complete the recruiting process.","readOnly":true,"example":"2024-01-15"},"reminded_at_time":{"type":"string","format":"time","title":"Reminded on Date-Time Time","description":"The date the employee was last reminded to complete the recruiting process.","readOnly":true,"example":"08:30:00"},"last_logged_in_at_date":{"type":"string","format":"date","title":"Logged in on Date-Time Date","description":"The date the employee was last logged in on.","readOnly":true,"example":"2024-01-15"},"last_logged_in_at_time":{"type":"string","format":"time","title":"Logged in on Date-Time Time","description":"The date the employee was last logged in on.","readOnly":true,"example":"08:30:00"},"last_active_at_date":{"type":"string","format":"date","title":"Last active on Date-Time Date","description":"The date the employee was last active on.","readOnly":true,"example":"2024-01-15"},"last_active_at_time":{"type":"string","format":"time","title":"Last active on Date-Time Time","description":"The date the employee was last active on.","readOnly":true,"example":"08:30:00"},"activated_at_date":{"type":"string","format":"date","title":"Activated on Date-Time Date","description":"The date the employee was activated on.","readOnly":true,"example":"2024-01-15"},"activated_at_time":{"type":"string","format":"time","title":"Activated on Date-Time Time","description":"The date the employee was activated on.","readOnly":true,"example":"08:30:00"},"deactivated_at_date":{"type":"string","format":"date","title":"Deactivated on Date-Time Date","description":"The date the employee was deactivated on.","readOnly":true,"example":"2024-01-15"},"deactivated_at_time":{"type":"string","format":"time","title":"Deactivated on Date-Time Time","description":"The date the employee was deactivated on.","readOnly":true,"example":"08:30:00"},"password_expires_at_date":{"type":"string","format":"date","title":"Password expires at Date-Time Date","description":"The date when the employee password will expire.","readOnly":true,"example":"2024-01-15"},"password_expires_at_time":{"type":"string","format":"time","title":"Password expires at Date-Time Time","description":"The date when the employee password will expire.","readOnly":true,"example":"08:30:00"}},"title":"External Workers","description":"External worker records managed by external staff providers, including status, wage profile, and activity timestamps. Special actions: active, state, forms. Embeddable: externalStaffProvider, employeeBusyDates, employeeAssignments, employeeWageProfile, employeeWorkQuotaProfiles, availability-requests, availabilities, employeeRatings. Supports dynamic fields.","example":{"id":250,"status":4,"wage_profile_id":5,"created_at":"2024-03-10 11:00:00","updated_at":"2025-02-15 09:30:00","reminded_at":null,"last_logged_in_at":"2025-02-14 16:20:00","last_active_at":"2025-02-14 16:25:00","activated_at":"2024-03-11 08:00:00","deactivated_at":null,"password_expires_at":"2025-09-10 00:00:00"}},"files":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"path":{"type":"string","title":"Path","readOnly":true,"example":""},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"mime":{"type":"string","title":"Mime Type","readOnly":true,"example":""},"user_id":{"type":"integer","title":"User ID","readOnly":true,"example":0},"status":{"type":"integer","title":"Status","description":"**Values:**   `0` -> Temporary,  `1` -> Fix.","readOnly":false,"enum":[0,1],"example":0},"public_url":{"type":"string","title":"Public url","readOnly":true,"example":""},"visibility":{"type":"string","title":"Visibility","readOnly":true,"enum":["public","private"],"example":"public"},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"File","description":"File metadata records including path, name, MIME type, and size.","example":{"id":450,"path":"uploads\/employees\/106\/profile-photo.jpg","name":"profile-photo.jpg","mime":"image\/jpeg","user_id":106,"status":1,"public_url":"https:\/\/cdn.example.com\/uploads\/employees\/106\/profile-photo.jpg","visibility":"private","created_at":"2024-06-10 14:30:00"}},"forms":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Label","readOnly":true,"example":""}},"title":"Forms","description":"Form definitions with identifier, name, and type for data collection.","example":{"id":8,"identifier":"employee_recruiting","name":"Employee Recruiting Form"}},"functions":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"code":{"type":"string","title":"Code","readOnly":true,"example":""},"wage_profile_id":{"type":"string","title":"Wage profile ID","readOnly":true,"example":""},"wage_profile_name":{"type":"string","title":"Wage profile name","readOnly":true,"example":""},"project_leader":{"type":"integer","title":"Team Leader At The Event Level","description":"If true, the employees assigned to this function are set as team leaders at the event level.","readOnly":true,"example":0},"team_leader_at_project_level":{"type":"integer","title":"Team Leader At The Project Level","description":"If true, the employees assigned to this function are set as team leaders at the project level.","readOnly":true,"example":0},"qualifications":{"type":"array","title":"Qualifications","readOnly":true,"example":[]},"deleted":{"type":"integer","title":"Deleted","description":"Whether the function is deleted or not.","readOnly":true,"example":0}},"title":"Functions","description":"Reusable function (role) definitions with code, color, and sorting for use in event staffing.","example":{"id":1,"name":"Catering Kellner Senior","code":"","wage_profile_id":null,"wage_profile_name":null,"project_leader":0,"team_leader_at_project_level":0,"qualifications":["Cateringkellner A"],"deleted":0}},"generic-form-submissions":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"form_id":{"type":"integer","title":"Form ID","readOnly":false,"example":1},"submitted_by":{"type":"array","title":"Submitter (type, id, relation_id)","readOnly":true,"example":[]},"submitted_at":{"type":"string","format":"date-time","title":"Submitted at","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at":{"type":"string","format":"date-time","title":"Created at","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated at","readOnly":true,"example":"2024-01-15T08:30:00Z"},"targets":{"type":"array","title":"Submission targets (polymorphic links)","readOnly":true,"example":[]},"values":{"type":"array","title":"Dynamic-attribute values keyed by attribute identifier","readOnly":true,"example":[]},"submitted_at_date":{"type":"string","format":"date","title":"Submitted at Date","readOnly":true,"example":"2024-01-15"},"submitted_at_time":{"type":"string","format":"time","title":"Submitted at Time","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created on Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created on Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated on Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated on Time","readOnly":true,"example":"08:30:00"}},"title":"Generic Form Submissions","description":"Filled-in instances of generic forms. Each submission references a form definition (form_id) and one or more polymorphic targets (project \/ event \/ etc.)."},"generic-forms":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Label","readOnly":true,"example":""},"allowed_targets":{"type":"array","title":"Allowed target entity types (short aliases)","readOnly":true,"example":[]}},"title":"Generic Forms","description":"Generic form definitions (entity = GenericFormSubmission). Read-only mirror of the legacy `forms` resource, hard-scoped to generic forms. Each response row carries an `allowed_targets` array of short entity-type aliases (project, event, \u2026). `index` accepts `?allowed_targets=alias[,alias\u2026]` to filter by whitelisted target types (OR-semantics)."},"languages":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"code":{"type":"string","title":"Code","readOnly":true,"example":""},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"short":{"type":"string","title":"Short","readOnly":true,"example":""}},"title":"Language","description":"Available languages with code and name for localization.","example":{"id":1,"code":"de","name":"German","short":"DE"}},"livestamps":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"planner_id":{"type":"integer","title":"Planner ID","description":"The ID of the planner who accepted\/rejected the livestamp","readOnly":true,"example":1},"proposed_date_time":{"type":"string","format":"date-time","title":"Proposed Date-Time","description":"The assignment livestamp proposed date and time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"latitude":{"type":"number","format":"float","title":"Latitude","description":"The assignment livestamp latitude.","readOnly":true,"example":0},"longitude":{"type":"number","format":"float","title":"Longitude","description":"The assignment livestamp longitude.","readOnly":true,"example":0},"remarks":{"type":"string","title":"Remarks","description":"The assignment livestamp remarks.","readOnly":true,"example":""},"source":{"type":"string","title":"Source","description":"The assignment livestamp creation source.","readOnly":true,"enum":["employee_mobile_app","employee_web_app"],"example":"employee_mobile_app"},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","description":"The date and time when the livestamp was created.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated at Date-Time","description":"The date and time when the livestamp was last updated.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"accepted_at":{"type":"string","format":"date-time","title":"Accepted at Date-Time","description":"The date and time when the livestamp was accepted.","readOnly":false,"example":"2024-01-15T08:30:00Z"},"rejected_at":{"type":"string","format":"date-time","title":"Rejected at Date-Time","description":"The date and time when the livestamp was rejected.","readOnly":false,"example":"2024-01-15T08:30:00Z"},"files_ids":{"type":"array","title":"Livestamp files IDs (optional)","description":"The IDs of the files to be added to the livestamp.","readOnly":true,"example":[]},"files":{"type":"array","title":"Files","description":"The assignment livestamp uploaded files.","readOnly":true,"example":[]},"proposed_date_time_date":{"type":"string","format":"date","title":"Proposed Date-Time Date","description":"The assignment livestamp proposed date and time.","readOnly":true,"example":"2024-01-15"},"proposed_date_time_time":{"type":"string","format":"time","title":"Proposed Date-Time Time","description":"The assignment livestamp proposed date and time.","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","description":"The date and time when the livestamp was created.","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","description":"The date and time when the livestamp was created.","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated at Date-Time Date","description":"The date and time when the livestamp was last updated.","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated at Date-Time Time","description":"The date and time when the livestamp was last updated.","readOnly":true,"example":"08:30:00"},"accepted_at_date":{"type":"string","format":"date","title":"Accepted at Date-Time Date","description":"The date and time when the livestamp was accepted.","readOnly":true,"example":"2024-01-15"},"accepted_at_time":{"type":"string","format":"time","title":"Accepted at Date-Time Time","description":"The date and time when the livestamp was accepted.","readOnly":true,"example":"08:30:00"},"rejected_at_date":{"type":"string","format":"date","title":"Rejected at Date-Time Date","description":"The date and time when the livestamp was rejected.","readOnly":true,"example":"2024-01-15"},"rejected_at_time":{"type":"string","format":"time","title":"Rejected at Date-Time Time","description":"The date and time when the livestamp was rejected.","readOnly":true,"example":"08:30:00"}},"title":"Livestamp","description":"Livestamp records for assignments, capturing real-time work data with file attachments and accept\/reject workflow. Special actions: add-files, delete-files, accept, reject. Embeddable: livestampAssignment, livestampPlanner.","example":{"id":1,"assignment_id":6068,"planner_id":null,"proposed_date_time":"2025-04-15 08:02:00","latitude":47.3769,"longitude":8.5417,"remarks":"Arrived at venue entrance.","source":"employee_mobile_app","created_at":"2025-04-15 08:02:00","updated_at":"2025-04-15 08:02:00","accepted_at":null,"rejected_at":null,"files_ids":[],"files":[]}},"locations":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"code":{"type":"string","title":"Code","readOnly":true,"example":""},"line_1":{"type":"string","title":"Address line 1","readOnly":true,"example":""},"line_2":{"type":"string","title":"Address line 2","readOnly":true,"example":""},"zip":{"type":"string","title":"Zip","readOnly":true,"example":""},"city":{"type":"string","title":"City","readOnly":true,"example":""},"country":{"type":"string","title":"Country","readOnly":true,"example":""},"county":{"type":"string","title":"County","readOnly":true,"example":""},"additional_information":{"type":"string","title":"Additional information","readOnly":true,"example":""},"deleted":{"type":"integer","title":"Deleted","description":"Whether the location is deleted or not.","readOnly":true,"example":0}},"title":"Locations","description":"Physical locations with address, coordinates, and capacity details.","example":{"id":8,"name":"Convention Center Zurich","code":"ZRH-CC","line_1":"Bahnhofstrasse 10","line_2":null,"zip":"8001","city":"Zurich","country":"Switzerland","county":"Zurich","additional_information":"Main entrance on the south side.","deleted":0}},"messages":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"conversation_identifier":{"type":"string","title":"Conversation identifier","readOnly":true,"example":""},"subject":{"type":"string","title":"Subject","readOnly":true,"example":""},"text":{"type":"string","title":"Text","readOnly":true,"example":""},"plain_text":{"type":"string","title":"Plain text","description":"Returned only when using the flag `with-plain-text` set to `1`","readOnly":true,"example":""},"attachments":{"type":"array","title":"Attachments","readOnly":true,"example":[]},"is_read":{"type":"integer","title":"Message was read","readOnly":false,"example":0},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"type":{"type":"string","title":"Message type","readOnly":true,"enum":["notification","message"],"example":"notification"},"hasAttachments":{"type":"integer","title":"Message has attachments","readOnly":true,"example":0},"payload":{"type":"object","title":"Payload","readOnly":true},"from":{"type":"object","title":"From","readOnly":true},"to":{"type":"object","title":"To","readOnly":true},"conversation_message_count":{"type":"integer","title":"Conversation messages count","readOnly":true,"example":0},"thread_id":{"type":"string","title":"Thread identifier","description":"Optional client-supplied thread identifier grouping messages within a conversation.","readOnly":true,"example":""},"project_id":{"type":"integer","title":"Project ID","description":"Project the message is scoped to (project-communication context).","readOnly":true,"example":0},"event_id":{"type":"integer","title":"Event ID","description":"Event the message is scoped to; only set together with project_id.","readOnly":true,"example":0},"function_id":{"type":"integer","title":"Function ID","description":"Event function the message is scoped to; only set together with project_id and event_id.","readOnly":true,"example":0},"read_by_receiver_at":{"type":"string","format":"date-time","title":"Read by receiver at","description":"UTC timestamp when the receiver marked the message as read. Null if unread.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","readOnly":true,"example":"08:30:00"},"read_by_receiver_at_date":{"type":"string","format":"date","title":"Read by receiver at Date","description":"UTC timestamp when the receiver marked the message as read. Null if unread.","readOnly":true,"example":"2024-01-15"},"read_by_receiver_at_time":{"type":"string","format":"time","title":"Read by receiver at Time","description":"UTC timestamp when the receiver marked the message as read. Null if unread.","readOnly":true,"example":"08:30:00"}},"title":"Messages","description":"Messages within conversations, supporting threaded replies, read tracking, project-scoped context, thread grouping, and bulk operations. Special actions: conversations, send, mark-all-as-read.","example":{"id":200,"conversation_identifier":"conv-abc123","subject":"Shift Reminder: Annual Gala Dinner","text":"<p>Dear Jane, this is a reminder about your upcoming shift on April 15th.<\/p>","plain_text":"Dear Jane, this is a reminder about your upcoming shift on April 15th.","attachments":[],"is_read":0,"created_at":"2025-04-14 10:00:00","type":"message","hasAttachments":0,"payload":null,"from":{"id":3,"name":"Thomas Mueller","type":"planner"},"to":{"id":106,"name":"Jane Doe","type":"employee"},"conversation_message_count":3}},"notifications":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"subject":{"type":"string","title":"Subject","readOnly":true,"example":""},"text":{"type":"string","title":"Text","readOnly":true,"example":""},"plain_text":{"type":"string","title":"Plain text","description":"Returned only when using the flag `with-plain-text` set to `1`","readOnly":true,"example":""},"is_read":{"type":"integer","title":"Message was read","readOnly":true,"example":0},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"payload":{"type":"object","title":"Payload","readOnly":true},"to":{"type":"object","title":"To","readOnly":true},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Notifications","description":"System notifications with subject, text, and read\/unread status.","example":{"id":500,"subject":"New Assignment Available","text":"<p>You have been invited to a new assignment for the Annual Gala Dinner on April 15th.<\/p>","plain_text":"You have been invited to a new assignment for the Annual Gala Dinner on April 15th.","is_read":0,"created_at":"2025-04-10 14:30:00","payload":{"assignment_id":6068,"event_name":"Annual Gala Dinner"},"to":{"id":106,"name":"Jane Doe","type":"employee"}}},"pay-lines":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"pay_run_id":{"type":"integer","title":"Pay Run Id","readOnly":true,"example":1},"assignment_id":{"type":"integer","title":"Assignment Id","readOnly":true,"example":1},"wage_type_id":{"type":"integer","title":"Wage Type Id","readOnly":true,"example":1},"employee_id":{"type":"integer","title":"Employee Id","readOnly":true,"example":1},"event_function_id":{"type":"integer","title":"Event Function Id","readOnly":true,"example":1},"event_id":{"type":"integer","title":"Event Id","readOnly":true,"example":1},"project_id":{"type":"integer","title":"Project Id","readOnly":true,"example":1},"client_id":{"type":"integer","title":"Client Id","readOnly":true,"example":1},"contact_id":{"type":"integer","title":"Contact Id","readOnly":true,"example":1},"rate":{"type":"number","title":"Pay rate (if any)","readOnly":true,"example":0},"quantity":{"type":"number","title":"Pay quantity (if any)","readOnly":true,"example":0},"amount":{"type":"number","title":"Total Payable Amount","readOnly":true,"example":0},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_by_planner_id":{"type":"integer","title":"Id of the planner that created the pay line.","readOnly":true,"example":1},"pay_run.identifier":{"type":"string","title":"Pay Run Identifier","readOnly":true,"example":""},"pay_run.name":{"type":"string","title":"Pay Run Name","readOnly":true,"example":""},"pay_run.description":{"type":"string","title":"Pay Run Description","readOnly":true,"example":""},"wage_type.type":{"type":"string","title":"Wage Type","readOnly":true,"example":""},"wage_type.name":{"type":"string","title":"Wage Type Name","readOnly":true,"example":""},"wage_type.external_id":{"type":"string","title":"Wage Type Identifier","readOnly":true,"example":""},"wage_type.currency_format":{"type":"string","title":"Wage Type Currency Format","readOnly":true,"example":""},"employee.first_name":{"type":"string","title":"Employee First Name","readOnly":true,"example":""},"employee.last_name":{"type":"string","title":"Employee Last Name","readOnly":true,"example":""},"employee.email":{"type":"string","title":"Employee Email","readOnly":true,"example":""},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Pay Lines","description":"Individual pay line items within a pay run, linking wage calculations to assignments, events, projects, and employees. Embeddable: payLinePayRun, payLineEmployee, payLineAssignment, payLineEventFunction, payLineEvent, payLineProject, payLineClient, payLineContact.","example":{"id":310,"pay_run_id":8,"assignment_id":6068,"wage_type_id":10,"employee_id":106,"event_function_id":312,"event_id":85,"project_id":14,"client_id":35,"contact_id":7,"rate":25.5,"quantity":8.5,"amount":216.75,"created_at":"2025-04-30 10:00:00","created_by_planner_id":3,"pay_run.identifier":"PR-2025-04","pay_run.name":"April 2025 Pay Run","pay_run.description":"Monthly payroll for April 2025.","wage_type.type":"rated","wage_type.name":"Hourly Rate","wage_type.external_id":"HR-001","wage_type.currency_format":"CHF","employee.first_name":"Jane","employee.last_name":"Doe","employee.email":"jane.doe@example.com"}},"pay-runs":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"description":{"type":"string","title":"Description","readOnly":true,"example":""},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"exported_at":{"type":"string","format":"date-time","title":"Exported Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"paid_at":{"type":"string","format":"date-time","title":"Pay Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_by_planner_id":{"type":"integer","title":"Id of the planner that created the pay run.","readOnly":true,"example":1},"exported_by_planner_id":{"type":"integer","title":"Id of the planner that exported the pay run.","readOnly":true,"example":1},"paid_by_planner_id":{"type":"integer","title":"Id of the planner that paid the pay run.","readOnly":true,"example":1},"pay_lines":{"type":"object","title":"Pay lines for this pay run.","readOnly":true},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"exported_at_date":{"type":"string","format":"date","title":"Exported Date-Time Date","readOnly":true,"example":"2024-01-15"},"exported_at_time":{"type":"string","format":"time","title":"Exported Date-Time Time","readOnly":true,"example":"08:30:00"},"paid_at_date":{"type":"string","format":"date","title":"Pay Date-Time Date","readOnly":true,"example":"2024-01-15"},"paid_at_time":{"type":"string","format":"time","title":"Pay Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Pay Runs","description":"Pay run batches for payroll processing, with status tracking, date ranges, and payslip generation. Special actions: payslips. Embeddable: payRunPayLines, payslips.","example":{"id":8,"identifier":"PR-2025-04","name":"April 2025 Pay Run","description":"Monthly payroll for April 2025.","created_at":"2025-04-28 09:00:00","exported_at":"2025-04-30 08:00:00","paid_at":"2025-04-30 10:00:00","created_by_planner_id":3,"exported_by_planner_id":3,"paid_by_planner_id":3,"pay_lines":null}},"paysheets":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"is_approved":{"type":"integer","title":"Paysheet Approved","readOnly":true,"example":0},"wages":{"type":"object","title":"Paysheet wages","readOnly":true}},"title":"Paysheet","description":"Paysheet records for assignments with approval status and wage summary data. Embeddable: paysheetAssignment.","example":{"id":75,"assignment_id":6068,"is_approved":1,"wages":[{"wage_type":"Hourly Rate","amount":25.5,"quantity":8.5,"total":216.75}]}},"payslips":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","readOnly":false,"example":1},"employee_name":{"type":"string","title":"Employee name","readOnly":true,"example":""},"pay_run_id":{"type":"integer","title":"Pay run ID","readOnly":false,"example":1},"pay_run_name":{"type":"string","title":"Pay Run Name","readOnly":true,"example":""},"pay_run_start":{"type":"string","title":"Pay Run Start","readOnly":true,"example":""},"pay_run_end":{"type":"string","title":"Pay Run End","readOnly":true,"example":""},"projects":{"type":"string","title":"Projects separated by comma","readOnly":true,"example":""},"amount":{"type":"number","format":"float","title":"Amount","readOnly":true,"example":0},"currency_format":{"type":"string","title":"Currency format","readOnly":true,"example":""},"file_id":{"type":"integer","title":"Payslip file ID","readOnly":false,"example":1},"file_name":{"type":"string","title":"Payslip file name","readOnly":true,"example":""},"file_public_url":{"type":"string","title":"Payslip file public URL","readOnly":true,"example":""},"file_mime":{"type":"string","title":"Payslip file mime type","readOnly":true,"example":""}},"title":"Payslips","description":"Payslip documents generated from pay runs, linked to employees with PDF file references and amount details. Embeddable: employee, pay-run.","example":{"id":120,"employee_id":106,"employee_name":"Jane Doe","pay_run_id":8,"pay_run_name":"April 2025 Pay Run","pay_run_start":"2025-04-01","pay_run_end":"2025-04-30","projects":"Spring Gala 2025, Summer Festival","amount":1250.75,"currency_format":"CHF","file_id":460,"file_name":"payslip-apr-2025-jane-doe.pdf","file_public_url":"https:\/\/cdn.example.com\/payslips\/payslip-apr-2025-jane-doe.pdf","file_mime":"application\/pdf"}},"planners":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"username":{"type":"string","title":"Username","readOnly":true,"example":""},"first_name":{"type":"string","title":"Planner first name","readOnly":true,"example":""},"last_name":{"type":"string","title":"Planner last name","readOnly":true,"example":""},"password_expires_at":{"type":"string","format":"date-time","title":"Password expires at Date-Time","description":"The date when the planner password will expire.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"firstname":{"type":"string","title":"First name","readOnly":false,"example":"","x-sc-dynamic":true},"lastname":{"type":"string","title":"Last name","readOnly":false,"example":"","x-sc-dynamic":true},"email":{"type":"string","title":"Email address","readOnly":false,"example":"","x-sc-dynamic":true},"mobile":{"type":"string","title":"Mobile number","readOnly":false,"example":"","x-sc-dynamic":true},"password_expires_at_date":{"type":"string","format":"date","title":"Password expires at Date-Time Date","description":"The date when the planner password will expire.","readOnly":true,"example":"2024-01-15"},"password_expires_at_time":{"type":"string","format":"time","title":"Password expires at Date-Time Time","description":"The date when the planner password will expire.","readOnly":true,"example":"08:30:00"}},"title":"Planners","description":"Planner user accounts with login credentials and personal details. Supports dynamic fields.","example":{"id":3,"username":"thomas.mueller","first_name":"Thomas","last_name":"Mueller","password_expires_at":"2025-12-31 23:59:59"}},"pre-checkins":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"response":{"type":"string","title":"Response","description":"**Values:**   `empty` -> Empty,  `no_show` -> No show,  `late` -> Late,  `on_time` -> On time.","readOnly":true,"enum":["empty","no_show","late","on_time"],"example":"empty"},"late_minutes":{"type":"string","title":"Late minutes","readOnly":true,"example":""},"responded_at":{"type":"string","title":"Responded at","readOnly":true,"example":""},"created_at":{"type":"string","title":"Created at","readOnly":true,"example":""}},"title":"Pre Check Ins","description":"Pre-check-in records for assignments, allowing employees to confirm attendance status before an event. Special actions: respond. Embeddable: preCheckInAssignment.","example":{"id":15,"assignment_id":6068,"response":"on_time","late_minutes":null,"responded_at":"2025-04-15 07:30:00","created_at":"2025-04-14 18:00:00"}},"projects":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"relation_id":{"type":"integer","title":"Relation ID","readOnly":true,"example":1},"client_id":{"type":"integer","title":"Client ID","readOnly":false,"example":1},"planner_id":{"type":"integer","title":"Planner ID","readOnly":false,"example":1},"contact_id":{"type":"integer","title":"Contact ID","readOnly":false,"example":1},"name":{"type":"string","title":"Project name","readOnly":false,"example":""},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"project_tags":{"type":"array","title":"Tags","readOnly":true,"example":[]},"_additional_information":{"type":"string","title":"Additional information","readOnly":false,"example":"","x-sc-dynamic":true},"_on_site_reporting":{"type":"string","title":"On-site reporting","readOnly":false,"example":"","x-sc-dynamic":true},"_due_date":{"type":"string","title":"Due date","readOnly":false,"example":"","x-sc-dynamic":true},"_pin_number":{"type":"string","title":"PIN number","readOnly":false,"example":"","x-sc-dynamic":true},"_project_file":{"type":"string","title":"Project file","readOnly":false,"example":"","x-sc-dynamic":true},"dynamic_field_130":{"type":"string","title":"[missing translation]","readOnly":false,"example":"","x-sc-dynamic":true},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Project","description":"Projects grouping events under a client, with status, scheduling, and dynamic attributes. Special actions: forms, reporting-forms. Embeddable: projectClient, projectContact, projectEvents, projectPlanner. Supports dynamic fields.","example":{"id":14,"relation_id":1001,"client_id":35,"planner_id":3,"contact_id":7,"name":"Spring Gala 2025","created_at":"2025-01-10 09:30:00","updated_at":"2025-03-10 14:22:35","project_tags":["gala","recurring"]}},"ratings":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee ID","description":"The ID of the employee being rated.","readOnly":true,"example":1},"rater_id":{"type":"integer","title":"Rater ID","description":"The entity relation ID of the rater. Automatically set to the authenticated planner.","readOnly":true,"example":1},"project_id":{"type":"integer","title":"Project ID","readOnly":true,"example":1},"event_id":{"type":"integer","title":"Event ID","readOnly":true,"example":1},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"score":{"type":"number","format":"float","title":"Score","description":"Calculated weighted average score. Automatically computed from criteria.","readOnly":true,"example":0},"remarks":{"type":"string","title":"Remarks","readOnly":false,"example":""},"criteria":{"type":"object","title":"Criteria","description":"Key-value pairs where value is the integer rating. Input accepts criterion names (string) and numeric criterion IDs as keys. Read\/index responses use criterion names as keys; if a name is unavailable, the criterion ID is returned as a string key. Required on create. Use GET \/ratings\/criteria to discover available criteria for your tenant.","readOnly":false},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Ratings","description":"Employee ratings with weighted criteria scores, linked to assignments, events, or projects. Special actions: criteria. Embeddable: employee.","example":{"id":55,"employee_id":106,"rater_id":1001,"project_id":14,"event_id":85,"assignment_id":6068,"score":4.2,"remarks":"Very professional, handled VIP guests excellently.","criteria":{"Punctuality":5,"Teamwork":4,"Appearance":4,"Performance":4},"created_at":"2025-04-16 10:00:00","updated_at":"2025-04-16 10:00:00"}},"settings":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"type_id":{"type":"integer","title":"Setting type ID","readOnly":true,"example":1},"value_type_id":{"type":"integer","title":"Setting value type ID","readOnly":true,"example":1},"section_id":{"type":"integer","title":"ID","readOnly":true,"example":42},"collection_id":{"type":"integer","title":"ID","readOnly":true,"example":0},"collection":{"type":"object","title":"ID","readOnly":true},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"description":{"type":"string","title":"Description","readOnly":true,"example":""},"validators":{"type":"string","title":"Setting validators","readOnly":true,"example":""},"value":{"type":"object","title":"Setting value","readOnly":false},"setting_type":{"type":"object","title":"Setting type","readOnly":true},"setting_section":{"type":"object","title":"Setting section","readOnly":true},"data_type":{"type":"object","title":"Data type","readOnly":true}},"title":"Setting","description":"Read access to global, project and event level settings.","example":{"id":25,"identifier":"company_name","type_id":1,"value_type_id":2,"section_id":3,"collection_id":null,"collection":null,"name":"Company Name","description":"The name of the company displayed in the application.","validators":"required|string|max:255","value":"Acme Staffing AG","setting_type":{"id":1,"name":"General"},"setting_section":{"id":3,"name":"Branding"},"data_type":{"id":2,"name":"string"}}},"special-dates":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":false,"example":""},"description":{"type":"string","title":"Description","readOnly":false,"example":""},"date":{"type":"string","format":"date-time","title":"Date-Time","readOnly":false,"example":"2024-01-15T08:30:00Z"},"location_id":{"type":"integer","title":"Location Id","readOnly":false,"example":0},"date_date":{"type":"string","format":"date","title":"Date-Time Date","readOnly":true,"example":"2024-01-15"},"date_time":{"type":"string","format":"time","title":"Date-Time Time","readOnly":true,"example":"08:30:00"}},"title":"Special Dates","description":"Special dates such as holidays or notable dates, each with a name, description, date, and optional location.","example":{"id":10,"name":"Swiss National Day","description":"Public holiday - reduced availability expected.","date":"2025-08-01 00:00:00","location_id":8}},"time-slots":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"time_slot_category_id":{"type":"integer","title":"Category ID","readOnly":true,"example":0},"name":{"type":"string","title":"Label","readOnly":true,"example":""},"week_days":{"type":"array","title":"Week days","readOnly":true,"example":[]},"from":{"type":"string","format":"time","title":"Valid From","readOnly":true,"example":"08:30:00"},"to":{"type":"string","format":"time","title":"Valid To","readOnly":true,"example":"08:30:00"},"archived_at":{"type":"string","format":"time","title":"Archived at","readOnly":true,"example":"08:30:00"}},"title":"Time slots","description":"Predefined time slots with start and end times, grouped by category, used for employee availability scheduling. Embeddable: employeeAvailability.","example":{"id":5,"time_slot_category_id":1,"name":"Morning Shift","week_days":[1,2,3,4,5],"from":"06:00","to":"14:00","archived_at":null}},"wage-charges":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"external_id":{"type":"string","title":"External ID","readOnly":true,"example":""},"type":{"type":"string","title":"Type","description":"**Values:**   `absolute` -> Absolute,  `percentage` -> Percentage.","readOnly":true,"enum":["absolute","percentage"],"example":"absolute"},"amount":{"type":"number","format":"float","title":"Amount","readOnly":true,"example":0},"day_types":{"type":"object","title":"Valid on Weekdays","description":"The wage charge only applies on week days specified here. If no day is specified it`s valid on all days. 1 is Monday, 7 is Sunday","readOnly":true},"valid_from":{"type":"string","format":"time","title":"Valid From Time","description":"The wage charge is valid starting with this time.","readOnly":true,"example":"08:30:00"},"valid_to":{"type":"string","format":"time","title":"Valid To Time","description":"The wage charge is valid until this time.","readOnly":true,"example":"08:30:00"},"wage_type_id":{"type":"integer","title":"Wage type ID","description":"The ID of the wage type this charge applies to.","readOnly":true,"example":0},"is_controllable":{"type":"integer","title":"Is Controllable","description":"Can be enabled or disabled per assignment","readOnly":true,"example":0},"is_active":{"type":"integer","title":"Is Activated by Default","description":"For controllable charges: determines the default state, enabled or disabled.","readOnly":true,"example":0}},"title":"Wage Charge"},"wage-profiles":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"identifier":{"type":"string","title":"Identifier","readOnly":true,"example":""},"name":{"type":"string","title":"Label","readOnly":true,"example":""},"status":{"type":"integer","title":"Status","description":"**Values:**   `1` -> Active,  `2` -> Archived.","readOnly":true,"enum":[1,2],"example":1}},"title":"Wage Profile","description":"Wage profiles grouping wage types with validity periods. Embeddable: profileWageTypes.","example":{"id":2,"identifier":"WP-STANDARD","name":"Standard Hourly (CHF)","status":1}},"wage-proposals":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"planner_id":{"type":"integer","title":"Planner ID","description":"The ID of the planner who accepted\/rejected the proposal","readOnly":true,"example":1},"remarks":{"type":"string","title":"Remarks","description":"The assignment proposal remarks.","readOnly":false,"example":""},"requested_updates":{"type":"string","title":"Requested updates","description":"The assignment proposal requested updates.","readOnly":true,"example":""},"source":{"type":"string","title":"Source","description":"The assignment proposal creation source.","readOnly":false,"enum":["employee_mobile_app","employee_web_app","tla"],"example":"employee_mobile_app"},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","description":"The date and time when the proposal was created.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated at Date-Time","description":"The date and time when the proposal was last updated.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"accepted_at":{"type":"string","format":"date-time","title":"Accepted at Date-Time","description":"The date and time when the proposal was accepted.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"rejected_at":{"type":"string","format":"date-time","title":"Rejected at Date-Time","description":"The date and time when the proposal was rejected.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"proposed_wage_type_values":{"type":"array","title":"Proposed wage type values (optional)","description":"The proposed wage type values.","readOnly":false,"example":[]},"files_ids":{"type":"array","title":"Proposal files IDs (optional)","description":"The IDs of the files to be added to the proposal.","readOnly":false,"example":[]},"files":{"type":"array","title":"Files","description":"The assignment proposal uploaded files.","readOnly":true,"example":[]},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","description":"The date and time when the proposal was created.","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","description":"The date and time when the proposal was created.","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated at Date-Time Date","description":"The date and time when the proposal was last updated.","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated at Date-Time Time","description":"The date and time when the proposal was last updated.","readOnly":true,"example":"08:30:00"},"accepted_at_date":{"type":"string","format":"date","title":"Accepted at Date-Time Date","description":"The date and time when the proposal was accepted.","readOnly":true,"example":"2024-01-15"},"accepted_at_time":{"type":"string","format":"time","title":"Accepted at Date-Time Time","description":"The date and time when the proposal was accepted.","readOnly":true,"example":"08:30:00"},"rejected_at_date":{"type":"string","format":"date","title":"Rejected at Date-Time Date","description":"The date and time when the proposal was rejected.","readOnly":true,"example":"2024-01-15"},"rejected_at_time":{"type":"string","format":"time","title":"Rejected at Date-Time Time","description":"The date and time when the proposal was rejected.","readOnly":true,"example":"08:30:00"}},"title":"Wage Proposal","description":"Employee-submitted wage proposals for assignments, with file attachments and accept\/reject\/request-updates workflow. Special actions: proposable-wage-types, add-files, delete-files, accept, reject, request-updates. Embeddable: wageProposalAssignment, wageProposalPlanner.","example":{"id":22,"assignment_id":6068,"planner_id":null,"remarks":"Requesting additional travel expense.","requested_updates":null,"source":"employee_mobile_app","created_at":"2025-04-15 17:20:00","updated_at":"2025-04-15 17:20:00","accepted_at":null,"rejected_at":null,"proposed_wage_type_values":[{"wage_type_id":15,"value":35}],"files_ids":[],"files":[]}},"wage-types":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"external_id":{"type":"string","title":"External ID","readOnly":true,"example":""},"external_cost":{"type":"string","title":"External cost","readOnly":true,"example":""},"type":{"type":"string","title":"Payment Type","description":"**Values:**   `rated` -> Rated,  `fixed` -> Permanent.","readOnly":true,"enum":["rated","fixed"],"example":"rated"},"base_type":{"type":"string","title":"Base Value Type","description":"**Values:**   `predefined` -> Predefined (by wage type),  `adjustable` -> Adjustable (by assignment).","readOnly":true,"enum":["predefined","adjustable"],"example":"predefined"},"rate_base":{"type":"string","title":"Rate Base","description":"**Values:**   `work hours` -> Work hours (h),  `distance` -> Distance (km),  `distance round-trip` -> Distance round-trip (km).","readOnly":true,"enum":["work hours","distance","distance round-trip"],"example":"work hours"},"amount":{"type":"number","format":"float","title":"Permanent Payment - Amount","description":"For payments of type permanent (fixed) this represents the pay amount.","readOnly":true,"example":0},"rate":{"type":"number","format":"float","title":"Rated Payment - Pay Rate","description":"For payments of type rated this represents the payment rate.","readOnly":true,"example":0},"day_types":{"type":"object","title":"Valid on Weekdays","description":"The wage type only applies on week days specified here. If no day is specified it`s valid on all days. 1 is Monday, 7 is Sunday","readOnly":true},"is_controllable":{"type":"integer","title":"Is Controllable","description":"Can be enabled or disabled per assignment","readOnly":true,"example":0},"is_active":{"type":"integer","title":"Is Activated by Default","description":"For controllable wages: determines the default state, enabled or disabled.","readOnly":true,"example":0},"is_proposable":{"type":"integer","title":"Is Proposable","description":"Wage type can be selected when submitting work data.","readOnly":true,"example":0},"is_dynamic":{"type":"integer","title":"Is Dynamic","description":"Wage value is determined by a conditional attribute.","readOnly":true,"example":0},"is_quota_relevant":{"type":"integer","title":"Is Quota Relevant","description":"This wage type counts as a work quota.","readOnly":true,"example":0},"is_factor_editable":{"type":"integer","title":"Is rate factor editable","description":"For rated wages, allows the factor to be edited manually.","readOnly":true,"example":0},"valid_from":{"type":"string","format":"time","title":"Valid From Time","description":"The wage type is valid starting with this time.","readOnly":true,"example":"08:30:00"},"valid_to":{"type":"string","format":"time","title":"Valid To Time","description":"The wage type is valid until this time.","readOnly":true,"example":"08:30:00"},"currency_format":{"type":"string","title":"Currency Format","readOnly":true,"example":""},"wage_type_values":{"type":"object","title":"Wage values","description":"This can contain one value object if the wage is not dynamic or multiple value object together with the conditions they apply for if this is a dynamic wage type.","readOnly":true}},"title":"Wage Type","description":"Wage type definitions including payment type (rated\/fixed), rate bases, controllability, and conditional dynamic values. Embeddable: wageTypeProfiles.","example":{"id":10,"name":"Hourly Rate","external_id":"HR-001","external_cost":"25.50","type":"rated","base_type":"predefined","rate_base":"worked_hours","amount":null,"rate":25.5,"day_types":[1,2,3,4,5],"is_controllable":0,"is_active":1,"is_proposable":1,"is_dynamic":0,"is_quota_relevant":1,"is_factor_editable":0,"valid_from":"06:00","valid_to":"22:00","currency_format":"CHF","wage_type_values":[{"id":100,"amount":null,"rate":25.5,"rate_base":"worked_hours","unit":"hours","wage_type_condition":null}]}},"webhooks":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"trigger":{"type":"object","title":"Trigger","readOnly":false},"webhook":{"type":"object","title":"Webhook","readOnly":false}},"title":"Webhooks","description":"Webhook configurations with trigger conditions and target URLs for event-driven notifications.","example":{"id":12,"trigger":{"event":"employee.updated","conditions":[]},"webhook":{"url":"https:\/\/api.example.com\/webhooks\/staffcloud","method":"POST","headers":{"X-Webhook-Secret":"abc123"}}}},"work-quota-profiles":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"employee_id":{"type":"integer","title":"Employee Id","readOnly":true,"example":1},"work_quota_profile_id":{"type":"integer","title":"Work Quota Profile ID","readOnly":true,"example":1},"name":{"type":"string","title":"Name","readOnly":true,"example":""},"valid_from":{"type":"string","format":"date-time","title":"Valid From","readOnly":true,"example":"2024-01-15T08:30:00Z"},"valid_to":{"type":"string","format":"date-time","title":"Valid To","readOnly":true,"example":"2024-01-15T08:30:00Z"},"valid_from_date":{"type":"string","format":"date","title":"Valid From Date","readOnly":true,"example":"2024-01-15"},"valid_from_time":{"type":"string","format":"time","title":"Valid From Time","readOnly":true,"example":"08:30:00"},"valid_to_date":{"type":"string","format":"date","title":"Valid To Date","readOnly":true,"example":"2024-01-15"},"valid_to_time":{"type":"string","format":"time","title":"Valid To Time","readOnly":true,"example":"08:30:00"}},"title":"Work Quota Profile","description":"Work quota profiles linking employees to quota definitions with validity periods. Embeddable: workQuotaProfilesEmployee.","example":{"id":7,"employee_id":106,"work_quota_profile_id":2,"name":"Full-time 42h\/week","valid_from":"2025-01-01 00:00:00","valid_to":"2025-12-31 23:59:59"}},"work-time-proposals":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"assignment_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"planner_id":{"type":"integer","title":"Planner ID","description":"The ID of the planner who accepted\/rejected the proposal","readOnly":true,"example":1},"start":{"type":"string","format":"date-time","title":"Start Date-Time","description":"The proposed assignment start time.","readOnly":false,"example":"2024-01-15T08:30:00Z"},"end":{"type":"string","format":"date-time","title":"End Date-Time","description":"The proposed assignment end time.","readOnly":false,"example":"2024-01-15T08:30:00Z"},"break_start":{"type":"string","format":"date-time","title":"Break Start Date-Time","description":"The proposed assignment break start time.","readOnly":false,"example":"2024-01-15T08:30:00Z"},"break_end":{"type":"string","format":"date-time","title":"Break End Date-Time","description":"The proposed assignment break end time.","readOnly":false,"example":"2024-01-15T08:30:00Z"},"remarks":{"type":"string","title":"Remarks","description":"The assignment proposal remarks.","readOnly":false,"example":""},"requested_updates":{"type":"string","title":"Requested updates","description":"The assignment proposal requested updates.","readOnly":true,"example":""},"source":{"type":"string","title":"Source","description":"The assignment proposal creation source.","readOnly":false,"enum":["employee_mobile_app","employee_web_app","tla"],"example":"employee_mobile_app"},"created_at":{"type":"string","format":"date-time","title":"Created at Date-Time","description":"The date and time when the proposal was created.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated at Date-Time","description":"The date and time when the proposal was last updated.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"accepted_at":{"type":"string","format":"date-time","title":"Accepted at Date-Time","description":"The date and time when the proposal was accepted.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"rejected_at":{"type":"string","format":"date-time","title":"Rejected at Date-Time","description":"The date and time when the proposal was rejected.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"rejected":{"type":"array","title":"Rejected","description":"Contains the times which were rejected when the proposal was accepted.","readOnly":true,"example":[]},"start_date":{"type":"string","format":"date","title":"Start Date-Time Date","description":"The proposed assignment start time.","readOnly":true,"example":"2024-01-15"},"start_time":{"type":"string","format":"time","title":"Start Date-Time Time","description":"The proposed assignment start time.","readOnly":true,"example":"08:30:00"},"end_date":{"type":"string","format":"date","title":"End Date-Time Date","description":"The proposed assignment end time.","readOnly":true,"example":"2024-01-15"},"end_time":{"type":"string","format":"time","title":"End Date-Time Time","description":"The proposed assignment end time.","readOnly":true,"example":"08:30:00"},"break_start_date":{"type":"string","format":"date","title":"Break Start Date-Time Date","description":"The proposed assignment break start time.","readOnly":true,"example":"2024-01-15"},"break_start_time":{"type":"string","format":"time","title":"Break Start Date-Time Time","description":"The proposed assignment break start time.","readOnly":true,"example":"08:30:00"},"break_end_date":{"type":"string","format":"date","title":"Break End Date-Time Date","description":"The proposed assignment break end time.","readOnly":true,"example":"2024-01-15"},"break_end_time":{"type":"string","format":"time","title":"Break End Date-Time Time","description":"The proposed assignment break end time.","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created at Date-Time Date","description":"The date and time when the proposal was created.","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created at Date-Time Time","description":"The date and time when the proposal was created.","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated at Date-Time Date","description":"The date and time when the proposal was last updated.","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated at Date-Time Time","description":"The date and time when the proposal was last updated.","readOnly":true,"example":"08:30:00"},"accepted_at_date":{"type":"string","format":"date","title":"Accepted at Date-Time Date","description":"The date and time when the proposal was accepted.","readOnly":true,"example":"2024-01-15"},"accepted_at_time":{"type":"string","format":"time","title":"Accepted at Date-Time Time","description":"The date and time when the proposal was accepted.","readOnly":true,"example":"08:30:00"},"rejected_at_date":{"type":"string","format":"date","title":"Rejected at Date-Time Date","description":"The date and time when the proposal was rejected.","readOnly":true,"example":"2024-01-15"},"rejected_at_time":{"type":"string","format":"time","title":"Rejected at Date-Time Time","description":"The date and time when the proposal was rejected.","readOnly":true,"example":"08:30:00"}},"title":"Work Time Proposal","description":"Employee-submitted work time proposals for assignments, with accept\/reject\/request-updates workflow. Special actions: accept, reject, request-updates. Embeddable: workTimeProposalAssignment, workTimeProposalPlanner.","example":{"id":18,"assignment_id":6068,"planner_id":null,"start":"2025-04-15 08:05:00","end":"2025-04-15 17:10:00","break_start":"2025-04-15 12:00:00","break_end":"2025-04-15 12:30:00","remarks":"Stayed a few minutes extra for cleanup.","requested_updates":null,"source":"employee_mobile_app","created_at":"2025-04-15 17:15:00","updated_at":"2025-04-15 17:15:00","accepted_at":null,"rejected_at":null,"rejected":[]}},"work-times":{"type":"object","properties":{"id":{"type":"integer","title":"ID","readOnly":true,"example":42},"event_function_employee_id":{"type":"integer","title":"Assignment ID","readOnly":true,"example":1},"start":{"type":"string","format":"date-time","title":"Work Start Date-Time","description":"The assignments work start time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"end":{"type":"string","format":"date-time","title":"Work End Date-Time","description":"The assignments work end time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"work_time":{"type":"string","title":"Work Time including breaks","description":"The assignments work time including breaks.","readOnly":true,"example":""},"work_time_without_break":{"type":"string","title":"Work Time excluding breaks","description":"The assignments work time excluding breaks.","readOnly":true,"example":""},"break_start":{"type":"string","format":"date-time","title":"Break Start Date-Time","description":"The assignments break start time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"break_end":{"type":"string","format":"date-time","title":"Break End Date-Time","description":"The assignments break end time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"break_time":{"type":"string","title":"Break Time","description":"The assignments break time.","readOnly":true,"example":""},"remarks":{"type":"string","title":"Work Times Remarks","description":"Optional remarks for the work times.","readOnly":true,"example":""},"is_approved":{"type":"integer","title":"Is Approved","description":"Whether the work times were approved or not.","readOnly":true,"example":0},"approved_on":{"type":"string","format":"date-time","title":"Approved On Date-Time","description":"The date and time when the work times were approved.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"approved_by_planner_id":{"type":"integer","title":"Approved By Planner ID","description":"The ID of the planner that approved the work times.","readOnly":true,"example":0},"created_at":{"type":"string","format":"date-time","title":"Created Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"updated_at":{"type":"string","format":"date-time","title":"Updated Date-Time","readOnly":true,"example":"2024-01-15T08:30:00Z"},"proposal_work_start":{"type":"string","format":"date-time","title":"Proposed Work Start Date-Time","description":"The proposed work start time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"proposal_work_end":{"type":"string","format":"date-time","title":"Proposed Work End Date-Time","description":"The proposed work end time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"proposal_work_time":{"type":"string","title":"Proposed Work Time","description":"The proposed work time.","readOnly":true,"example":""},"proposal_break_start":{"type":"string","format":"date-time","title":"Proposed Break Start Date-Time","description":"The proposed break start time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"proposal_break_end":{"type":"string","format":"date-time","title":"Proposed Break End Date-Time","description":"The proposed break end time.","readOnly":true,"example":"2024-01-15T08:30:00Z"},"proposal_break_time":{"type":"string","title":"Proposed Break Time","description":"The proposed break time.","readOnly":true,"example":""},"employee_remarks":{"type":"string","title":"Employee Remarks","description":"Remarks submitted by the employee when sending work data.","readOnly":true,"example":""},"start_date":{"type":"string","format":"date","title":"Work Start Date-Time Date","description":"The assignments work start time.","readOnly":true,"example":"2024-01-15"},"start_time":{"type":"string","format":"time","title":"Work Start Date-Time Time","description":"The assignments work start time.","readOnly":true,"example":"08:30:00"},"end_date":{"type":"string","format":"date","title":"Work End Date-Time Date","description":"The assignments work end time.","readOnly":true,"example":"2024-01-15"},"end_time":{"type":"string","format":"time","title":"Work End Date-Time Time","description":"The assignments work end time.","readOnly":true,"example":"08:30:00"},"break_start_date":{"type":"string","format":"date","title":"Break Start Date-Time Date","description":"The assignments break start time.","readOnly":true,"example":"2024-01-15"},"break_start_time":{"type":"string","format":"time","title":"Break Start Date-Time Time","description":"The assignments break start time.","readOnly":true,"example":"08:30:00"},"break_end_date":{"type":"string","format":"date","title":"Break End Date-Time Date","description":"The assignments break end time.","readOnly":true,"example":"2024-01-15"},"break_end_time":{"type":"string","format":"time","title":"Break End Date-Time Time","description":"The assignments break end time.","readOnly":true,"example":"08:30:00"},"approved_on_date":{"type":"string","format":"date","title":"Approved On Date-Time Date","description":"The date and time when the work times were approved.","readOnly":true,"example":"2024-01-15"},"approved_on_time":{"type":"string","format":"time","title":"Approved On Date-Time Time","description":"The date and time when the work times were approved.","readOnly":true,"example":"08:30:00"},"created_at_date":{"type":"string","format":"date","title":"Created Date-Time Date","readOnly":true,"example":"2024-01-15"},"created_at_time":{"type":"string","format":"time","title":"Created Date-Time Time","readOnly":true,"example":"08:30:00"},"updated_at_date":{"type":"string","format":"date","title":"Updated Date-Time Date","readOnly":true,"example":"2024-01-15"},"updated_at_time":{"type":"string","format":"time","title":"Updated Date-Time Time","readOnly":true,"example":"08:30:00"},"proposal_work_start_date":{"type":"string","format":"date","title":"Proposed Work Start Date-Time Date","description":"The proposed work start time.","readOnly":true,"example":"2024-01-15"},"proposal_work_start_time":{"type":"string","format":"time","title":"Proposed Work Start Date-Time Time","description":"The proposed work start time.","readOnly":true,"example":"08:30:00"},"proposal_work_end_date":{"type":"string","format":"date","title":"Proposed Work End Date-Time Date","description":"The proposed work end time.","readOnly":true,"example":"2024-01-15"},"proposal_work_end_time":{"type":"string","format":"time","title":"Proposed Work End Date-Time Time","description":"The proposed work end time.","readOnly":true,"example":"08:30:00"},"proposal_break_start_date":{"type":"string","format":"date","title":"Proposed Break Start Date-Time Date","description":"The proposed break start time.","readOnly":true,"example":"2024-01-15"},"proposal_break_start_time":{"type":"string","format":"time","title":"Proposed Break Start Date-Time Time","description":"The proposed break start time.","readOnly":true,"example":"08:30:00"},"proposal_break_end_date":{"type":"string","format":"date","title":"Proposed Break End Date-Time Date","description":"The proposed break end time.","readOnly":true,"example":"2024-01-15"},"proposal_break_end_time":{"type":"string","format":"time","title":"Proposed Break End Date-Time Time","description":"The proposed break end time.","readOnly":true,"example":"08:30:00"}},"title":"Work Times","description":"Recorded work times for assignments, including start, end, break times, approval status, and proposed times. Embeddable: workTimesAssignment.","example":{"id":150,"event_function_employee_id":6068,"start":"2025-04-15 08:05:00","end":"2025-04-15 17:10:00","work_time":"09:05","work_time_without_break":"08:35","break_start":"2025-04-15 12:00:00","break_end":"2025-04-15 12:30:00","break_time":"00:30","remarks":"Stayed 10 minutes past shift end for cleanup.","is_approved":1,"approved_on":"2025-04-16 09:00:00","approved_by_planner_id":3,"created_at":"2025-04-15 17:10:00","updated_at":"2025-04-16 09:00:00","proposal_work_start":"2025-04-15 08:00:00","proposal_work_end":"2025-04-15 17:00:00","proposal_work_time":"09:00","proposal_break_start":"2025-04-15 12:00:00","proposal_break_end":"2025-04-15 12:30:00","proposal_break_time":"00:30","employee_remarks":"Cleanup took a bit longer than expected."}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token obtained via POST \/{resource}\/token"}}},"tags":[{"name":"Assignment Billings","description":"Billing calculations for assignments, including billed amounts, base values, factors, and associated billing components details. Embeddable: billingAssignment, billingProfile."},{"name":"Assignment Contract","description":"Contract documents generated for assignments, including document templates and file references. Special actions: file. Embeddable: contractAssignment."},{"name":"Assignment Employment Reports","description":"Employment report documents generated for assignments, including report type and associated data. Embeddable: reportAssignment."},{"name":"Assignment Wages","description":"Wage calculations for assignments, including payable amounts, base values, factors, and associated wage type details. Embeddable: wageAssignment, wageProfile."},{"name":"Assignments","description":"Event assignments linking employees to event functions, including status, scheduling, payment, and work data. Special actions: status-map, status, teamsheet, open-actions, configurations, pay, reporting-forms, signed-work-data, signed-work-data-approvers, time. Embeddable: assignmentEmployee, assignmentEvent, assignmentProject, assignmentFunction, assignmentWageProfile, assignmentLocation, paysheets, work-times, wages, report, contract, work-time-proposals, wage-proposals, livestamps, checkins, pre-checkins."},{"name":"Attribute","description":"Dynamic attribute definitions used across entities, including type, identifier, and language-specific labels. Embeddable: attributeCollection, languages."},{"name":"Authentication"},{"name":"Automations","description":"Automation rules with configurable triggers and routines for workflow automation."},{"name":"Availability Requests","description":"Availability request campaigns sent to employees, tracking request status, date ranges, and completion. Embeddable: employee, definition, availabilities."},{"name":"Availability Requests Availabilities","description":"Employee availability responses for availability requests, containing the submitted availability data per employee. Embeddable: availability-request, employee."},{"name":"Availability Requests Definitions","description":"Configuration definitions for availability requests, including rules, time slots, and requested availabilities. Embeddable: availability-request."},{"name":"Billing Profile","description":"Billing profiles grouping billing components with validity periods. Embeddable: profileBillingComponents."},{"name":"Billing component","description":"Billing component definitions including payment type (rated\/fixed), rate bases, controllability, and conditional dynamic values. Embeddable: billingComponentProfiles."},{"name":"Busy Dates","description":"Employee unavailability periods with type, date range, and optional file attachments. Embeddable: busyDatesEmployee."},{"name":"Change Requests","description":"Employee requests to change the value of a dynamic attribute which has the setting \"Field change requires planner approval\" set."},{"name":"Check Ins","description":"Assignment check-in records with timestamps, GPS hash, metadata, source, and type information. Embeddable: checkInAssignment."},{"name":"Client","description":"Client organizations with status management and dynamic attributes. Embeddable: clientEvents, clientProjects, clientContacts. Supports dynamic fields."},{"name":"Collections","description":"Configurable lookup collections (picklists) with CRUD operations on individual collection values. Special actions: values, objects, value."},{"name":"Contact","description":"Client contact persons with status management and dynamic attributes. Embeddable: contactClient, contactEvents, contactProjects. Supports dynamic fields."},{"name":"Counties","description":"Geographic county\/region reference data with name, code, and country. Read-only reference data."},{"name":"Device Tokens"},{"name":"Documents"},{"name":"Employee Availability","description":"Aggregated employee availability data per time slot and date, including request and planner information. Embeddable: employee, timeSlot."},{"name":"Employee Notes","description":"Planner-created notes attached to employees with HTML content support. Embeddable: employee."},{"name":"Employee Pictures","description":"Employee profile pictures with ordering and profile picture designation. Embeddable: employee, file."},{"name":"Employee Teams","description":"Team membership records linking employees to teams. Embeddable: employee."},{"name":"Employee framework contracts"},{"name":"Employees","description":"Employee records including status, employment type, wage profile, and activity timestamps. Special actions: active, state, forms. Embeddable: employeePictures, employeeBusyDates, employeeAssignments, employeeWageProfile, employeeWorkQuotaProfiles, employeeTeams, availability-requests, availabilities, employeeAvailability, employeeRatings, payslips, employeeNotes. Supports dynamic fields."},{"name":"Event","description":"Events with scheduling, status, and staffing configuration. Special actions: forms, reporting-forms. Embeddable: eventProject, eventFunctions, eventClient, eventContact, eventAssignments, eventPlanner, eventLocation. Supports dynamic fields."},{"name":"Event Functions","description":"Functions assigned to events, defining roles, scheduling, and staffing requirements. Embeddable: functionEvent, eventFunctionAssignments, location, function."},{"name":"Expiring Fields","description":"Read-only collection of authenticated employee fields with expiry dates (e.g. documents, certificates). Records are computed at request time from dynamic attributes; sorted by `days_to_expire` ascending. Available to employee accounts only."},{"name":"External Staff Providers","description":"External staff provider organizations that supply external workers. Supports dynamic fields."},{"name":"External Staff Requests","description":"Requests sent to external staff providers for staffing event functions, with status tracking and response management. Embeddable: eventFunction, assignment."},{"name":"External Workers","description":"External worker records managed by external staff providers, including status, wage profile, and activity timestamps. Special actions: active, state, forms. Embeddable: externalStaffProvider, employeeBusyDates, employeeAssignments, employeeWageProfile, employeeWorkQuotaProfiles, availability-requests, availabilities, employeeRatings. Supports dynamic fields."},{"name":"File","description":"File metadata records including path, name, MIME type, and size."},{"name":"Forms","description":"Form definitions with identifier, name, and type for data collection."},{"name":"Functions","description":"Reusable function (role) definitions with code, color, and sorting for use in event staffing."},{"name":"Generic Form Submissions","description":"Filled-in instances of generic forms. Each submission references a form definition (form_id) and one or more polymorphic targets (project \/ event \/ etc.)."},{"name":"Generic Forms","description":"Generic form definitions (entity = GenericFormSubmission). Read-only mirror of the legacy `forms` resource, hard-scoped to generic forms. Each response row carries an `allowed_targets` array of short entity-type aliases (project, event, \u2026). `index` accepts `?allowed_targets=alias[,alias\u2026]` to filter by whitelisted target types (OR-semantics)."},{"name":"Language","description":"Available languages with code and name for localization."},{"name":"Livestamp","description":"Livestamp records for assignments, capturing real-time work data with file attachments and accept\/reject workflow. Special actions: add-files, delete-files, accept, reject. Embeddable: livestampAssignment, livestampPlanner."},{"name":"Locations","description":"Physical locations with address, coordinates, and capacity details."},{"name":"Messages","description":"Messages within conversations, supporting threaded replies, read tracking, project-scoped context, thread grouping, and bulk operations. Special actions: conversations, send, mark-all-as-read."},{"name":"Notifications","description":"System notifications with subject, text, and read\/unread status."},{"name":"Pay Lines","description":"Individual pay line items within a pay run, linking wage calculations to assignments, events, projects, and employees. Embeddable: payLinePayRun, payLineEmployee, payLineAssignment, payLineEventFunction, payLineEvent, payLineProject, payLineClient, payLineContact."},{"name":"Pay Runs","description":"Pay run batches for payroll processing, with status tracking, date ranges, and payslip generation. Special actions: payslips. Embeddable: payRunPayLines, payslips."},{"name":"Paysheet","description":"Paysheet records for assignments with approval status and wage summary data. Embeddable: paysheetAssignment."},{"name":"Payslips","description":"Payslip documents generated from pay runs, linked to employees with PDF file references and amount details. Embeddable: employee, pay-run."},{"name":"Planners","description":"Planner user accounts with login credentials and personal details. Supports dynamic fields."},{"name":"Pre Check Ins","description":"Pre-check-in records for assignments, allowing employees to confirm attendance status before an event. Special actions: respond. Embeddable: preCheckInAssignment."},{"name":"Project","description":"Projects grouping events under a client, with status, scheduling, and dynamic attributes. Special actions: forms, reporting-forms. Embeddable: projectClient, projectContact, projectEvents, projectPlanner. Supports dynamic fields."},{"name":"Ratings","description":"Employee ratings with weighted criteria scores, linked to assignments, events, or projects. Special actions: criteria. Embeddable: employee."},{"name":"Reporting"},{"name":"Setting","description":"Read access to global, project and event level settings."},{"name":"Special Dates","description":"Special dates such as holidays or notable dates, each with a name, description, date, and optional location."},{"name":"Storage"},{"name":"Tenants"},{"name":"Time slots","description":"Predefined time slots with start and end times, grouped by category, used for employee availability scheduling. Embeddable: employeeAvailability."},{"name":"Wage Charge"},{"name":"Wage Profile","description":"Wage profiles grouping wage types with validity periods. Embeddable: profileWageTypes."},{"name":"Wage Proposal","description":"Employee-submitted wage proposals for assignments, with file attachments and accept\/reject\/request-updates workflow. Special actions: proposable-wage-types, add-files, delete-files, accept, reject, request-updates. Embeddable: wageProposalAssignment, wageProposalPlanner."},{"name":"Wage Type","description":"Wage type definitions including payment type (rated\/fixed), rate bases, controllability, and conditional dynamic values. Embeddable: wageTypeProfiles."},{"name":"Webhooks","description":"Webhook configurations with trigger conditions and target URLs for event-driven notifications."},{"name":"Work Quota Profile","description":"Work quota profiles linking employees to quota definitions with validity periods. Embeddable: workQuotaProfilesEmployee."},{"name":"Work Time Proposal","description":"Employee-submitted work time proposals for assignments, with accept\/reject\/request-updates workflow. Special actions: accept, reject, request-updates. Embeddable: workTimeProposalAssignment, workTimeProposalPlanner."},{"name":"Work Times","description":"Recorded work times for assignments, including start, end, break times, approval status, and proposed times. Embeddable: workTimesAssignment."}],"x-tagGroups":[{"name":"Resources","tags":["Assignment Billings","Assignment Contract","Assignment Employment Reports","Assignment Wages","Assignments","Attribute","Authentication","Automations","Availability Requests","Availability Requests Availabilities","Availability Requests Definitions","Billing Profile","Billing component","Busy Dates","Change Requests","Check Ins","Client","Collections","Contact","Counties","Device Tokens","Documents","Employee Availability","Employee Notes","Employee Pictures","Employee Teams","Employee framework contracts","Employees","Event","Event Functions","Expiring Fields","External Staff Providers","External Staff Requests","External Workers","File","Forms","Functions","Generic Form Submissions","Generic Forms","Language","Livestamp","Locations","Messages","Notifications","Pay Lines","Pay Runs","Paysheet","Payslips","Planners","Pre Check Ins","Project","Ratings","Reporting","Setting","Special Dates","Storage","Tenants","Time slots","Wage Charge","Wage Profile","Wage Proposal","Wage Type","Webhooks","Work Quota Profile","Work Time Proposal","Work Times"]}]}