Remote Time & Attendance API

The Time & Attendance API from Remote — 21 operation(s) for time & attendance.

OpenAPI Specification

remote-time-attendance-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Remote Address Details Time & Attendance API
  version: 0.1.0
servers:
- url: https://gateway.remote.com/
  variables: {}
- url: https://gateway.remote-sandbox.com/
  variables: {}
security:
- OAuth2: []
tags:
- name: Time & Attendance
paths:
  /v1/timesheets/{id}:
    get:
      callbacks: {}
      deprecated: false
      description: 'Shows a timesheet by its ID.


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timesheets (`timesheet:read`) | Manage timesheets (`timesheet:write`) |

        '
      operationId: get_v1_timesheets_id
      parameters:
      - description: Timesheet ID
        example: ec23ebda-4b7a-4dbd-9d79-bd1eec3f83c9
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimesheetResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timesheet:read
        - timesheet:write
        - time_and_attendance
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timesheet:read
        - timesheet:write
        - time_and_attendance
        - all:write
        - all:read
      summary: Show timesheet
      tags:
      - Time & Attendance
  /v1/timeoff/{timeoff_id}/cancel:
    post:
      callbacks: {}
      deprecated: false
      description: 'Cancel a time off request that was already approved.


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timeoffs (`timeoff:write`) |

        '
      operationId: post_v1_timeoff_timeoff_id_cancel
      parameters:
      - description: Time Off ID
        example: 93t3j-timeoff-id-9suej43
        in: path
        name: timeoff_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelTimeoffParams'
        description: CancelTimeoff
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoffResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timeoff:write
        - time_and_attendance
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timeoff:write
        - time_and_attendance
        - all:write
      summary: Cancel Time Off
      tags:
      - Time & Attendance
  /v1/employee/timeoff/{id}:
    patch:
      callbacks: {}
      deprecated: false
      description: 'Updates a Time Off record as Employee


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timeoffs (`timeoff:write`) |

        '
      operationId: patch_v1_employee_timeoff_id (2)
      parameters:
      - description: Timeoff ID
        example: 93t3j-timeoff-id-9suej43
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeTimeoffParams'
        description: UpdateTimeoff
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoffResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - OAuth2Assertion:
        - https://gateway.remote.com/employment.manage
        - timeoff:write
        - time_and_attendance
        - all:write
      summary: Update Time Off as Employee
      tags:
      - Time & Attendance
    put:
      callbacks: {}
      deprecated: false
      description: 'Updates a Time Off record as Employee


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timeoffs (`timeoff:write`) |

        '
      operationId: patch_v1_employee_timeoff_id
      parameters:
      - description: Timeoff ID
        example: 93t3j-timeoff-id-9suej43
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeTimeoffParams'
        description: UpdateTimeoff
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoffResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - OAuth2Assertion:
        - https://gateway.remote.com/employment.manage
        - timeoff:write
        - time_and_attendance
        - all:write
      summary: Update Time Off as Employee
      tags:
      - Time & Attendance
  /v1/contractors/employments/{employment_id}/timesheets:
    post:
      callbacks: {}
      deprecated: false
      description: 'Creates a timesheet on behalf of a contractor employment.


        The submitted hours are immediately available to the contractor in the Remote UI for

        self-serve invoice creation (Invoices → Create invoice → "Use Time Tracking").


        This endpoint is restricted to contractor employments. Calls against EOR or Global Payroll

        employments are rejected with `422`.



        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timesheets (`timesheet:write`) |

        '
      operationId: post_v1_contractors_employments_employment_id_timesheets
      parameters:
      - description: Contractor employment ID
        example: c0a167b8-459d-4e96-9766-7a04c160892e
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContractorCreateTimesheetParams'
        description: ContractorCreateTimesheetParams
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractorTimesheetResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractorCreateTimesheetUnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timesheet:write
        - time_and_attendance
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timesheet:write
        - time_and_attendance
        - all:write
      summary: Create a contractor timesheet
      tags:
      - Time & Attendance
  /v1/employee/leave-policies:
    get:
      callbacks: {}
      deprecated: false
      description: 'List the leave policies for the current employee


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timeoffs (`timeoff:read`) | Manage timeoffs (`timeoff:write`) |

        '
      operationId: get_v1_employee_leave-policies
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLeavePoliciesDetailsResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
      security:
      - OAuth2Assertion:
        - https://gateway.remote.com/employment.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
      summary: List Employee Leave Policies
      tags:
      - Time & Attendance
  /v1/employee/leave-policies/summary:
    get:
      callbacks: {}
      deprecated: false
      description: 'List the leave policies summary (balances and entitlements) for the current employee


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timeoffs (`timeoff:read`) | Manage timeoffs (`timeoff:write`) |

        '
      operationId: get_v1_employee_leave-policies_summary
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLeavePoliciesSummaryResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
      security:
      - OAuth2Assertion:
        - https://gateway.remote.com/employment.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
      summary: List Employee Leave Policies Summary
      tags:
      - Time & Attendance
  /v1/timeoff-balances/{employment_id}:
    get:
      callbacks: {}
      deprecated: true
      description: 'Shows the time off balance for the given employment_id.


        Deprecated since February 2025 in favour of **[List Leave Policies Summary](#tag/Leave-Policies/operation/get_index_leave_policies_summary)** endpoint.



        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timeoffs (`timeoff:read`) | Manage timeoffs (`timeoff:write`) |

        '
      operationId: get_v1_timeoff-balances_employment_id
      parameters:
      - description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.


          The refresh token needs to have been obtained through the Authorization Code flow.

          '
        example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: Employment ID for which to show the time off balance
        example: 03675381-50c9-492d-b8ed-e84e99046091
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoffBalanceResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoffBalanceNotFoundResponse'
          description: TimeoffBalanceNotFoundResponse
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Too many requests
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
      summary: Show Time Off Balance
      tags:
      - Time & Attendance
  /v1/employee/timeoff/{id}/cancel:
    post:
      callbacks: {}
      deprecated: false
      description: 'Cancels a Time Off record as Employee


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timeoffs (`timeoff:write`) |

        '
      operationId: post_v1_employee_timeoff_id_cancel
      parameters:
      - description: Timeoff ID
        example: 93t3j-timeoff-id-9suej43
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelTimeoffParams'
        description: CancelTimeoff
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeoffResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - OAuth2Assertion:
        - https://gateway.remote.com/employment.manage
        - timeoff:write
        - time_and_attendance
        - all:write
      summary: Cancel Time Off as Employee
      tags:
      - Time & Attendance
  /v1/timesheets/{timesheet_id}/approve:
    post:
      callbacks: {}
      deprecated: false
      description: 'Approves the given timesheet.


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timesheets (`timesheet:write`) |

        '
      operationId: post_v1_timesheets_timesheet_id_approve
      parameters:
      - description: Timesheet ID
        example: ec23ebda-4b7a-4dbd-9d79-bd1eec3f83c9
        in: path
        name: timesheet_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MinimalTimesheetResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timesheet:write
        - time_and_attendance
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timesheet:write
        - time_and_attendance
        - all:write
      summary: Approve timesheet
      tags:
      - Time & Attendance
  /v1/leave-policies/summary/{employment_id}:
    get:
      callbacks: {}
      deprecated: false
      description: 'List all the data related to time off for a given employment


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timeoffs (`timeoff:read`) | Manage timeoffs (`timeoff:write`) |

        '
      operationId: get_v1_leave-policies_summary_employment_id
      parameters:
      - description: Employment ID
        example: ec23ebda-4b7a-4dbd-9d79-bd1eec3f83c9
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLeavePoliciesSummaryResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
      summary: List Leave Policies Summary
      tags:
      - Time & Attendance
  /v1/timeoff/{timeoff_id}/cancel-request/decline:
    post:
      callbacks: {}
      deprecated: false
      description: 'Decline a time off cancellation request.



        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | - | Manage timeoffs (`timeoff:write`) |

        '
      operationId: post_v1_timeoff_timeoff_id_cancel-request_decline
      parameters:
      - description: Time Off ID
        example: 93t3j-timeoff-id-9suej43
        in: path
        name: timeoff_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeclineTimeoffParams'
        description: Timeoff
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictResponse'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timeoff:write
        - time_and_attendance
        - all:write
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timeoff:write
        - time_and_attendance
        - all:write
      summary: Decline a time off cancellation request
      tags:
      - Time & Attendance
  /v1/timesheets:
    get:
      callbacks: {}
      deprecated: false
      description: 'Lists all timesheets.


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timesheets (`timesheet:read`) | Manage timesheets (`timesheet:write`) |

        '
      operationId: get_v1_timesheets
      parameters:
      - description: Filter timesheets by their status
        in: query
        name: status
        required: false
        schema:
          $ref: '#/components/schemas/TimesheetStatus'
      - description: Sort order
        example: asc
        in: query
        name: order
        required: false
        schema:
          enum:
          - asc
          - desc
          type: string
      - description: Field to sort by
        example: submitted_at
        in: query
        name: sort_by
        required: false
        schema:
          enum:
          - submitted_at
          type: string
      - description: Starts fetching records after the given page
        example: 1
        in: query
        name: page
        required: false
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: Number of items per page
        example: 20
        in: query
        name: page_size
        required: false
        schema:
          default: 20
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTimesheetsResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timesheet:read
        - timesheet:write
        - time_and_attendance
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timesheet:read
        - timesheet:write
        - time_and_attendance
        - all:write
        - all:read
      summary: List timesheets
      tags:
      - Time & Attendance
  /v1/leave-policies/details/{employment_id}:
    get:
      callbacks: {}
      deprecated: false
      description: 'Describe the leave policies (custom or not) for a given employment


        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timeoffs (`timeoff:read`) | Manage timeoffs (`timeoff:write`) |

        '
      operationId: get_v1_leave-policies_details_employment_id
      parameters:
      - description: Employment ID
        example: ec23ebda-4b7a-4dbd-9d79-bd1eec3f83c9
        in: path
        name: employment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLeavePoliciesDetailsResponse'
          description: Success
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityResponse'
          description: Unprocessable Entity
      security:
      - CustomerAPIToken:
        - https://gateway.remote.com/company.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
        OAuth2AuthorizationCode:
        - https://gateway.remote.com/company.manage
        - timeoff:read
        - timeoff:write
        - time_and_attendance
        - all:write
        - all:read
      summary: List Leave Policies Details
      tags:
      - Time & Attendance
  /v1/timeoff/types:
    get:
      callbacks: {}
      deprecated: false
      description: 'Lists all time off types that can be used for the `timeoff_type` parameter.


        **Backward compatibility:** Calling this endpoint without the `type` query parameter returns the same response as before (time off types for full-time employments). Existing integrations do not need to change.


        Optionally, pass `type=contractor` to get time off types for contractor employments, or `type=full_time` for full-time employments (same as omitting the parameter).



        ## Scopes


        | Category | Read only Scope | Write only Scope (read access implicit) |

        |---|---|---|

        | Manage timeoffs (`time_and_attendance`) | View timeoffs (`timeoff:read`) | Manage timeoffs (`timeoff:write`) |

        '
      operationId: get_v1_timeoff_types
      parameters:
      - description: 'Requires a Company-scoped access token obtained through the Authorization Code flow or the Refresh Token flow.


          The refresh token needs to have been obtained through the Authorization Code flow.

          '
        example: Bearer <COMPANY-SCOPED ACCESS TOKEN>
        in: header
        name: Authorization
        required: true
        schema:
          type: string
      - description: 'Optional. Employment type to list time off types for: `contractor` or `full_time`. Omit for backward-compatible behavior (full-time types).'
        example: full_time
        in: query
        name: type
        required: false
        schema:
          $ref: '#/components/schemas/TimeoffTypesEmploymentType'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTimeoffTypesResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
 

# --- truncated at 32 KB (153 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/remote/refs/heads/main/openapi/remote-time-attendance-api-openapi.yml