> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.sesametime.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List the overtime balance adjustments of an employee

> Returns, newest first, the balance adjustments (audit action `overtime.balance_adjustment`) recorded for the employee `employeeId`, whoever made them (API or panel), optionally filtered by date and origin. The employee must belong to the company of the token. The read permission is checked over the employee before the lookup, so an id the API consumer has no role over (including an unknown id) answers 403; 404 `employee_not_adjustable` is returned when the permission passes but the employee does not belong to the company of the token.



## OpenAPI

````yaml GET /overtime-policies/v1/employees/{employeeId}/adjustments
openapi: 3.0.0
info:
  description: ''
  version: 3.0.0
  title: Sesame Public API
servers:
  - url: https://api-{region}.sesametime.com
    variables:
      region:
        default: eu1
security: []
tags: []
paths:
  /overtime-policies/v1/employees/{employeeId}/adjustments:
    get:
      tags:
        - Overtime Policies
      summary: List the overtime balance adjustments of an employee
      description: >-
        Returns, newest first, the balance adjustments (audit action
        `overtime.balance_adjustment`) recorded for the employee `employeeId`,
        whoever made them (API or panel), optionally filtered by date and
        origin. The employee must belong to the company of the token. The read
        permission is checked over the employee before the lookup, so an id the
        API consumer has no role over (including an unknown id) answers 403; 404
        `employee_not_adjustable` is returned when the permission passes but the
        employee does not belong to the company of the token.
      operationId: ListEmployeeOvertimeBalanceAdjustments
      parameters:
        - name: employeeId
          in: path
          required: true
          description: The employee ID. It must belong to the company of the token.
          schema:
            type: string
            format: uuid
        - name: page
          in: query
          description: >-
            Page number (1-based). `0` or a non-numeric value is treated as 1; a
            negative value is rejected with 422 `invalid_page`.
          schema:
            type: integer
            default: 1
        - name: limit
          in: query
          description: >-
            Items per page. `0` or a non-numeric value falls back to the
            default; a negative value or a value above 300 is rejected with 422.
          schema:
            type: integer
            default: 20
            maximum: 300
        - name: from
          in: query
          description: >-
            Only adjustments that occurred on or after this day (Y-m-d, from
            00:00:00 UTC). This value is not validated, so send a well-formed
            date: a malformed one is not reported as a 422.
          schema:
            type: string
            format: date
            example: '2026-01-01'
        - name: to
          in: query
          description: >-
            Only adjustments that occurred on or before this day (Y-m-d, until
            23:59:59 UTC). This value is not validated, so send a well-formed
            date: a malformed one is not reported as a 422.
          schema:
            type: string
            format: date
            example: '2026-01-31'
        - name: origin
          in: query
          description: >-
            Filter by origin: `api` returns the adjustments made by API
            consumers (actorType `api_consumer`); `panel` the ones made from the
            application (actorType `admin` or `employee`). Omitted or any other
            value: no filter.
          schema:
            type: string
            enum:
              - api
              - panel
      responses:
        '200':
          description: >-
            Paginated list of balance adjustments of the employee, newest first
            (ordered by occurredOn desc). Note `data` is an object holding the
            `entries` array.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - entries
                    properties:
                      entries:
                        type: array
                        items:
                          type: object
                          description: >-
                            One balance adjustment of the employee, as recorded
                            in the audit history
                            (EmployeeOvertimeHistoryEntryView).
                          required:
                            - id
                            - occurredOn
                            - actionCode
                            - actorType
                            - actorName
                            - reversible
                            - detail
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Audit entry ID
                            occurredOn:
                              type: string
                              format: Y-m-dTH:i:sP
                              example: '2020-01-01T10:00:00+01:00'
                            actionCode:
                              type: string
                              enum:
                                - overtime.balance_adjustment
                              description: >-
                                Audited action. This endpoint only returns
                                balance adjustments.
                            actorType:
                              type: string
                              enum:
                                - admin
                                - employee
                                - system
                                - api_consumer
                                - device
                              description: Who performed the adjustment
                            actorName:
                              type: string
                              nullable: true
                              description: >-
                                Display name of the actor; null when the actor
                                has no reference (system) or its name could not
                                be resolved
                            reversible:
                              type: boolean
                              description: Whether the audit entry is flagged as reversible
                            detail:
                              type: object
                              description: >-
                                Payload of the adjustment
                                (BalanceAdjustmentPayload::toArray).
                              required:
                                - movementId
                                - amountSeconds
                                - source
                                - operation
                                - note
                                - periodFrom
                                - periodTo
                              properties:
                                movementId:
                                  type: string
                                  format: uuid
                                  description: >-
                                    ID of the adjustment movement (the
                                    `adjustmentId` returned by the POST)
                                amountSeconds:
                                  type: integer
                                  description: Seconds applied by the adjustment
                                  example: 3600
                                source:
                                  type: string
                                  enum:
                                    - total_balance
                                    - positive_balance
                                    - negative_balance
                                    - multiplier_rule
                                    - typifying_rule
                                  description: >-
                                    Balance the adjustment was applied to
                                    (`total_balance` for resets)
                                operation:
                                  type: string
                                  enum:
                                    - add
                                    - subtract
                                    - reset
                                note:
                                  type: string
                                  nullable: true
                                  description: Note sent with the adjustment
                                periodFrom:
                                  type: string
                                  format: Y-m-d
                                  example: '2020-01-01'
                                periodTo:
                                  type: string
                                  format: Y-m-d
                                  example: '2020-01-01'
                  meta:
                    type: object
                    properties:
                      currentPage:
                        type: integer
                        example: 1
                      lastPage:
                        type: integer
                        example: 1
                      total:
                        type: integer
                        example: 1
                      perPage:
                        type: integer
                        example: 1
              example:
                data:
                  entries:
                    - id: 9a7c1d2e-0b3f-4e5a-8c6d-7e8f9a0b1c2d
                      occurredOn: '2026-02-03T09:15:00+00:00'
                      actionCode: overtime.balance_adjustment
                      actorType: api_consumer
                      actorName: Payroll integration
                      reversible: true
                      detail:
                        movementId: 3f2b8c1e-6a0d-4c4e-9b7a-2d1f0e5c9a11
                        amountSeconds: 3600
                        source: total_balance
                        operation: add
                        note: Correction after audit
                        periodFrom: '2026-01-01'
                        periodTo: '2026-01-31'
                meta:
                  currentPage: 1
                  lastPage: 1
                  total: 1
                  perPage: 20
        '401':
          description: >-
            Unauthorized - The `Authorization: Bearer` token is missing, unknown
            or disabled (`unauthorized`, UnauthorizedHttpException), or the API
            token has expired (`api_token_expired`,
            ApiConsumerSessionExpiredException).
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Error envelope produced by JsonApiResponseFactory for every
                  non-2xx response.
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - status
                      - message
                      - errors
                    properties:
                      status:
                        type: integer
                        description: HTTP status code, repeated in the body
                        example: 422
                      message:
                        type: string
                        description: >-
                          Error message. For domain and authentication errors it
                          is a stable error code; for request validation errors
                          it is `Unprocessable entity`.
                        example: employee_not_adjustable
                      errors:
                        description: >-
                          For domain and authentication errors, a stable error
                          code (string) to branch on. For request validation
                          errors, an object keyed by field name whose value is
                          the list of messages for that field (translated into
                          the request locale).
                        oneOf:
                          - type: string
                            example: employee_not_adjustable
                          - type: object
                            additionalProperties:
                              type: array
                              items:
                                type: string
                            example:
                              employeeId:
                                - validator.invalid_uuid
              examples:
                unauthorized:
                  summary: Missing, unknown or disabled token
                  value:
                    error:
                      status: 401
                      message: Unauthorized
                      errors: unauthorized
                api_token_expired:
                  summary: Expired API token
                  value:
                    error:
                      status: 401
                      message: api_token_expired
                      errors: api_token_expired
        '402':
          description: >-
            Payment Required - The subscription of the company of the token is
            cancelled (SubscriptionPseudoCancelledException).
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Error envelope produced by JsonApiResponseFactory for every
                  non-2xx response.
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - status
                      - message
                      - errors
                    properties:
                      status:
                        type: integer
                        description: HTTP status code, repeated in the body
                        example: 422
                      message:
                        type: string
                        description: >-
                          Error message. For domain and authentication errors it
                          is a stable error code; for request validation errors
                          it is `Unprocessable entity`.
                        example: employee_not_adjustable
                      errors:
                        description: >-
                          For domain and authentication errors, a stable error
                          code (string) to branch on. For request validation
                          errors, an object keyed by field name whose value is
                          the list of messages for that field (translated into
                          the request locale).
                        oneOf:
                          - type: string
                            example: employee_not_adjustable
                          - type: object
                            additionalProperties:
                              type: array
                              items:
                                type: string
                            example:
                              employeeId:
                                - validator.invalid_uuid
              examples:
                subscription_expired:
                  summary: Cancelled subscription
                  value:
                    error:
                      status: 402
                      message: subscription_expired
                      errors: subscription_expired
        '403':
          description: >-
            Forbidden - The token is not an API consumer token, the company has
            no access to the Public API, or the API consumer has no role over
            the affected entity (ForbiddenAccessPermissionException, raised by
            VerifyPublicAPIAddonIsEnabledMiddleware or by the permission check
            of the command / query).
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Error envelope produced by JsonApiResponseFactory for every
                  non-2xx response.
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - status
                      - message
                      - errors
                    properties:
                      status:
                        type: integer
                        description: HTTP status code, repeated in the body
                        example: 422
                      message:
                        type: string
                        description: >-
                          Error message. For domain and authentication errors it
                          is a stable error code; for request validation errors
                          it is `Unprocessable entity`.
                        example: employee_not_adjustable
                      errors:
                        description: >-
                          For domain and authentication errors, a stable error
                          code (string) to branch on. For request validation
                          errors, an object keyed by field name whose value is
                          the list of messages for that field (translated into
                          the request locale).
                        oneOf:
                          - type: string
                            example: employee_not_adjustable
                          - type: object
                            additionalProperties:
                              type: array
                              items:
                                type: string
                            example:
                              employeeId:
                                - validator.invalid_uuid
              examples:
                forbidden_access_permission:
                  summary: No access
                  value:
                    error:
                      status: 403
                      message: Forbidden Access Permission
                      errors: forbidden_access_permission
        '404':
          description: >-
            Not Found - The employee does not belong to the company of the token
            (EmployeeNotAdjustableException, raised by
            EmployeeAdjustabilityGuard::assertReadable).
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Error envelope produced by JsonApiResponseFactory for every
                  non-2xx response.
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - status
                      - message
                      - errors
                    properties:
                      status:
                        type: integer
                        description: HTTP status code, repeated in the body
                        example: 422
                      message:
                        type: string
                        description: >-
                          Error message. For domain and authentication errors it
                          is a stable error code; for request validation errors
                          it is `Unprocessable entity`.
                        example: employee_not_adjustable
                      errors:
                        description: >-
                          For domain and authentication errors, a stable error
                          code (string) to branch on. For request validation
                          errors, an object keyed by field name whose value is
                          the list of messages for that field (translated into
                          the request locale).
                        oneOf:
                          - type: string
                            example: employee_not_adjustable
                          - type: object
                            additionalProperties:
                              type: array
                              items:
                                type: string
                            example:
                              employeeId:
                                - validator.invalid_uuid
              examples:
                employee_not_adjustable:
                  summary: Employee not in the company of the token
                  value:
                    error:
                      status: 404
                      message: employee_not_adjustable
                      errors: employee_not_adjustable
        '422':
          description: >-
            Unprocessable Entity - A pagination parameter is out of range
            (raised while building AuditHistoryQueryParams, resolved by the
            ApiContext pagination resolvers):


            - `invalid_page` - `page` is negative (InvalidPageException).

            - `invalid_items_per_page` - `limit` is negative
            (InvalidItemsPerPageException).

            - `invalid_items_per_page_limit_exceeded` - `limit` is above 300; it
            is rejected, not capped (InvalidItemsPerPageLimitExceededException).
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Error envelope produced by JsonApiResponseFactory for every
                  non-2xx response.
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - status
                      - message
                      - errors
                    properties:
                      status:
                        type: integer
                        description: HTTP status code, repeated in the body
                        example: 422
                      message:
                        type: string
                        description: >-
                          Error message. For domain and authentication errors it
                          is a stable error code; for request validation errors
                          it is `Unprocessable entity`.
                        example: employee_not_adjustable
                      errors:
                        description: >-
                          For domain and authentication errors, a stable error
                          code (string) to branch on. For request validation
                          errors, an object keyed by field name whose value is
                          the list of messages for that field (translated into
                          the request locale).
                        oneOf:
                          - type: string
                            example: employee_not_adjustable
                          - type: object
                            additionalProperties:
                              type: array
                              items:
                                type: string
                            example:
                              employeeId:
                                - validator.invalid_uuid
              examples:
                invalid_page:
                  summary: Negative page
                  value:
                    error:
                      status: 422
                      message: invalid_page
                      errors: invalid_page
                invalid_items_per_page:
                  summary: Negative limit
                  value:
                    error:
                      status: 422
                      message: invalid_items_per_page
                      errors: invalid_items_per_page
                invalid_items_per_page_limit_exceeded:
                  summary: Limit above 300
                  value:
                    error:
                      status: 422
                      message: invalid_items_per_page_limit_exceeded
                      errors: invalid_items_per_page_limit_exceeded
        '429':
          description: >-
            Too Many Requests - The company of the token exceeded the API
            consumer call limit (1000 calls per minute)
            (ApiConsumerSessionCallMaxExceededException).
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Error envelope produced by JsonApiResponseFactory for every
                  non-2xx response.
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - status
                      - message
                      - errors
                    properties:
                      status:
                        type: integer
                        description: HTTP status code, repeated in the body
                        example: 422
                      message:
                        type: string
                        description: >-
                          Error message. For domain and authentication errors it
                          is a stable error code; for request validation errors
                          it is `Unprocessable entity`.
                        example: employee_not_adjustable
                      errors:
                        description: >-
                          For domain and authentication errors, a stable error
                          code (string) to branch on. For request validation
                          errors, an object keyed by field name whose value is
                          the list of messages for that field (translated into
                          the request locale).
                        oneOf:
                          - type: string
                            example: employee_not_adjustable
                          - type: object
                            additionalProperties:
                              type: array
                              items:
                                type: string
                            example:
                              employeeId:
                                - validator.invalid_uuid
              examples:
                api_consumer_rate_limit_exceeded:
                  summary: Rate limit exceeded
                  value:
                    error:
                      status: 429
                      message: Api consumer rate limit exceeded
                      errors: api_consumer_rate_limit_exceeded
      security:
        - Bearer: []
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.