### File Upload Response Example Source: https://demo.staff.cloud/api/docs/index An example of a successful response after uploading a file. It includes details about the stored file such as its ID, path, name, MIME type, status, and the user ID. ```json { "id": 8, "path": "9f1d1d056e86af3b542453521ea7691", "name": "text_58ac754s1cb2234.80345007.plain-charset-UTF-8", "mime": "text/plain;charset=UTF-8", "status": 0, "user_id": 54 } ``` -------------------------------- ### Retrieve List of Employees (curl) Source: https://demo.staff.cloud/api/docs/index Example of retrieving a list of employees using the GET method on the /employees endpoint. This is a read-only action. ```shell GET /employees ``` -------------------------------- ### Create New Employee (curl) Source: https://demo.staff.cloud/api/docs/index Example of creating a new employee using the POST method on the /employees endpoint. A 'Location' header will be returned with the URL of the new resource upon successful creation. ```shell POST /employees ``` -------------------------------- ### Get Configurations for Multiple Assignments Source: https://demo.staff.cloud/api/docs/index Retrieves configurations for a set of given assignments. ```APIDOC ## GET /assignments/configurations ### Description Retrieves configurations for a set of given assignments. ### Method GET ### Endpoint /assignments/configurations ### Parameters #### Query Parameters - **assignment_ids** (array) - Required - A comma-separated list of assignment IDs. ### Response #### Success Response (200) - **configurations** (object) - An object where keys are assignment IDs and values are their configurations. #### Response Example ```json { "configurations": { "1": {"billing_code": "INV-001"}, "2": {"billing_code": "INV-002"} } } ``` ``` -------------------------------- ### Get Assignment Configurations Source: https://demo.staff.cloud/api/docs/index Retrieves configurations for a specific assignment. ```APIDOC ## GET /assignments/{id}/configurations ### Description Retrieves configurations for a specific assignment. ### Method GET ### Endpoint /assignments/{id}/configurations ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the assignment. ### Response #### Success Response (200) - **configurations** (object) - An object containing assignment-specific configuration details. #### Response Example ```json { "configurations": { "billing_code": "INV-001", "requires_approval": true } } ``` ``` -------------------------------- ### Retrieve Specific Employee (curl) Source: https://demo.staff.cloud/api/docs/index Example of retrieving a specific employee by their ID using the GET method on the /employees/{id} endpoint. ```shell GET /employees/12 ``` -------------------------------- ### Retrieve Project with Embedded Client and Events (curl) Source: https://demo.staff.cloud/api/docs/index Example of retrieving a project and embedding related resources like client and events using the 'embed' query parameter. This reduces the number of API calls. ```shell $ curl https://.staff.cloud/api/v1/projects/12?embed=client.id,client.name,events \ -H "Authorization: Bearer " ``` -------------------------------- ### Filtering with Starts With Operator Source: https://demo.staff.cloud/api/docs/index Illustrates filtering text fields to find entries that begin with a specific prefix using the `=*...` operator. This is useful for prefix-based searches. ```HTTP GET /employees?name=*john ``` -------------------------------- ### Get Signed Work Data Configurations Source: https://demo.staff.cloud/api/docs/index Retrieves configurations for signed work data. Note: this action is deprecated. ```APIDOC ## GET /assignments/{id}/signed-work-data ### Description Retrieves configurations for signed work data. Note: this action is deprecated. Use GET /assignments/{id}/signed-work-data-approvers instead. ### Method GET ### Endpoint /assignments/{id}/signed-work-data ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the assignment. ### Response #### Success Response (200) - **configurations** (object) - An object containing configurations for signed work data. #### Response Example ```json { "configurations": { "enabled": true, "approval_required": false } } ``` ``` -------------------------------- ### Upload File using cURL Source: https://demo.staff.cloud/api/docs/index Example of how to upload a file using a POST request with cURL. Optional headers like Content-Type, X-File-Name, and X-File-Visibility can be included to specify file details and visibility. The -d flag is used to specify the file path. ```curl curl -X POST https://.staff.cloud/api/v1/files \ -H "Authorization: Bearer " \ -H "Content-Type: image/jpeg" \ -H "X-File-Name: filename.jpg" \ -H "X-File-Visibility: private" \ -d "@/path/to/filename.jpg" ``` -------------------------------- ### Override HTTP Method with X-HTTP-Method-Override (curl) Source: https://demo.staff.cloud/api/docs/index Demonstrates how to override the HTTP method for clients that only support GET and POST. The X-HTTP-Method-Override header can be used with POST requests to simulate PUT or DELETE actions. ```shell POST /employees/12 \ -H "X-HTTP-Method-Override: PUT" ``` -------------------------------- ### Clients Resource Create Source: https://demo.staff.cloud/api/docs/index Creates a new client resource. ```APIDOC ## POST /clients ### Description Creates a new client resource. ### Method POST ### Endpoint /clients ### Parameters #### Request Body - **company** (string) - Required - The name of the company. - **address_first** (string) - Optional - The first line of the address. - **address_second** (string) - Optional - The second line of the address. - **zip** (string) - Optional - The ZIP code. - **city** (string) - Optional - The city. - **country** (string) - Optional - The country. - **status** (integer) - Optional - The status of the client (default is 1). - **dynamic_field_86** (boolean) - Optional - Checkbox field value. - **dynamic_field_212** (integer) - Optional - Select field value. ### Request Example ```json { "example": { "company": "New Client Inc", "address_first": "456 Oak Ave", "city": "Springfield", "country": "USA", "dynamic_field_86": false } } ``` ### Response #### Success Response (201) - **id** (int) - The ID of the newly created client. - **relation_id** (int) - The relation ID of the new client. - **status** (integer) - The status of the new client. - **created_at** (string) - The timestamp when the client was created. - **updated_at** (string) - The timestamp when the client was last updated. #### Response Example ```json { "example": { "id": 2, "relation_id": 102, "status": 1, "created_at": "2023-01-02T11:00:00Z", "updated_at": "2023-01-02T11:00:00Z" } } ``` ``` -------------------------------- ### API Validation Error Response Example Source: https://demo.staff.cloud/api/docs/index An example of a validation error response for PUT and POST requests. It includes a main 'code' and 'message', and an 'errors' array detailing specific validation failures with 'code', 'field', and 'message' for each. ```json { "code" : "validation_failed", "message" : "Validation Failed", "errors" : [ { "code" : "invalid_character", "field" : "first_name", "message" : "First name must not contain have special characters" }, { "code" : "not_empty", "field" : "password", "message" : "Password cannot be blank" } ] } ``` -------------------------------- ### Sorting Employees by Age (Ascending) Source: https://demo.staff.cloud/api/docs/index Demonstrates sorting a list of employees by age in ascending order using the `sort` parameter with a `+` prefix. Ascending order is the default if no prefix is specified. ```HTTP GET /employees?sort=+age ``` -------------------------------- ### Get Assignment Teamsheet Source: https://demo.staff.cloud/api/docs/index Retrieves the team sheet for a specific assignment. ```APIDOC ## GET /assignments/{id}/teamsheet ### Description Retrieves the team sheet for a specific assignment. ### Method GET ### Endpoint /assignments/{id}/teamsheet ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the assignment. ### Response #### Success Response (200) - **teamsheet** (object) - The team sheet data for the assignment. #### Response Example ```json { "teamsheet": { "assignment_id": 1, "employees": [ {"id": 101, "name": "John Doe"}, {"id": 102, "name": "Jane Smith"} ] } } ``` ``` -------------------------------- ### Project Details API Source: https://demo.staff.cloud/api/docs/index This section outlines the fields available for project details within the Demo Staff Cloud API. It includes standard fields like IDs, names, and timestamps, as well as dynamic fields that can be customized. ```APIDOC ## GET /websites/demo_staff_cloud_api/projects ### Description Retrieves a list of projects with their details. ### Method GET ### Endpoint /websites/demo_staff_cloud_api/projects ### Parameters #### Query Parameters - **fields** (string) - Optional - Comma-separated list of fields to include in the response. ### Response #### Success Response (200) - **id** (int) - Read Only - ID of the project. - **relation_id** (int) - Read Only - Relation ID. - **client_id** (int) - Client ID. - **planner_id** (int) - Planner ID. - **contact_id** (int) - Contact ID. - **name** (string) - Project name. - **created_at** (string) - Read Only - Created date (date-time). - **updated_at** (string) - Read Only - Updated date (date-time). - **project_tags** (array) - Read Only - Tags associated with the project. - **dynamic_field_56** (any) - Dynamic Field - Data upload. - **dynamic_field_57** (any) - Dynamic Field - Project details. - **dynamic_field_58** (any) - Dynamic Field - Data upload. - **dynamic_field_109** (any) - Dynamic Field. - **dynamic_field_110** (any) - Dynamic Field. - **dynamic_field_117** (any) - Dynamic Field. - **dynamic_field_129** (any) - Dynamic Field. - **dynamic_field_133** (any) - Dynamic Field. - **dynamic_field_144** (any) - Dynamic Field - Dress code. - **dynamic_field_165** (any) - Dynamic Field. - **dynamic_field_170** (any) - Dynamic Field. - **dynamic_field_173** (any) - Dynamic Field - List of Materials. - **dynamic_field_174** (int) - Read Only - Dynamic Field. - **dynamic_field_175** (any) - Dynamic Field. - **dynamic_field_176** (any) - Dynamic Field. - **dynamic_field_177** (any) - Dynamic Field. - **dynamic_field_181** (any) - Dynamic Field - Contact info. - **dynamic_field_182** (any) - Dynamic Field - Direct contact. - **dynamic_field_185** (any) - Dynamic Field - Materials needed? - **dynamic_field_194** (any) - Dynamic Field. - **dynamic_field_211** (string) - Dynamic Field - Formatted number. - **dynamic_field_228** (any) - Dynamic Field. - **dynamic_field_229** (boolean) - Dynamic Field. #### Response Example ```json { "id": 1, "relation_id": 101, "client_id": 201, "planner_id": 301, "contact_id": 401, "name": "Sample Project", "created_at": "2023-10-27T10:00:00Z", "updated_at": "2023-10-27T10:00:00Z", "project_tags": ["tag1", "tag2"], "dynamic_field_174": 123, "dynamic_field_181": "+1234567890", "dynamic_field_185": "yes", "dynamic_field_211": "1,234.56", "dynamic_field_229": true } ``` ``` -------------------------------- ### Filtering Resources Source: https://demo.staff.cloud/api/docs/index Demonstrates how to filter resources using query parameters. You can filter by specific fields using various operators like '=', '=~', '=<', '=>', etc. Complex filtering with AND and OR logic is also supported. ```APIDOC ## Filtering Resources ### Description Use unique query parameters for each field to filter results. The API supports various expressions and operators for flexible filtering. ### Method GET ### Endpoint `/resource?field_name=operator_value` ### Query Parameters - **field_name** (string) - Required - The name of the field to filter on. - **operator_value** (string) - Required - The value and operator to use for filtering. Supported operators include: - `=~` (Like, case insensitive) - `=` (Equals, case sensitive) - `=-` (Not equals) - `=<` (Less than) - `=>` (Greater than) - `=_..._` (Contains) - `=-_..._` (Not contains) - `=*...` (Starts with) - `=...*` (Ends with) - `=null` (null) - `=-null` (not null) - `=` (empty string) - `=-` (not empty string) ### Example `GET /employees?state=1` `GET /employees?name=~john` `GET /employees?age=<30` `GET /employees?name=john,george` (OR condition) `GET /employees?count=>2&count=<5` (AND condition) ### Response #### Success Response (200) - **data** (array) - List of resources matching the filter criteria. #### Response Example ```json { "data": [ { "id": 1, "name": "John Doe", "state": "active" } ] } ``` ``` -------------------------------- ### Get Open Actions for Assignment Source: https://demo.staff.cloud/api/docs/index Retrieves open actions for a specific assignment. ```APIDOC ## GET /assignments/{id}/open-actions ### Description Retrieves open actions for a specific assignment. ### Method GET ### Endpoint /assignments/{id}/open-actions ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the assignment. ### Response #### Success Response (200) - **open_actions** (object) - An object containing information about available open actions. #### Response Example ```json { "open_actions": { "can_edit": true, "can_cancel": false } } ``` ``` -------------------------------- ### Enabling JSONP Response Source: https://demo.staff.cloud/api/docs/index Shows how to enable JSONP response format by adding the `callback` query parameter to the request URL. This ensures the response is wrapped in the specified callback function. ```HTTP GET /resource?callback=my_jsonp_callback ``` -------------------------------- ### Get External Staff Request by ID Source: https://demo.staff.cloud/api/docs/index Retrieves a specific external staff request by its ID. ```APIDOC ## GET /external-staff-requests/ ### Description Retrieves a specific external staff request by its ID. ### Method GET ### Endpoint /external-staff-requests/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the external staff request. ### Request Example ```json { "example": "Not applicable for GET request" } ``` ### Response #### Success Response (200) - **status** (string) - External Status. - **status_message** (string) - External Status Message. - **link** (string) - External URL. - **remarks** (string) - External Remarks. - **attributes** (json) - Attributes. - **last_status_update_at** (date-time) - Last Status Update At. - **created_at** (date-time) - Created At. - **updated_at** (date-time) - Updated. #### Response Example ```json { "example": { "status": "pending", "status_message": "Request received, awaiting processing.", "link": null, "remarks": "Initial request logged.", "attributes": {}, "last_status_update_at": "2023-10-27T09:00:00Z", "created_at": "2023-10-27T09:00:00Z", "updated_at": "2023-10-27T09:00:00Z" } } ``` ``` -------------------------------- ### Get Signed Work Data Approvers Source: https://demo.staff.cloud/api/docs/index Retrieves the approvers that can sign work data for an assignment. ```APIDOC ## GET /assignments/{id}/signed-work-data-approvers ### Description Retrieves the approvers that can sign work data for an assignment. ### Method GET ### Endpoint /assignments/{id}/signed-work-data-approvers ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the assignment. ### Response #### Success Response (200) - **approvers** (array) - An array of approver objects. #### Response Example ```json { "approvers": [ {"id": 201, "name": "Alice"}, {"id": 202, "name": "Bob"} ] } ``` ``` -------------------------------- ### Sorting Employees by Age (Descending) then Name (Ascending) Source: https://demo.staff.cloud/api/docs/index Illustrates complex sorting by first sorting by age in descending order (using `-`) and then by name in ascending order for records with the same age. This provides granular control over result ordering. ```HTTP GET /employees?sort=-age,name ``` -------------------------------- ### Delete Employee (curl) Source: https://demo.staff.cloud/api/docs/index Example of deleting an employee using the DELETE method on the /employees/{id} endpoint. ```shell DELETE /employees/12 ``` -------------------------------- ### Error Responses Source: https://demo.staff.cloud/api/docs/index Examples and explanations of common error response formats, including generic errors and validation errors. ```APIDOC ## Errors ### Description In case of errors, the API provides structured responses that explain the issues encountered. #### Example Error Response ```json { "code" : "field_deleted", "message" : "Field not available", "description" : "The requested field has been deleted." } ``` #### Example Validation Error Response (for PUT and POST requests) ```json { "code" : "validation_failed", "message" : "Validation Failed", "errors" : [ { "code" : "invalid_character", "field" : "first_name", "message" : "First name must not contain special characters" }, { "code" : "not_empty", "field" : "password", "message" : "Password cannot be blank" } ] } ``` ``` -------------------------------- ### Filtering Employees by State Source: https://demo.staff.cloud/api/docs/index Demonstrates how to filter a list of employees using a query parameter to specify their state. The `state` parameter accepts values like '1' for active employees. ```HTTP GET /employees?state=1 ``` -------------------------------- ### Get Reporting Forms for Assignment Source: https://demo.staff.cloud/api/docs/index Retrieves reporting forms attached to a particular assignment via related event/project. ```APIDOC ## GET /assignments/{id}/reporting-forms ### Description Retrieves reporting forms attached to a particular assignment via related event/project. ### Method GET ### Endpoint /assignments/{id}/reporting-forms ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the assignment. ### Response #### Success Response (200) - **reporting_forms** (array) - An array of reporting form objects. #### Response Example ```json { "reporting_forms": [ {"id": 1001, "name": "Daily Report"}, {"id": 1002, "name": "Weekly Summary"} ] } ``` ``` -------------------------------- ### Clients Resource Listing Source: https://demo.staff.cloud/api/docs/index Retrieves a list of all clients. Supports filtering and pagination. ```APIDOC ## GET /clients ### Description Retrieves a list of all clients. Supports filtering and pagination. ### Method GET ### Endpoint /clients ### Parameters #### Query Parameters - **page** (int) - Optional - The page number to retrieve. - **limit** (int) - Optional - The number of clients to return per page. - **filter** (string) - Optional - Criteria to filter clients by. ### Request Example ```json { "example": "GET /clients?page=1&limit=20&filter=company=Acme Corp" } ``` ### Response #### Success Response (200) - **data** (array) - An array of client objects. - **pagination** (object) - Pagination details. #### Response Example ```json { "example": { "data": [ { "id": 1, "relation_id": 101, "status": 1, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z", "company": "Acme Corp", "address_first": "123 Main St", "address_second": "Suite 100", "zip": "90210", "city": "Beverly Hills", "country": "USA", "dynamic_field_86": true, "dynamic_field_212": 1 } ], "pagination": { "total": 100, "page": 1, "limit": 20 } } } ``` ``` -------------------------------- ### Get Staff Information Source: https://demo.staff.cloud/api/docs/index Retrieves detailed information about a specific staff member, including their core details and all dynamic fields. ```APIDOC ## GET /websites/demo_staff_cloud_api/staff/{id} ### Description Retrieves detailed information about a specific staff member by their ID. This includes standard fields like ID, status, created_at, updated_at, and all associated dynamic fields. ### Method GET ### Endpoint /websites/demo_staff_cloud_api/staff/{id} ### Parameters #### Path Parameters - **id** (int) - Required - The unique identifier of the staff member. ### Response #### Success Response (200) - **id** (int) - ID of the employee. - **status** (int) - Current status of the employee. - **wage_profile_id** (int) - The ID of the associated wage profile. - **created_at** (string: date-time) - The date the employee was created in the system. - **updated_at** (string: date-time) - The date the employee was last updated in the system. - **reminded_at** (string: date-time) - The date the employee was last reminded to complete the recruiting process. - **last_logged_in_at** (string: date-time) - The date the employee was last logged in. - **last_active_at** (string: date-time) - The date the employee was last active. - **activated_at** (string: date-time) - The date the employee was activated. - **deactivated_at** (string: date-time) - The date the employee was deactivated. - **password_expires_at** (string: date-time) - The date when the employee password will expire. - **firstname** (string) - First name of the employee. - **lastname** (string) - Last name of the employee. - **email** (string) - Email address of the employee. - **mobile** (string) - Mobile number of the employee. - **address_first** (string) - Street address of the employee. - **address_second** (string) - Second line of the employee's address. - **zip** (string) - Postal code of the employee. - **city** (string) - City of the employee. - **country** (string) - Country of the employee. - **qualifications** (string) - Qualifications of the employee. - **dynamic_field_26** (string) - Applies for field. - **dynamic_field_27** (string) - How did you hear about us? field. - **dynamic_field_28** (number) - Height of the employee. - **dynamic_field_30** (string) - E-Mail Sprache field. - **dynamic_field_31** (string) - Driver information. - **dynamic_field_32** (string) - Car information. - **dynamic_field_33** (string) - Gesundheitszeugnis field. - **dynamic_field_34** (string) - NI Number of the employee. - **dynamic_field_38** (string) - IBAN of the employee. - **dynamic_field_39** (string) - Bank information. - **dynamic_field_41** (string) - Religious denomination of the employee. - **dynamic_field_43** (string) - Driver's licence information. - **birthday** (string: date) - Birthday of the employee. - **dynamic_field_48** (string) - Employment Contract details. - **dynamic_field_49** (string) - Visa details. - **gender** (string) - Gender of the employee. - **dynamic_field_54** (string) - Unspecified dynamic field. - **dynamic_field_62** (string) - Document 3. - **dynamic_field_63** (string) - Photo 1. - **dynamic_field_66** (string) - Unspecified dynamic field. - **dynamic_field_69** (string) - Ich akzeptiere die AGB field. - **dynamic_field_72** (string) - Employment type. - **dynamic_field_73** (string: date) - Expiry date of Student card. - **dynamic_field_74** (number) - DIAS number. - **dynamic_field_75** (string) - Languages spoken by the employee. - **dynamic_field_76** (string: date) - Date field. - **dynamic_field_77** (currency) - Account Balance. - **dynamic_field_80** (string) - Validatione Grande field. - **dynamic_field_81** (string) - Unspecified dynamic field. - **dynamic_field_83** (string) - Afbeelding badge field. - **dynamic_field_84** (string: date) - Datum Badge field. - **dynamic_field_87** (int) - EMP ID. - **dynamic_field_90** (string) - Unspecified dynamic field. - **dynamic_field_91** (string) - Nationality of the employee. - **dynamic_field_92** (string) - Unspecified dynamic field. #### Response Example ```json { "id": 123, "status": 1, "wage_profile_id": 45, "created_at": "2023-01-15T10:30:00Z", "updated_at": "2023-10-20T15:00:00Z", "reminded_at": null, "last_logged_in_at": "2023-10-25T08:00:00Z", "last_active_at": "2023-10-25T08:05:00Z", "activated_at": "2023-01-15T10:30:00Z", "deactivated_at": null, "password_expires_at": "2024-01-15T10:30:00Z", "firstname": "John", "lastname": "Doe", "email": "john.doe@example.com", "mobile": "+1234567890", "address_first": "123 Main St", "address_second": "Apt 4B", "zip": "10001", "city": "New York", "country": "USA", "qualifications": "B.Sc. in Computer Science", "dynamic_field_26": "Software Engineer", "dynamic_field_27": "Referral", "dynamic_field_28": 180, "dynamic_field_30": "English", "dynamic_field_31": "Class B", "dynamic_field_32": "Sedan", "dynamic_field_33": "Valid", "dynamic_field_34": "ABC12345D", "dynamic_field_38": "GB29NWBK60161331924101", "dynamic_field_39": "Example Bank", "dynamic_field_41": "Christian", "dynamic_field_43": "Valid", "birthday": "1990-05-15", "dynamic_field_48": "Permanent Contract", "dynamic_field_49": "Work Permit", "gender": "Male", "dynamic_field_54": "Some Value", "dynamic_field_62": "Document Content", "dynamic_field_63": "Photo Binary Data", "dynamic_field_66": "Another Value", "dynamic_field_69": "Agreed", "dynamic_field_72": "Full-time", "dynamic_field_73": "2025-12-31", "dynamic_field_74": 12345, "dynamic_field_75": "English, Spanish", "dynamic_field_76": "2023-11-01", "dynamic_field_77": 1500.50, "dynamic_field_80": "Validation Text", "dynamic_field_81": "Yet Another Value", "dynamic_field_83": "Badge Image Data", "dynamic_field_84": "2023-10-01", "dynamic_field_87": 9876, "dynamic_field_90": "Final Value", "dynamic_field_91": "British", "dynamic_field_92": "More Data" } ``` ``` -------------------------------- ### Retrieving Employee by ID in JSON Format Source: https://demo.staff.cloud/api/docs/index Shows how to retrieve a specific employee by their ID and explicitly request the response in JSON format by appending `.json` to the URL. ```HTTP GET /employees/12.json ``` -------------------------------- ### Get Reporting Forms for Multiple Assignments Source: https://demo.staff.cloud/api/docs/index Retrieves reporting forms attached to multiple assignments via related events/projects. ```APIDOC ## GET /assignments/reporting-forms ### Description Retrieves reporting forms attached to multiple assignments via related events/projects. ### Method GET ### Endpoint /assignments/reporting-forms ### Parameters #### Query Parameters - **assignment_ids** (array) - Required - A comma-separated list of assignment IDs. ### Response #### Success Response (200) - **reporting_forms** (object) - An object where keys are assignment IDs and values are arrays of their reporting forms. #### Response Example ```json { "reporting_forms": { "1": [{"id": 1001, "name": "Daily Report"}], "2": [{"id": 1002, "name": "Weekly Summary"}] } } ``` ``` -------------------------------- ### HTTP Method Override Source: https://demo.staff.cloud/api/docs/index Allows overriding the HTTP method for clients that only support GET and POST requests, using the 'X-HTTP-Method-Override' header. ```APIDOC ## Overriding the HTTP method ### Description Some HTTP clients can only work with simple GET and POST requests. To increase accessibility to these limited clients, the API supports a request header `X-HTTP-Method-Override` with a string value containing one of `PUT` or `DELETE`. Note that the override header is only accepted on POST requests. GET requests must never change data! ### Method POST ### Endpoint Any endpoint that supports PUT or DELETE operations. ### Parameters #### Header Parameters - **X-HTTP-Method-Override** (string) - Required - `PUT` or `DELETE`. - **Authorization** (string) - Required - `Bearer ` ### Request Example **Simulating a PUT request using POST:** ```bash curl POST https://.staff.cloud/api/v1/employees/12 \ -H "X-HTTP-Method-Override: PUT" \ -H "Authorization: Bearer " \ -d '{"position": "Lead Developer"}' ``` **Simulating a DELETE request using POST:** ```bash curl POST https://.staff.cloud/api/v1/employees/12 \ -H "X-HTTP-Method-Override: DELETE" \ -H "Authorization: Bearer " ``` ```