import { Client } from 'openapi-fetch'; /** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ interface paths { "/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Users * @description List all Users the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchUsers"]; put?: never; /** * create an User * @description Creates a new User based on the data provided in the request body. */ post: operations["createUser"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a single user * @description Retrieves a single User based on its User ID. */ get: operations["getUser"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * updates a single User * @description Updates the User specified by the id with the fields provided in the request body. */ patch: operations["updateUser"]; trace?: never; }; "/users/{id}/working-time-accounts/{date}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a user's working time accounts * @description Retrieves a User's working time accounts balance to a given day. */ get: operations["getUserWorkingTimeAccounts"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}/work-schedule-model": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a User's Work-Schedule-Model * @description Retrieves the corresponding Work-Schedule-Model with durations in minutes based on a User's ID */ get: operations["getUserWorkScheduleModel"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}/tasks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Fetches all tasks the user is assigned to * @description Lists all tasks the authenticated user/authtoken is permitted to see. * * The response includes tasks regardless of whether the tasks are currently active or locked, since the API does not filter tasks based on the request time. If only active tasks should be displayed (as in the timr UI), this filtering must be implemented on the client side. * * The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchUserTasks"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}/team-memberships": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches User's Team Memberships * @description List all Team Memberships of a User that the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchUserTeamMemberships"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}/team-leaderships": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches User's Team Leaderships * @description List all Team Leaderships of a User that the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchUserTeamLeaderships"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/teams": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Teams * @description List all Teams the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTeams"]; put?: never; /** * create a Team * @description Creates a new Team based on the data provided in the request body. */ post: operations["createTeam"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/teams/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a single team * @description Retrieves a single team based on its team id. */ get: operations["getTeam"]; put?: never; post?: never; /** * deletes a single Team * @description Deletes a single Team based on its id. */ delete: operations["deleteTeam"]; options?: never; head?: never; /** * updates a single Team * @description Updates the Team specified by the id with the fields provided in the request body. */ patch: operations["updateTeam"]; trace?: never; }; "/teams/{id}/members": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Team Members * @description List all Team Members the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTeamMembers"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/teams/{team_id}/members/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Team Member * @description Retrieves a single Team Member based on the team id and user id. */ get: operations["getTeamMember"]; /** * adds a Team Member * @description Adds a Team Member to a Team based on the team id and user id. */ put: operations["addTeamMember"]; post?: never; /** * removes a Team Member * @description Removes a Team Member from a Team based on the team id and user id. */ delete: operations["removeTeamMember"]; options?: never; head?: never; patch?: never; trace?: never; }; "/teams/{id}/leaders": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Team Leaders * @description List all Team Leaders the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTeamLeaders"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/teams/{team_id}/leaders/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Team Leader * @description Retrieves a single Team Leader based on the team id and user id. */ get: operations["getTeamLeader"]; /** * adds a Team Leader * @description Adds a Team Leader to a Team based on the team id and user id. */ put: operations["addTeamLeader"]; post?: never; /** * removes a Team Leader * @description Removes a Team Leader from a Team based on the team id and user id. */ delete: operations["removeTeamLeader"]; options?: never; head?: never; patch?: never; trace?: never; }; "/work-schedule-models": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Work Schedule Models * @description List all Work Schedule Models the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchWorkScheduleModels"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/work-schedule-models/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Work Schedule Model * @description Retrieves a single Working Schedule Model based on its id. */ get: operations["getWorkScheduleModel"]; put?: never; post?: never; /** * deletes a single Work Schedule Model * @description Deletes a single Work Schedule Model based on its id. */ delete: operations["deleteWorkScheduleModel"]; options?: never; head?: never; patch?: never; trace?: never; }; "/working-times": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Working Times * @description List all Working Times the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchWorkingTimes"]; put?: never; /** * create a Working Time * @description Creates a new Working Time based on the data provided in the request body. */ post: operations["createWorkingTime"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/working-times/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Working Time * @description Retrieves a single Working Time based on its id. */ get: operations["getWorkingTime"]; put?: never; post?: never; /** * deletes a single Working Time * @description Deletes a single Working Time based on its id. */ delete: operations["deleteWorkingTime"]; options?: never; head?: never; /** * updates a single Working Time * @description Updates the Working Time specified by the id with the fields provided in the request body. */ patch: operations["updateWorkingTime"]; trace?: never; }; "/working-times:deleted": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get deleted working times * @description List all deleted Working Times the authenticated user/authtoken has access to, optionally filtered by last_modified. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDeletedWorkingTimes"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/project-times": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Project Times * @description List all Project Times the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchProjectTimes"]; put?: never; /** * create a Project Time * @description Creates a new Project Time based on the data provided in the request body. */ post: operations["createProjectTime"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/project-times/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Project Time * @description Retrieves a single Project Time based on its id. */ get: operations["getProjectTime"]; put?: never; post?: never; /** * deletes a single Project Time * @description Deletes a single Project Time based on its id. */ delete: operations["deleteProjectTime"]; options?: never; head?: never; /** * updates a single Project Time * @description Updates the Project Time specified by the id with the fields provided in the request body. */ patch: operations["updateProjectTime"]; trace?: never; }; "/project-times:deleted": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get deleted project times * @description List all deleted Project Times the authenticated user/authtoken has access to, optionally filtered by last_modified. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDeletedProjectTimes"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tasks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Tasks * @description List all Tasks the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTasks"]; put?: never; /** * create a Task * @description Creates a new Task based on the data provided in the request body. */ post: operations["createTask"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tasks/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a single task * @description Retrieves a single Task based on its Task ID. */ get: operations["getTask"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * updates a single Task * @description Updates the Task specified by the id with the fields provided in the request body. */ patch: operations["update Task"]; trace?: never; }; "/tasks/{task_id}/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Task to User Assignments * @description List all task to user assignments the authenticated user/authtoken has access to.The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTaskToUserAssignments"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tasks/{task_id}/users/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a single task to user assignment * @description Retrieves a single Task based on its Task ID. */ get: operations["getTaskToUserAssignment"]; /** * create a Task to User Assignment * @description Creates a new Task to User Assignment for the given user_id based on the data provided in the request body. */ put: operations["createTaskToUserAssignment"]; post?: never; /** * deletes a Task to User Assignment * @description Deletes a Task to User Assignment based on its task_id and user_id. */ delete: operations["deleteTaskToUserAssignment"]; options?: never; head?: never; /** * update a Task to User Assignment * @description Updates the Task to User Assignment specified by the id with the fields provided in the request body. */ patch: operations["updateTaskToUserAssignment"]; trace?: never; }; "/tasks/{task_id}/leaders": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Task to Leader Assignments * @description List all task to leader assignments the authenticated user/authtoken has access to.The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTaskToLeaderAssignments"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tasks/{task_id}/leaders/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a single task to leader assignment * @description Retrieves a single Task based on its Task ID and User ID. */ get: operations["getTaskToLeaderAssignment"]; /** * create a Task to Leader Assignment * @description Creates a new Task to Leader Assignment for the given user_id based on the data provided in the request body. */ put: operations["createTaskToLeaderAssignment"]; post?: never; /** * deletes a Task to Leader Assignment * @description Deletes a Task to Leader Assignment based on its task_id and user_id. */ delete: operations["deleteTaskToLeaderAssignment"]; options?: never; head?: never; patch?: never; trace?: never; }; "/tasks/{task_id}/teams": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Task to Team Assignments * @description List all task to team assignments the authenticated user/authtoken has access to.The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchTaskToTeamAssignments"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tasks/{task_id}/teams/{team_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * get a single task to team assignment * @description Retrieves a single Task based on its Task ID and Team ID. */ get: operations["getTaskToTeamAssignment"]; /** * create a Task to Team Assignment * @description Creates a new Task to Team Assignment for the given team_id based on the data provided in the request body. */ put: operations["createTaskToTeamAssignment"]; post?: never; /** * deletes a Task to Team Assignment * @description Deletes a Task to Team Assignment based on its task_id and team_id. */ delete: operations["deleteTaskToTeamAssignment"]; options?: never; head?: never; patch?: never; trace?: never; }; "/drive-logs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Drive Logs * @description List all Drive Logs the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDriveLogs"]; put?: never; /** * create a Drive Log * @description Creates a new Drive Log based on the data provided in the request body. */ post: operations["createDriveLog"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/drive-logs/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Drive Log * @description Retrieves a single Drive Log based on its id. */ get: operations["getDriveLog"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** * updates a single Drive Log * @description Updates the Drive Log specified by the id with the fields provided in the request body. */ patch: operations["updateDriveLog"]; trace?: never; }; "/drive-logs:deleted": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get deleted drive logs * @description List all deleted Working Time Requests the authenticated user/authtoken has access to, optionally filtered by last_modified. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDeletedDriveLogs"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/cars": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Cars * @description List all Cars the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchCars"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/cars/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Car * @description Retrieves a single Car based on its id. */ get: operations["getCar"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/drive-log-categories": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Drive Log Categories * @description List all Drive Log Categories the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDriveLogCategories"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/drive-log-categories/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Drive Log Category * @description Retrieves a single Drive Log Category based on its id. */ get: operations["getDriveLogCategory"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/drive-logs/{id}/track": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets the Track of a Drive Log if present * @description Retrieves Drive Log's Track based on its id. */ get: operations["getTrack"]; /** * updates a Drive Log's Track * @description Updates the Track specified by the id of a Drive Log with the waypoints provided in the request body. */ put: operations["updateTrack"]; /** * create a Track for a Drive Log * @description Creates a new Track for a Drive Log based on the waypoints provided in the request body. */ post: operations["createTrack"]; /** * deletes a Drive Log's Track * @description Deletes a single Track based on a Drive Log's id. */ delete: operations["deleteTrack"]; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-requests": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Working Time Requests * @description List all Working Times Requests the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchWorkingTimeRequests"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-requests/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Working Time Request * @description Retrieves a single Working Time Request based on its id. */ get: operations["getWorkingTimeRequest"]; put?: never; post?: never; /** * deletes a single Working Time Request * @description Deletes a single Working Time based on its id. */ delete: operations["deleteWorkingTimeRequest"]; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-requests:deleted": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get deleted working time requests * @description List all deleted Working Time Requests the authenticated user/authtoken has access to, optionally filtered by last_modified. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDeletedWorkingTimeRequests"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-date-spans": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Working Time Date Spans * @description List all Working Times Date Spans the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchWorkingTimeDateSpans"]; put?: never; /** * create a Working Time Date Span * @description Creates a new Working Time Date Span based on the data provided in the request body. */ post: operations["createWorkingTimeDateSpan"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-date-spans/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Working Time Date Span * @description Retrieves a single Working Time Date Span based on its id. */ get: operations["getWorkingTimeDateSpan"]; put?: never; post?: never; /** * deletes a single Working Time Date Span * @description Deletes a single Working Time Date Span based on its id. */ delete: operations["deleteWorkingTimeDateSpan"]; options?: never; head?: never; /** * updates a single Working Time Date Span * @description Updates the Working Time Date Span specified by the id with the fields provided in the request body. */ patch: operations["updateWorkingTimeDateSpan"]; trace?: never; }; "/working-time-date-spans:deleted": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get deleted working time requests * @description List all deleted Working Time Date Spans the authenticated user/authtoken has access to, optionally filtered by last_modified. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchDeletedWorkingTimeDateSpans"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-types": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Working Time Types * @description List all Working Time Types the authenticated user/authtoken has access to. The entries can be filtered by the provided query parameters, all of which are optional. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchWorkingTimeTypes"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/working-time-types/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Working Time Type * @description Retrieves a single Working Time Type based on its id. */ get: operations["getWorkingTimeType"]; put?: never; post?: never; /** * deletes a single Working Time Type * @description Deletes a single Working Time Type based on its id. */ delete: operations["deleteWorkingTimeType"]; options?: never; head?: never; patch?: never; trace?: never; }; "/holiday-calendars": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches Holiday Calendars * @description List all Holiday Calendars the authenticated user/authtoken has access to.The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchHolidayCalendars"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/holiday-calendars/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * gets a single Holiday Calendar * @description Retrieves a single Holiday Calendar based on its id. */ get: operations["getHolidayCalendar"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/holiday-calendars/{id}/holidays": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * fetches all Holidays of a specific Holiday Calendar * @description Retrieves a all Holidays of one Holiday Calendar specified by its id. The number of entries returned is capped by the page size limit. This end point uses cursor pagination. If more entries would be found for a given query, the result envelope contains a 'next_page_token' field with a token that can be used to fetch the next page. */ get: operations["fetchHolidays"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } interface components { schemas: { Error: { /** @example E0307 */ code: string | null; /** @example Concrete error message */ message: string | null; }; Duration: { type: components["schemas"]["DurationType"]; /** * Format: int64 * @description Net minutes of the recording. In case of type 'half_day' or 'full_day' these get calculated automatically, based on WorkTimeSchedule configured for User * @example 42 */ minutes: number; /** * Format: int64 * @description Net minutes rounded to the default setting configured. In case of type 'half_day' or 'full_day' these get calculated automatically, based on WorkTimeSchedule configured for User * @example 45 */ readonly minutes_rounded: number; }; /** @enum {string} */ DurationType: "minutes" | "full_day" | "half_day"; /** * Format: date-time * @description RFC 3339 date-time (ISO-8601) * @example 2021-07-16T09:20:00+01:00 */ DateTime: string; /** * Format: date * @description RFC 3339 date (ISO-8601) * @example 2021-07-16 */ LocalDate: string; /** * Format: time * @description time of day (ISO-8601) * @example 15:20 */ LocalTime: string; BreakTime: components["schemas"]["BreakTimeManual"] | components["schemas"]["BreakTimeOngoing"] | components["schemas"]["BreakTimeAutomatic"]; /** * @example { * "type" : "manual", * "duration_minutes" : 50 * } */ BreakTimeUpdate: components["schemas"]["BreakTimeManual"] | components["schemas"]["BreakTimeOngoing"]; /** * @example { * "type": "manual", * "duration_minutes": 20, * "start": null, * "end": null * } */ BreakTimeManual: { /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ type: "manual"; /** * Format: int32 * @description Duration of break in minutes. Please make sure it matches the duration between 'start' and 'end' if the properties are also given. * @example 20 */ duration_minutes: number; /** * @description start and end are optional. To avoid discrepancies in the duration given in duration_minutes and the time between start and end the preferable way is to only provide duration_minutes. * @example 2021-07-16T09:30:00+01:00 */ start?: components["schemas"]["DateTime"] | null; /** * @description start and end are optional. To avoid discrepancies in the duration given in duration_minutes and the time between start and end the preferable way is to only provide duration_minutes. * @example 2021-07-16T09:40:00+01:00 */ end?: components["schemas"]["DateTime"] | null; }; /** * @example { * "type": "ongoing", * "start": "2021-07-16T17:50:00+01:00" * } */ BreakTimeOngoing: { /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ type: "ongoing"; start: components["schemas"]["DateTime"]; }; /** * @example { * "type": "automatic", * "duration_minutes": 60, * "start": "2021-07-16T15:50:00+01:00" * "end": "2021-07-16T16:50:00+01:00" * } */ BreakTimeAutomatic: { /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ type: "automatic"; /** * Format: int32 * @description Duration of break in minutes * @example 15 */ duration_minutes: number; start: components["schemas"]["DateTime"] | null; end: components["schemas"]["DateTime"] | null; }; /** @enum {string} */ BreakTimeType: "manual" | "ongoing" | "automatic"; UserPartial: { id: string; firstname: string | null; lastname: string | null; fullname: string | null; /** * Format: email * @description Email address must be either valid or null. * @example user@example.com */ email: string | null; employee_number: string | null; external_id: string | null; }; User: components["schemas"]["UserPartial"] & { login?: string; entry_date?: components["schemas"]["LocalDate"] | null; resign_date?: components["schemas"]["LocalDate"] | null; work_schedule_model?: components["schemas"]["WorkScheduleModelPartial"] | null; holiday_calendar?: components["schemas"]["HolidayCalendarPartial"]; metadata?: { [key: string]: unknown; } | null; }; UsersPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["User"][]; }; UsersPartialPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["UserPartial"][]; }; /** @enum {string} */ UsersSortColumn: "name"; UserUpdate: { login?: string; firstname?: string | null; lastname?: string | null; /** Format: email */ email?: string | null; entry_date?: components["schemas"]["LocalDate"] | null; resign_date?: components["schemas"]["LocalDate"] | null; employee_number?: string | null; external_id?: string | null; metadata?: { [key: string]: unknown; } | null; }; UserCreate: components["schemas"]["UserUpdate"] & { /** @example azure|google */ auth_provider?: string | null; auth_identifier?: string | null; }; TeamPartial: { id: string; name: string; breadcrumbs: string; external_id: string | null; }; Team: components["schemas"]["TeamPartial"] & { description: string | null; parent_team: components["schemas"]["TeamPartial"] | null; }; TeamsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["Team"][]; }; TeamsPartialPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["TeamPartial"][]; }; /** @enum {string} */ TeamsSortColumn: "breadcrumbs" | "name"; TeamUpdate: { name?: string; description?: string | null; parent_team_id?: string | null; external_id?: string | null; }; TeamCreate: components["schemas"]["TeamUpdate"] & Record; HolidayCalendarPartial: { id: string; description: string; }; HolidayCalendarsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["HolidayCalendarPartial"][]; }; /** @enum {string} */ HolidayCalendarsSortColumn: "description"; Holiday: { date: components["schemas"]["LocalDate"]; description: string; half_day: boolean; }; HolidaysPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["Holiday"][]; }; /** @enum {string} */ HolidaysSortColumn: "date"; WorkingTimeAccounts: { /** * Format: date * @description date of last balance * @example 2023-03-28 */ last_balance_date: string | null; time_account?: components["schemas"]["TimeAccount"] | null; overtime?: components["schemas"]["Overtime"] | null; allowances?: components["schemas"]["Allowances"] | null; }; TimeAccount: { /** Format: int32 */ balance_last_period_minutes: number | null; /** * Format: int32 * @description sum of durations in current period */ duration_actual_minutes: number | null; /** * Format: int32 * @description target duration in current period */ duration_target_minutes: number | null; /** * Format: int32 * @description difference between target duration and actual duration */ balance_current_period_minutes: number | null; /** * Format: int32 * @description total duration until balancing date */ balance_total_minutes: number | null; /** * Format: int32 * @description complete days worked from home in current period */ work_from_home_days_full: number | null; /** * Format: int32 * @description partial days worked from home in current period */ work_from_home_days_partial: number | null; flex_time_indicator?: components["schemas"]["FlexTimeIndicator"] | null; }; Overtime: { /** Format: int32 */ balance_last_period_minutes: number | null; /** Format: int32 */ balance_current_period_minutes: number | null; /** Format: int32 */ balance_total_minutes: number | null; }; Allowances: { /** Format: int32 */ balance_last_period_minutes: number | null; /** Format: int32 */ balance_current_period_minutes: number | null; /** Format: int32 */ balance_total_minutes: number | null; }; /** @enum {string} */ FlexTimeIndicator: "green" | "yellow" | "red"; WorkScheduleModelPartial: { id: string; /** @example full-time */ name: string; }; WorkScheduleModel: components["schemas"]["WorkScheduleModelPartial"] & { id?: string; /** @example full-time */ name?: string; type: components["schemas"]["WorkScheduleModelType"]; /** * Format: int64 * @description value in minutes * @example 2400 */ target_duration_weekly_minutes: number; monday: components["schemas"]["DailyWorkSchedule"]; tuesday: components["schemas"]["DailyWorkSchedule"]; wednesday: components["schemas"]["DailyWorkSchedule"]; thursday: components["schemas"]["DailyWorkSchedule"]; friday: components["schemas"]["DailyWorkSchedule"]; saturday: components["schemas"]["DailyWorkSchedule"]; sunday: components["schemas"]["DailyWorkSchedule"]; working_time_rules: components["schemas"]["WorkingTimeRules"] | null; }; WorkScheduleModelsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["WorkScheduleModel"][]; }; /** @enum {string} */ WorkScheduleModelSortColumn: "name"; Location: { /** * Format: float * @example 48.2455964 */ lat: number; /** * Format: float * @example 13.0543811 */ lon: number; timestamp?: components["schemas"]["DateTime"] | null; /** @example Salzburger Straße 2, 5280 Braunau am Inn */ formatted_address?: string | null; }; /** @enum {string} */ Platform: "timr_web" | "timr_mobile" | "tour_mobile" | "timr_terminal" | "sync_api" | "timr_api"; /** * @example changeable * @enum {string} */ WorkingTimeStatus: "running" | "paused" | "changeable" | "locked" | "approved" | "closed" | "archived"; /** * @example daily_target_hours * @enum {string} */ WorkScheduleModelType: "daily_target_hours" | "normal_working_time"; DailyWorkSchedule: { /** * Format: int64 * @description value in minutes * @example 480 */ target_duration_minutes: number; /** @description this property is always set, when the WorkScheduleModel is of type normal_working_time, in contrast when the WorkScheduleModel is of type daily_target_hours it is not set */ normal_working_times?: components["schemas"]["NormalWorkingTimes"][]; }; NormalWorkingTimes: { /** Format: time */ start?: string | null; /** Format: time */ end?: string | null; }; WorkingTimeRules: { /** @example 074e7048-9097-11eb-a8b3-0242ac130003 */ id: string; name: string; }; WorkingTime: { /** @example 074e7048-9097-11eb-a8b3-0242ac130003 */ id: string; start: components["schemas"]["DateTime"]; end: components["schemas"]["DateTime"] | null; /** * Format: int32 * @description Total break time in minutes */ readonly break_time_total_minutes: number; /** * @example [ * { * "type": "manual", * "duration_minutes": 20, * "start": null, * "end": null * }, * { * "type": "automatic", * "duration_minutes": 30, * "start": "2021-07-16T13:15:00+02:00", * "end": "2021-07-16T13:45:00+02:00" * } * ] */ break_times: components["schemas"]["BreakTime"][]; duration: components["schemas"]["Duration"] | null; changed: boolean; notes: string | null; user: components["schemas"]["UserPartial"]; working_time_type: components["schemas"]["WorkingTimeTypePartial"]; working_time_date_span: components["schemas"]["WorkingTimeDateSpanPartial"] | null; working_time_request: components["schemas"]["WorkingTimeRequestPartial"] | null; start_location: components["schemas"]["Location"] | null; end_location: components["schemas"]["Location"] | null; start_platform: components["schemas"]["Platform"] | null; end_platform: components["schemas"]["Platform"] | null; readonly last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; status: components["schemas"]["WorkingTimeStatus"]; metadata?: { [key: string]: unknown; } | null; }; WorkingTimesPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["WorkingTime"][]; }; /** @enum {string} */ WorkingTimesSortColumn: "start" | "last_modified"; WorkingTimeUpdate: { start?: components["schemas"]["DateTime"]; /** @example 2021-07-16T10:02:00+01:00 */ end?: components["schemas"]["DateTime"] | null; break_times?: components["schemas"]["BreakTimeUpdate"][]; /** @description Must be specified for WorkingTimeTypes with `edit_unit` `days` or `half_days` only */ duration_type?: components["schemas"]["DurationType"] | null; changed?: boolean; notes?: string | null; working_time_type_id?: string; start_location?: components["schemas"]["Location"] | null; /** @example null */ end_location?: components["schemas"]["Location"] | null; status?: components["schemas"]["WorkingTimeStatus"]; metadata?: { [key: string]: unknown; } | null; }; WorkingTimeCreate: { user_id: string; } & components["schemas"]["WorkingTimeUpdate"]; DeletedEntryWithMetadata: components["schemas"]["DeletedEntryPartial"] & { metadata?: { [key: string]: unknown; } | null; }; DeletedEntryWithMetadataPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["DeletedEntryWithMetadata"][]; }; /** @enum {string} */ DeletedEntryWithMetadataSortColumn: "last_modified"; /** * @example changeable * @enum {string} */ ProjectTimeStatus: "running" | "paused" | "changeable" | "locked" | "approved" | "cleared" | "closed" | "archived"; TaskPartial: { id: string; name: string; breadcrumbs: string; external_id: string | null; }; Task: components["schemas"]["TaskPartial"] & { parent_task: components["schemas"]["TaskPartial"] | null; description: string | null; description_external: string | null; bookable: boolean; billable: boolean; project_time_notes_required: boolean; start_date: components["schemas"]["LocalDate"] | null; end_date: components["schemas"]["LocalDate"] | null; lock_date?: components["schemas"]["LocalDate"] | null; earliest_start_time: components["schemas"]["LocalTime"] | null; latest_end_time: components["schemas"]["LocalTime"] | null; active_from: components["schemas"]["LocalDate"] | null; active_to: components["schemas"]["LocalDate"] | null; budget_inherited?: boolean; budget_planning_type?: components["schemas"]["BudgetPlanningType"]; budget_hours_planned?: number | null; budget_hourly_rate?: number | null; budget_planned?: number | null; budget_include_non_billable_project_times?: boolean; location_inherited?: boolean; location?: components["schemas"]["TaskLocation"] | null; /** Format: int32 */ location_restriction_radius_meters?: number | null; custom_field_1: string | null; custom_field_2: string | null; custom_field_3: string | null; metadata?: { [key: string]: unknown; } | null; }; TaskReduced: components["schemas"]["TaskPartial"] & { parent_task: components["schemas"]["TaskPartial"] | null; description: string | null; bookable: boolean; billable: boolean; project_time_notes_required: boolean; lock_date?: components["schemas"]["LocalDate"] | null; earliest_start_time: components["schemas"]["LocalTime"] | null; latest_end_time: components["schemas"]["LocalTime"] | null; active_from: components["schemas"]["LocalDate"] | null; active_to: components["schemas"]["LocalDate"] | null; budget_planning_type?: components["schemas"]["BudgetPlanningType"]; location_inherited?: boolean; location?: components["schemas"]["TaskLocation"] | null; /** Format: int32 */ location_restriction_radius_meters?: number | null; custom_field_1: string | null; custom_field_2: string | null; custom_field_3: string | null; }; TasksPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["Task"][]; }; TasksReducedPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["TaskReduced"][]; }; TaskCreate: components["schemas"]["TaskBase"] & Record; TaskUpdate: components["schemas"]["TaskBase"] & { /** @description this property is used to decide whether existing project times that have been booked to this task should be updated with the changed budget. If budget_planning type or budget_hourly_rate are set, this property must also be set. Based on this, the budgets of the existing project times are then recalculated or not. */ budget_update_project_times?: boolean; }; TaskBase: { name?: string; /** @description returns the id of the immediate parent task if the task has one. Use this id when creating or a updating a task in order to locate it at the right place in your task tree. */ parent_task_id?: string | null; external_id?: string | null; description?: string | null; description_external?: string | null; /** @description when a task is not bookable, no project times can be booked on it. You need to define child tasks, to book on tasks related to this task. */ bookable?: boolean; billable?: boolean; /** @description depending on this property project times booked on this task have to include notes or not */ project_time_notes_required?: boolean; /** @description the task is only available for selection after start_date, however, it can change if a lock_date is set and this is after the start_date. Furthermore, no booking of a project time with date < start or > end is possible. */ start_date?: components["schemas"]["LocalDate"] | null; /** @description the task is only available for selection before end_date, however, it can change if a lock_date is set and this is before the end_date. Furthermore, no booking of a project time with date < start or > end is possible. */ end_date?: components["schemas"]["LocalDate"] | null; /** * @description with lock_date property you define a point in time before which existing entries can no longer be changed. This way you ensure that * * * existing entries cannot be changed or deleted * * no entries can be added later */ lock_date?: components["schemas"]["LocalDate"] | null; /** @description set this property to limit the task so that it cannot be booked before this time */ earliest_start_time?: components["schemas"]["LocalTime"] | null; /** @description set this property to limit the task so that it cannot be booked after this time */ latest_end_time?: components["schemas"]["LocalTime"] | null; /** @description when budget is inherited from parent you cannot set it manually. Set this property to false, if you want to change anything in the tasks budget settings */ budget_inherited?: boolean; /** @description when no budget is planned, either don't set this property (on create) or set it to NONE */ budget_planning_type?: components["schemas"]["BudgetPlanningType"]; /** * @description how many hours were planned in the calculation * set budget_hours_planned to make timr calculate budget_planned depending on its budget_planning_type: * * task_hourly_rate: out of budget_hourly_rate and budget_planned * * user_hourly_rate: out of fixed hours budget (employee budget) and budget_hours_planned * * fixed_price: out of budget_hourly_rate and budget_planned */ budget_hours_planned?: number | null; /** * @description depending on its budget_planning_type this property may or may not be set: * * **task_hourly_rate: this property is necessary to calculate budgets, by default it will be set to 0.00** * * **user_hourly_rate: this property cannot be set** * * fixed_price: you can set this property if you want to make timr calculate budget_hours_planned or budget_planned based on its value */ budget_hourly_rate?: number | null; /** * @description the price at which the task was sold * set budget_planned to make timr calculate the budget_hours_planned depending on its budget_planning_type: * * task_hourly_rate: out of budget_hourly_rate and budget_planned * * user_hourly_rate: out of fixed hours budget (employee budget) and budget_planned * * fixed_price: out of budget_hourly_rate and budget_planned */ budget_planned?: number | null; /** * @description set this property to true, if you want to include not billable hours for all project times booked on this task * @default false */ budget_include_non_billable_project_times: boolean; /** * @description set this property to false if you want to set a child task's location explicitly instead of inheriting it from its parent * @default true */ location_inherited: boolean; location?: components["schemas"]["TaskLocation"] | null; /** * Format: int32 * @description set this property to make recording of project times for this task via the app on the smartphone only possible within this defined geofence radius */ location_restriction_radius_meters?: number | null; /** @description you can configure custom fields for tasks in the settings of timr under Administration/Settings/Tasks. To add a new custom field, simply choose a name for the field. */ custom_field_1?: string | null; /** @description you can configure custom fields for tasks in the settings of timr under Administration/Settings/Tasks. To add a new custom field, simply choose a name for the field. */ custom_field_2?: string | null; /** @description you can configure custom fields for tasks in the settings of timr under Administration/Settings/Tasks. To add a new custom field, simply choose a name for the field. */ custom_field_3?: string | null; metadata?: { [key: string]: unknown; } | null; }; /** @description You can define the location of a task by setting this property. If the task has a parent task, the location is inherited if nothing else is explicitly defined. If you set this property to null, the location will be deleted. */ TaskLocation: { /** Format: float */ lat: number | null; /** Format: float */ lon: number | null; address: string | null; city: string | null; zip_code: string | null; state: string | null; /** * @description the country's international country code * @example AT, DE, ES */ country: string | null; }; /** @enum {string} */ TasksSortColumn: "breadcrumbs" | "name"; TaskToUserAssignment: { user: components["schemas"]["UserPartial"]; hours_planned?: number | null; recording_lock: components["schemas"]["RecordingLockType"]; automatically_assigned: boolean; }; TaskToUserAssignmentsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["TaskToUserAssignment"][]; }; TaskToUserAssignmentCreateAndUpdate: { hours_planned?: number | null; recording_lock?: components["schemas"]["RecordingLockType"] | null; }; /** @enum {string} */ TaskToUserAssignmentsSortColumn: "user_name"; /** @enum {string} */ RecordingLockType: "recordable" | "locked_automatically" | "locked_manually" | "unlocked_manually"; /** * @description corresponding to the chosen planning type some properties cannot be set: * * none: no further budget properties can be set * * user_hourly_rate: budget_hourly_rate cannot be set * * for the remaining two types all budget properties are supported * @enum {string} */ BudgetPlanningType: "none" | "task_hourly_rate" | "user_hourly_rate" | "fixed_price"; TaskToLeaderAssignment: { user: components["schemas"]["UserPartial"]; automatically_assigned: boolean; }; TaskToLeaderAssignmentsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["TaskToLeaderAssignment"][]; }; /** @enum {string} */ TaskToLeaderAssignmentsSortColumn: "user_name"; TaskToTeamAssignment: { team: components["schemas"]["TeamPartial"]; automatically_assigned: boolean; }; TaskToTeamAssignmentsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["TaskToTeamAssignment"][]; }; /** @enum {string} */ TaskToTeamAssignmentsSortColumn: "team_name"; ProjectTime: { /** @example 074e7048-9097-11eb-a8b3-0242ac130003 */ id: string; start: components["schemas"]["DateTime"]; end: components["schemas"]["DateTime"] | null; /** * Format: int32 * @description Total break time in minutes */ readonly break_time_total_minutes: number; break_times: components["schemas"]["BreakTime"][]; duration: components["schemas"]["Duration"] | null; changed: boolean; notes: string | null; user: components["schemas"]["UserPartial"]; task: components["schemas"]["TaskPartial"]; billable: boolean; start_location: components["schemas"]["Location"] | null; end_location: components["schemas"]["Location"] | null; start_platform: components["schemas"]["Platform"]; end_platform: components["schemas"]["Platform"] | null; readonly last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; status: components["schemas"]["ProjectTimeStatus"]; metadata?: { [key: string]: unknown; } | null; }; ProjectTimesPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["ProjectTime"][]; }; /** @enum {string} */ ProjectTimesSortColumn: "start" | "last_modified"; ProjectTimeUpdate: { start?: components["schemas"]["DateTime"]; end?: components["schemas"]["DateTime"] | null; break_times?: components["schemas"]["BreakTimeUpdate"][]; changed?: boolean; notes?: string | null; task_id?: string; billable?: boolean; start_location?: components["schemas"]["Location"] | null; end_location?: components["schemas"]["Location"] | null; status?: components["schemas"]["ProjectTimeStatus"]; metadata?: { [key: string]: unknown; } | null; }; ProjectTimeCreate: { user_id: string; } & components["schemas"]["ProjectTimeUpdate"]; DriveLog: { /** @example 074e7048-9097-11eb-a8b3-0242ac130003 */ id: string; start: components["schemas"]["DateTime"]; end: components["schemas"]["DateTime"] | null; duration: components["schemas"]["Duration"] | null; changed: boolean; /** * Format: int64 * @example 42 */ start_mileage: number; /** * Format: int64 * @example 42 */ end_mileage: number | null; /** * Format: int64 * @description Driven distance in kilometers * @example 42 */ distance: number | null; route: string | null; purpose: string | null; visited: string | null; user: components["schemas"]["UserPartial"]; car: components["schemas"]["CarPartial"]; drive_log_category: components["schemas"]["DriveLogCategoryPartial"]; start_venue: components["schemas"]["VenuePartial"] | null; end_venue: components["schemas"]["VenuePartial"] | null; has_track: boolean; start_location: components["schemas"]["Location"] | null; end_location: components["schemas"]["Location"] | null; start_platform: components["schemas"]["Platform"]; end_platform: components["schemas"]["Platform"] | null; readonly last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; status: components["schemas"]["DriveLogStatus"]; }; DriveLogsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["DriveLog"][]; }; /** @enum {string} */ DriveLogsSortColumn: "start" | "last_modified"; DriveLogUpdate: { start?: components["schemas"]["DateTime"]; end?: components["schemas"]["DateTime"] | null; changed?: boolean; /** Format: int64 */ start_mileage?: number; /** Format: int64 */ end_mileage?: number | null; route?: string | null; purpose?: string | null; visited?: string | null; drive_log_category_id?: string; start_location?: components["schemas"]["Location"] | null; end_location?: components["schemas"]["Location"] | null; status?: components["schemas"]["DriveLogStatus"]; }; DriveLogCreate: components["schemas"]["DriveLogUpdate"] & { user_id: string; car_id: string; }; CarPartial: { id: string; name: string; plate: string; external_id: string | null; }; Car: components["schemas"]["CarPartial"] & { usable: boolean; }; CarsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["Car"][]; }; /** @enum {string} */ CarsSortColumn: "name"; DriveLogCategoryPartial: { id: string; name: string; business: boolean; color: string; }; DriveLogCategory: components["schemas"]["DriveLogCategoryPartial"] & { readonly last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; }; DriveLogCategoriesPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["DriveLogCategory"][]; }; /** @enum {string} */ DriveLogCategoriesSortColumn: "name"; VenuePartial: { id: string; name: string; city: string; zip_code: string; street: string; street_number: string; country: string; /** * Format: float * @example 48.2455964 */ lat?: number; /** * Format: float * @example 13.0543811 */ lon?: number; }; Track: components["schemas"]["Waypoint"][]; Waypoint: { /** Format: double */ lat: number; /** Format: double */ lon: number; }; /** @enum {string} */ DriveLogStatus: "changeable" | "locked" | "approved" | "cleared" | "closed" | "archived" | "running"; /** @enum {string} */ WorkingTimeRequestStatus: "approval_requested" | "in_approval" | "approved" | "rejected" | "cancellation_requested" | "in_cancellation" | "cancelled"; /** @description References a request if the working time is part of one. A working time can either be part of a working time request or a working time date span, never both. */ WorkingTimeRequestPartial: { id: string; }; WorkingTimeRequest: { id: string; start: components["schemas"]["LocalDate"]; start_half_day: boolean; end: components["schemas"]["LocalDate"]; end_half_day: boolean; notes: string | null; user: components["schemas"]["UserPartial"]; working_time_type: components["schemas"]["WorkingTimeTypePartial"]; substitute?: components["schemas"]["UserPartial"] | null; created: components["schemas"]["DateTime"]; last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; status_comment: string; status: components["schemas"]["WorkingTimeRequestStatus"]; }; WorkingTimeRequestsPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["WorkingTimeRequest"][]; }; /** @enum {string} */ WorkingTimeRequestsSortColumn: "start"; DeletedEntryPartial: { id: string; readonly last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; }; DeletedEntryPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["DeletedEntryPartial"][]; }; /** @enum {string} */ DeletedEntrySortColumn: "last_modified"; /** @description References a date span if the working time is part of one. A working time can either be part of a working time date span or a request, never both. */ WorkingTimeDateSpanPartial: { id: string; }; WorkingTimeDateSpan: { id: string; start: components["schemas"]["LocalDate"]; start_half_day: boolean; end: components["schemas"]["LocalDate"]; end_half_day: boolean; notes: string | null; user: components["schemas"]["UserPartial"]; working_time_type: components["schemas"]["WorkingTimeTypePartial"]; substitute?: components["schemas"]["UserPartial"] | null; last_modified: components["schemas"]["DateTime"]; readonly last_modified_by: components["schemas"]["UserPartial"] | null; metadata?: { [key: string]: unknown; } | null; }; WorkingTimeDateSpanPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["WorkingTimeDateSpan"][]; }; /** @enum {string} */ WorkingTimeDateSpansSortColumn: "start"; WorkingTimeDateSpanUpdate: { start?: components["schemas"]["LocalDate"]; /** @default false */ start_half_day: boolean; end?: components["schemas"]["LocalDate"]; /** @default false */ end_half_day: boolean; notes?: string | null; working_time_type_id?: string; substitute_id?: string | null; metadata?: { [key: string]: unknown; } | null; }; WorkingTimeDateSpanCreate: { user_id: string; } & components["schemas"]["WorkingTimeDateSpanUpdate"]; WorkingTimeTypePartial: { id: string; name: string; external_id: string | null; }; WorkingTimeType: { id: string; name: string; short_name: string | null; description: string | null; external_id: string | null; edit_unit: components["schemas"]["DurationUnit"]; category: components["schemas"]["WorkingTimeTypeCategory"]; sub_category: components["schemas"]["WorkingTimeTypeSubCategory"] | null; /** @description Specifies how the user can record this working time type. Only relevant for working time types having edit_unit 'half_days' or 'days', otherwise null */ recording_mode_user: components["schemas"]["RecordingModeUser"] | null; non_creditable_deductible: number | null; compensation_deductible: number | null; archived: boolean; requires_substitute?: boolean; /** @description Policy that defines how automatic break deductions are handled for this working time type. Only applicable for minute based attendance times (WorkingTimeTypeCategory = 'attendance_time' and edit_unit = 'minutes'). Defaults to 'deduction_allowed' if not set. */ automatic_break_deduction_policy: components["schemas"]["AutomaticBreakDeductionPolicy"]; }; /** @enum {string} */ DurationUnit: "minutes" | "half_days" | "days"; /** @enum {string} */ WorkingTimeTypeCategory: "attendance_time" | "vacation" | "paid_time_off" | "unpaid_time_off" | "suspension" | "break_time"; /** @enum {string} */ WorkingTimeTypeSubCategory: "present" | "work_from_home" | "away" | "active_driving_time" | "passive_travelling_time"; /** @enum {string} */ RecordingModeUser: "not_allowed" | "allowed" | "by_request"; /** @enum {string} */ AutomaticBreakDeductionPolicy: "deduction_allowed" | "prefer_not_to_deduct" | "never_deduct"; WorkingTimeTypesPage: components["schemas"]["PagingInformation"] & { data: components["schemas"]["WorkingTimeType"][]; }; /** @enum {string} */ WorkingTimeTypesSortColumn: "name"; PagingInformation: { next_page_token: string | null; }; /** @enum {string} */ SortDirection: "asc" | "dsc"; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } interface operations { fetchUsers: { parameters: { query?: { /** @description pass a user name to filter entries by the user name */ name?: string; /** * @description pass entry_date_from to show all users entered on or after defined day * @example */ entry_date_from?: components["schemas"]["LocalDate"]; /** * @description pass entry_date_from to show all users entered on or before defined day * @example */ entry_date_to?: components["schemas"]["LocalDate"]; /** * @description pass resign_date_from to show all users resigned on or after defined day * @example */ resign_date_from?: components["schemas"]["LocalDate"]; /** * @description pass resign_date_to to show all users resigned on or before defined day * @example */ resign_date_to?: components["schemas"]["LocalDate"]; /** @description pass parameter resigned true/false to show all users who are resigned/not resigned */ resigned?: boolean; /** @description pass an employee_number to show users with the corresponding employee number */ employee_number?: string; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** * @description pass a value to change the maximum number of entries returned in a single page (at max 500). * @example */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Lastname * * Firstname * * Id * * pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["UsersSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["UsersPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createUser: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description User entity */ requestBody: { content: { "application/json": components["schemas"]["UserCreate"]; }; }; responses: { /** @description created User entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["User"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getUser: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["User"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateUser: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description User entity */ requestBody: { content: { "application/json": components["schemas"]["UserUpdate"]; }; }; responses: { /** @description user successfully updated */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["User"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getUserWorkingTimeAccounts: { parameters: { query?: never; header?: never; path: { id: string; date: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeAccounts"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getUserWorkScheduleModel: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkScheduleModel"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchUserTasks: { parameters: { query?: { /** @description pass task's id to restrict entries having this task as a parent task */ parent_task_id?: string; /** * @description pass this parameter with value true/false to traverse the whole task tree * @example true/false */ traverse_task_tree?: boolean; /** @description pass a user name to filter entries by the user name */ name?: string; /** * @description pass this parameter with value true/false to show just entries/no entries which are billable * @example true/false */ bookable?: boolean; /** * @description pass this parameter with value true/false to show just entries/no entries which are billable * @example true/false */ billable?: boolean; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** * @description pass a value to change the maximum number of entries returned in a single page (at max 500). * @example */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * breadcrumbs * * id * * pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["TasksSortColumn"]; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TasksReducedPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchUserTeamMemberships: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in (based on the Team's name) */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * name * * id * * pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["TeamsSortColumn"]; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TeamsPartialPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchUserTeamLeaderships: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in (based on the Team's name) */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * name * * id * * pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["TeamsSortColumn"]; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TeamsPartialPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTeams: { parameters: { query?: { /** @description pass a group name to filter entries by the group name, matching any segment in the breadcrumbs path */ name?: string; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in (based on the Group's name) */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * name * * id * * pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["TeamsSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TeamsPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createTeam: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description Team entity */ requestBody: { content: { "application/json": components["schemas"]["TeamCreate"]; }; }; responses: { /** @description created Team entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Team"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTeam: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Team"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteTeam: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateTeam: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description Team entity */ requestBody: { content: { "application/json": components["schemas"]["TeamUpdate"]; }; }; responses: { /** @description team successfully updated */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Team"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTeamMembers: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Lastname * * Firstname * * Id * of the assigned user */ sort_by?: components["schemas"]["UsersSortColumn"]; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["UsersPartialPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTeamMember: { parameters: { query?: never; header?: never; path: { team_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserPartial"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; addTeamMember: { parameters: { query?: never; header?: never; path: { team_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description User Partial model of the added team member */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserPartial"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; removeTeamMember: { parameters: { query?: never; header?: never; path: { team_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that member was added successfully to the team */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTeamLeaders: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Lastname * * Firstname * * Id * of the assigned user */ sort_by?: components["schemas"]["UsersSortColumn"]; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["UsersPartialPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTeamLeader: { parameters: { query?: never; header?: never; path: { team_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserPartial"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; addTeamLeader: { parameters: { query?: never; header?: never; path: { team_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description User Partial model of the added team leader */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserPartial"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; removeTeamLeader: { parameters: { query?: never; header?: never; path: { team_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchWorkScheduleModels: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description optionally, pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description optionally, pass a direction in which the entries returned will be sorted in (based on the WorkScheduleModel's name) */ sort_direction?: components["schemas"]["SortDirection"]; sort_by?: components["schemas"]["WorkScheduleModelSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkScheduleModelsPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getWorkScheduleModel: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkScheduleModel"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteWorkScheduleModel: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchWorkingTimes: { parameters: { query?: { /** * @description pass a search string to filter entries containing this string in their notes * @example */ notes?: string; /** * @description pass a date to filter entries started from this day on * @example */ start_from?: components["schemas"]["LocalDate"]; /** * @description pass a date to filter entries started up to (including) this day * @example */ start_to?: components["schemas"]["LocalDate"]; /** * @description pass a datetime to filter entries modified after this instant * @example */ last_modified_after?: components["schemas"]["DateTime"]; /** * @description pass one or more ids of WorkingTimeTypes to restrict entries based on these types * @example */ working_time_types?: string[]; /** * @description optionally, pass one or more WorkingTimeTypeCategories to restrict entries based on these categories * @example */ working_time_type_categories?: components["schemas"]["WorkingTimeTypeCategory"][]; /** * @description pass one or more statuses to filter entries based on their status * @example */ statuses?: components["schemas"]["WorkingTimeStatus"][]; /** * @description pass one or more user ids to restrict entries based on the user they are associated to * @example */ users?: string[]; /** * @description pass a boolean to filter entries based on whether they have been changed by the user or not * @example */ changed?: boolean; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * start * * Id * * pass a property by which the returned entries will be sorted */ sort_by?: components["schemas"]["WorkingTimesSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimesPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createWorkingTime: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description Working Time entity */ requestBody: { content: { "application/json": components["schemas"]["WorkingTimeCreate"]; }; }; responses: { /** @description created Working Time entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTime"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getWorkingTime: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTime"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteWorkingTime: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateWorkingTime: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description Working Time entity */ requestBody: { content: { "application/json": components["schemas"]["WorkingTimeUpdate"]; }; }; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTime"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDeletedWorkingTimes: { parameters: { query?: { /** * @description optionally, pass a datetime to filter entries modified after this instant * @example */ last_modified?: components["schemas"]["DateTime"]; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description optionally, pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description optionally, pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * last_modified * * Id * optionally, pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["DeletedEntryWithMetadataSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DeletedEntryWithMetadataPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchProjectTimes: { parameters: { query?: { /** * @description pass a search string to filter entries containing this string in their notes * @example */ notes?: string; /** * @description pass a date to filter entries started from this day on * @example */ start_from?: components["schemas"]["LocalDate"]; /** * @description pass a date to filter entries started up to (including) this day * @example */ start_to?: components["schemas"]["LocalDate"]; /** * @description pass a datetime to filter entries modified after this instant * @example */ last_modified_after?: components["schemas"]["DateTime"]; /** * @description pass a tasks id to restrict entries based on its value * @example */ task?: string; /** * @description pass this parameter with value true/false to filter just by task specified or also traverse its task tree * @example true/false */ traverse_task_tree?: boolean; /** * @description pass this parameter with value true/false to show just entries/no entries which are billable * @example true/false */ billable?: boolean; /** * @description pass one or more statuses to filter entries based on their status * @example */ statuses?: components["schemas"]["ProjectTimeStatus"][]; /** * @description pass one or more user ids to restrict entries based on the user they are associated to * @example */ users?: string[]; /** * @description pass a boolean to filter entries based on whether they have been changed by the user or not * @example */ changed?: boolean; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * start * * Id */ sort_by?: components["schemas"]["ProjectTimesSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectTimesPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createProjectTime: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description Project Time entity */ requestBody: { content: { "application/json": components["schemas"]["ProjectTimeCreate"]; }; }; responses: { /** @description created Project Time entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectTime"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getProjectTime: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectTime"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteProjectTime: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateProjectTime: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description Project Time entity */ requestBody: { content: { "application/json": components["schemas"]["ProjectTimeUpdate"]; }; }; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProjectTime"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDeletedProjectTimes: { parameters: { query?: { /** * @description optionally, pass a datetime to filter entries modified after this instant * @example */ last_modified?: components["schemas"]["DateTime"]; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description optionally, pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description optionally, pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * last_modified * * Id * optionally, pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["DeletedEntrySortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DeletedEntryWithMetadataPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTasks: { parameters: { query?: { /** @description pass task's id to restrict entries having this task as a parent task */ parent_task_id?: string; /** * @description pass this parameter with value true/false to traverse the whole task tree * @example true/false */ traverse_task_tree?: boolean; /** @description pass a user name to filter entries by the user name */ name?: string; /** * @description pass this parameter with value true/false to show just entries/no entries which are billable * @example true/false */ bookable?: boolean; /** * @description pass this parameter with value true/false to show just entries/no entries which are billable * @example true/false */ billable?: boolean; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** * @description pass a value to change the maximum number of entries returned in a single page (at max 500). * @example */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * breadcrumbs * * id * * pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["TasksSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TasksPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createTask: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description Project Time entity */ requestBody: { content: { "application/json": components["schemas"]["TaskCreate"]; }; }; responses: { /** @description created Task entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Task"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTask: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Task"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; "update Task": { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description Task entity */ requestBody: { content: { "application/json": components["schemas"]["TaskUpdate"]; }; }; responses: { /** @description task successfully updated */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Task"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTaskToUserAssignments: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Lastname * * Firstname * * Id * of the assigned user */ sort_by?: components["schemas"]["TaskToUserAssignmentsSortColumn"]; }; header?: never; path: { task_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToUserAssignmentsPage"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTaskToUserAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToUserAssignment"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createTaskToUserAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; /** @description Task to User Assignment entity */ requestBody: { content: { "application/json": components["schemas"]["TaskToUserAssignmentCreateAndUpdate"]; }; }; responses: { /** @description created Task to User Assignment */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToUserAssignment"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteTaskToUserAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateTaskToUserAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; /** @description Task to User Assignment entity */ requestBody: { content: { "application/json": components["schemas"]["TaskToUserAssignmentCreateAndUpdate"]; }; }; responses: { /** @description updated Task to User Assignment */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToUserAssignment"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTaskToLeaderAssignments: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Lastname * * Firstname * * Id * of the assigned leader */ sort_by?: components["schemas"]["TaskToLeaderAssignmentsSortColumn"]; }; header?: never; path: { task_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToLeaderAssignmentsPage"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTaskToLeaderAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToLeaderAssignment"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createTaskToLeaderAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description created Task to User Assignment */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToLeaderAssignment"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteTaskToLeaderAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; user_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchTaskToTeamAssignments: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Name * * Id * of the assigned team */ sort_by?: components["schemas"]["TaskToTeamAssignmentsSortColumn"]; }; header?: never; path: { task_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToTeamAssignmentsPage"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTaskToTeamAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; team_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToTeamAssignment"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createTaskToTeamAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; team_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description created Task to Team Assignment */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TaskToTeamAssignment"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteTaskToTeamAssignment: { parameters: { query?: never; header?: never; path: { task_id: string; team_id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDriveLogs: { parameters: { query?: { /** * @description pass a date to filter entries started from this day on * @example */ start_from?: components["schemas"]["LocalDate"]; /** * @description pass a date to filter entries started up to (including) this day * @example */ start_to?: components["schemas"]["LocalDate"]; /** * @description pass a datetime to filter entries modified after this instant * @example */ last_modified_after?: components["schemas"]["DateTime"]; /** * @description pass one or more ids of cars to restrict entries based on these cars * @example */ cars?: string[]; /** * @description pass one or more ids of drive log categories to restrict entries based on these categories * @example */ drive_log_categories?: string[]; /** * @description pass one or more statuses to filter entries based on their status * @example */ statuses?: components["schemas"]["DriveLogStatus"][]; /** * @description pass one or more user ids to restrict entries based on the user they are associated to * @example */ users?: string[]; /** @description pass a String based on which the entries are filtered if it is contained in the properties route, purpose or visited */ details?: string; /** * @description pass a boolean to filter entries based on whether they have been changed by the user or not * @example */ changed?: boolean; /** * @description pass a boolean to filter entries based on whether they have a track or not * @example */ has_track?: boolean; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * start * * las_modified_after * * id */ sort_by?: components["schemas"]["DriveLogsSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DriveLogsPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createDriveLog: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description Drive Log entity */ requestBody: { content: { "application/json": components["schemas"]["DriveLogCreate"]; }; }; responses: { /** @description created Drive Log entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DriveLog"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getDriveLog: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DriveLog"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateDriveLog: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description Drive Log entity */ requestBody: { content: { "application/json": components["schemas"]["DriveLogUpdate"]; }; }; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DriveLog"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDeletedDriveLogs: { parameters: { query?: { /** * @description optionally, pass a datetime to filter entries modified after this instant * @example */ last_modified?: components["schemas"]["DateTime"]; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description optionally, pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description optionally, pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * last_modified * * Id * optionally, pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["DeletedEntryWithMetadataSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DeletedEntryPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchCars: { parameters: { query?: { /** @description pass a String based on which the entries are filtered if it is contained in the properties name or plate */ name_or_plate?: string; /** * @description pass a boolean to filter entries based on whether the car is usable or not * @example */ usable?: boolean; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * name * * id */ sort_by?: components["schemas"]["CarsSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["CarsPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getCar: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Car"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDriveLogCategories: { parameters: { query?: { /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * name * * id */ sort_by?: components["schemas"]["DriveLogCategoriesSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DriveLogCategoriesPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getDriveLogCategory: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DriveLogCategory"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getTrack: { parameters: { query?: never; header?: never; path: { /** @description drive log id */ id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Track"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateTrack: { parameters: { query?: never; header?: never; path: { /** @description drive log id */ id: string; }; cookie?: never; }; /** @description working time date span entity */ requestBody: { content: { "application/json": components["schemas"]["Track"]; }; }; responses: { /** @description working time date span successfully updated */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Track"]; }; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createTrack: { parameters: { query?: never; header?: never; path: { /** @description drive log id */ id: string; }; cookie?: never; }; /** @description Working Time Date Span entity */ requestBody: { content: { "application/json": components["schemas"]["Track"]; }; }; responses: { /** @description created Working Time entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Track"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteTrack: { parameters: { query?: never; header?: never; path: { /** @description drive log id */ id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchWorkingTimeRequests: { parameters: { query?: { /** * @description pass a date to filter entries started from this day on * @example */ from?: components["schemas"]["LocalDate"]; /** * @description pass a date to filter entries started up to (including) this day * @example */ to?: components["schemas"]["LocalDate"]; /** * @description pass a datetime to filter entries modified after this instant * @example */ last_modified_after?: components["schemas"]["DateTime"]; /** * @description pass one or more ids of Working Time Types to restrict entries based on these types * @example */ working_time_types?: string[]; /** * @description pass one or more statuses to filter entries based on their status * @example */ statuses?: components["schemas"]["WorkingTimeRequestStatus"][]; /** * @description pass one or more user ids to restrict entries based on the user they are associated to * @example */ users?: string[]; /** * @description pass one or more user ids to restrict entries based on the substitute they are associated to * @example */ substitutes?: string[]; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * start * * Id */ sort_by?: components["schemas"]["WorkingTimeRequestsSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeRequestsPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getWorkingTimeRequest: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeRequest"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteWorkingTimeRequest: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDeletedWorkingTimeRequests: { parameters: { query?: { /** * @description optionally, pass a datetime to filter entries modified after this instant * @example */ last_modified?: components["schemas"]["DateTime"]; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description optionally, pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description optionally, pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * last_modified * * Id * optionally, pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["DeletedEntrySortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DeletedEntryPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchWorkingTimeDateSpans: { parameters: { query?: { /** * @description pass a date to filter entries started from this day on * @example */ from?: components["schemas"]["LocalDate"]; /** * @description pass a date to filter entries started up to (including) this day * @example */ to?: components["schemas"]["LocalDate"]; /** * @description pass a datetime to filter entries modified after this instant * @example */ last_modified_after?: components["schemas"]["DateTime"]; /** * @description pass one or more ids of Working Time Types to restrict entries based on these types * @example */ working_time_types?: string[]; /** * @description pass one or more user ids to restrict entries based on the user they are associated to * @example */ users?: string[]; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * start * * Id */ sort_by?: components["schemas"]["WorkingTimeDateSpansSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeDateSpanPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; createWorkingTimeDateSpan: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** @description Working Time Date Span entity */ requestBody: { content: { "application/json": components["schemas"]["WorkingTimeDateSpanCreate"]; }; }; responses: { /** @description created Working Time entity */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeDateSpan"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getWorkingTimeDateSpan: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description corresponding working time date span entity for the given id */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeDateSpan"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteWorkingTimeDateSpan: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; updateWorkingTimeDateSpan: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; /** @description working time date span entity */ requestBody: { content: { "application/json": components["schemas"]["WorkingTimeDateSpanUpdate"]; }; }; responses: { /** @description working time date span successfully updated */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeDateSpan"]; }; }; /** @description Empty response indicating that a date span got deleted. This can happen when it is updated to a day where no working hours can be booked. */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description bad request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchDeletedWorkingTimeDateSpans: { parameters: { query?: { /** * @description optionally, pass a datetime to filter entries modified after this instant * @example */ last_modified?: components["schemas"]["DateTime"]; /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description optionally, pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description optionally, pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * last_modified * * Id * optionally, pass a property by which the returned entries will be sorted if you want a different order */ sort_by?: components["schemas"]["DeletedEntryWithMetadataSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful response */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["DeletedEntryWithMetadataPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchWorkingTimeTypes: { parameters: { query?: { /** * @description filter by name * @example */ name?: string; /** * @description filter by short name * @example */ short_name?: string; /** * @description filter by description * @example */ description?: string; /** * @description filter by WorkingTimeTypeCategory * @example */ categories?: components["schemas"]["WorkingTimeTypeCategory"][]; /** * @description filter by WorkingTimeTypeSubCategory * @example */ sub_categories?: components["schemas"]["WorkingTimeTypeSubCategory"][]; /** * @description filter by WorkingTimeType's DurationUnit * @example */ edit_units?: components["schemas"]["DurationUnit"][]; /** * @description pass a boolean to filter entries based on whether they are archived or not * @example */ archived?: boolean; /** * @description filter entries bAWS on their RecordingMode * @example */ recording_modes?: components["schemas"]["RecordingModeUser"][]; /** * @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token. * @example */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * name * * Id */ sort_by?: components["schemas"]["WorkingTimeTypesSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeTypesPage"]; }; }; /** @description bad input parameter */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getWorkingTimeType: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkingTimeType"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; deleteWorkingTimeType: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Empty response indicating that delete was successful */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchHolidayCalendars: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Description * * Id */ sort_by?: components["schemas"]["HolidayCalendarsSortColumn"]; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["HolidayCalendarsPage"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; getHolidayCalendar: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HolidayCalendarPartial"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; fetchHolidays: { parameters: { query?: { /** @description Token for retrieving the next page. This token is provided in the response of the previous page as next_page_token */ page_token?: string; /** @description pass a value to change the maximum number of entries returned in a single page (at max 500). */ limit?: number; /** @description pass a direction in which the entries returned will be sorted in */ sort_direction?: components["schemas"]["SortDirection"]; /** * @description By default sorted by: * * Description * * Id */ sort_by?: components["schemas"]["HolidaysSortColumn"]; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description search results matching criteria */ 200: { headers: { /** @description link to the next page including filter parameters and page token */ Link?: string; [name: string]: unknown; }; content: { "application/json": components["schemas"]["HolidaysPage"]; }; }; /** @description not allowed */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; /** @description not found */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Error"]; }; }; }; }; } declare const DEFAULT_TOKEN_URL = "https://system.timr.com/id/oauth2/token"; declare const DEFAULT_SCOPE = "timrclient openid"; interface OAuthCredentials { clientId: string; clientSecret: string; tokenUrl?: string; scope?: string; } type TokenProvider = () => Promise; declare function createOAuthTokenProvider(credentials: OAuthCredentials, fetchImpl?: typeof globalThis.fetch): TokenProvider; declare const DEFAULT_BASE_URL = "https://api.timr.com/v0.2/"; interface TimrClientStaticTokenOptions { token: string; baseUrl?: string; fetch?: typeof globalThis.fetch; headers?: Record; } interface TimrClientOAuthOptions extends OAuthCredentials { baseUrl?: string; fetch?: typeof globalThis.fetch; headers?: Record; } interface TimrClientProviderOptions { tokenProvider: TokenProvider; baseUrl?: string; fetch?: typeof globalThis.fetch; headers?: Record; } type TimrClientOptions = TimrClientStaticTokenOptions | TimrClientOAuthOptions | TimrClientProviderOptions; type TimrClient = Client; declare function createTimrClient(options: TimrClientOptions): TimrClient; declare class TimrError extends Error { readonly status?: number; readonly body?: string; constructor(message: string, meta?: { status?: number; body?: string; }); } export { DEFAULT_BASE_URL, DEFAULT_SCOPE, DEFAULT_TOKEN_URL, type OAuthCredentials, type TimrClient, type TimrClientOAuthOptions, type TimrClientOptions, type TimrClientProviderOptions, type TimrClientStaticTokenOptions, TimrError, type TokenProvider, type components, createOAuthTokenProvider, createTimrClient, type operations, type paths };