Visma Overtime API

Operations for managing overtime shortcuts for employees. Overtime shortcuts allow tracking of employee overtime periods with configurable registration methods (time or hours).

Operations 9

POST /v1/shortcuts/overtime Create an overtime shortcut #
GET /v1/shortcuts/overtime/{overtimeId} Get an overtime shortcut by id #
GET /v1/shortcuts/overtime/{startDate}/{endDate} Get overtime shortcuts between dates #
PUT /v1/shortcuts/overtime/{id} Update an overtime shortcut #
POST /v2/shortcuts/overtime Create an overtime shortcut #
GET /v2/shortcuts/overtime/{shortcutId} Get an overtime shortcut by id #
PUT /v2/shortcuts/overtime/{shortcutId} Update an overtime shortcut #
DELETE /v2/shortcuts/overtime/{shortcutId} Delete an overtime shortcut #
GET /v2/shortcuts/overtime/{startDate}/{endDate} Get overtime shortcuts between dates #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/visma-overtime-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

visma-overtime-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Visma Overtime API
  contact:
    email: api@spiris.se
  version: '1.0'
  description: 'Operations tagged Overtime across 2 of this provider''s published API definitions: visma-payroll-api-v1-openapi-original.json, visma-payroll-api-v2-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://vlsapi.vismaonline.com/
tags:
- name: Overtime
  description: Operations for managing overtime shortcuts for employees. Overtime shortcuts allow tracking of employee overtime periods with configurable registration methods (time or hours).
paths:
  /v1/shortcuts/overtime:
    post:
      tags:
      - Overtime
      summary: Create an overtime shortcut
      description: Create a new overtime shortcut for an employee. The shortcut will be registered based on the specified registration method (time or hours).
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OvertimeApi'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OvertimeApi'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: postV1ShortcutsOvertime
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
  /v1/shortcuts/overtime/{overtimeId}:
    get:
      tags:
      - Overtime
      summary: Get an overtime shortcut by id
      description: Get a specific overtime shortcut by its unique identifier. Use query parameters to select specific properties in the response.
      parameters:
      - name: overtimeId
        in: path
        description: The overtime shortcut id
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OvertimeApi'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: getV1ShortcutsOvertimeByOvertimeId
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
  /v1/shortcuts/overtime/{startDate}/{endDate}:
    get:
      tags:
      - Overtime
      summary: Get overtime shortcuts between dates
      description: Get all overtime shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.
      parameters:
      - name: startDate
        in: path
        description: Start date in format yyyy-MM-dd
        required: true
        schema:
          type: string
          format: date-time
      - name: endDate
        in: path
        description: End date in format yyyy-MM-dd
        required: true
        schema:
          type: string
          format: date-time
      - name: includeOnlySameClientShortcuts
        in: query
        description: If true, only includes shortcuts created by the same client
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OvertimeApi'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: getV1ShortcutsOvertimeByStartDateByEndDate
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
  /v1/shortcuts/overtime/{id}:
    put:
      tags:
      - Overtime
      summary: Update an overtime shortcut
      description: Update an existing overtime shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.
      parameters:
      - name: id
        in: path
        description: The shortcut id
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OvertimeApi'
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OvertimeApi'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: putV1ShortcutsOvertimeById
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
  /v2/shortcuts/overtime:
    post:
      tags:
      - Overtime
      summary: Create an overtime shortcut
      description: Create a new overtime shortcut for an employee. The shortcut will be registered based on the specified registration method (time or hours).
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OvertimeRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OvertimeResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: postV2ShortcutsOvertime
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
  /v2/shortcuts/overtime/{shortcutId}:
    get:
      tags:
      - Overtime
      summary: Get an overtime shortcut by id
      description: Get a specific overtime shortcut by its unique identifier. Use query parameters to select specific properties in the response.
      parameters:
      - name: shortcutId
        in: path
        description: The overtime shortcut id
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OvertimeResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: getV2ShortcutsOvertimeByShortcutId
      x-operation-id-source: derived
    put:
      tags:
      - Overtime
      summary: Update an overtime shortcut
      description: Update an existing overtime shortcut by replacing its content. Only shortcuts that have not been read (imported by a payroll administrator) can be updated. The shortcut must belong to the same third-party client that created it.
      parameters:
      - name: shortcutId
        in: path
        description: The shortcut id
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/OvertimeRequest'
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OvertimeResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: putV2ShortcutsOvertimeByShortcutId
      x-operation-id-source: derived
    delete:
      tags:
      - Overtime
      summary: Delete an overtime shortcut
      description: Delete an overtime shortcut by its unique identifier. Only shortcuts that have not been read (imported by a payroll administrator) can be deleted. The shortcut must belong to the same third-party client that created it.
      parameters:
      - name: shortcutId
        in: path
        description: The shortcut id
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request successful
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: deleteV2ShortcutsOvertimeByShortcutId
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
  /v2/shortcuts/overtime/{startDate}/{endDate}:
    get:
      tags:
      - Overtime
      summary: Get overtime shortcuts between dates
      description: Get all overtime shortcuts within a specified date range. Use query parameters to filter the results or include only shortcuts created by the same client.
      parameters:
      - name: startDate
        in: path
        description: Start date in format yyyy-MM-dd
        required: true
        schema:
          type: string
          format: date-time
      - name: endDate
        in: path
        description: End date in format yyyy-MM-dd
        required: true
        schema:
          type: string
          format: date-time
      - name: includeOnlySameClientShortcuts
        in: query
        description: If true, only includes shortcuts created by the same client
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OvertimeResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonExtendedBadRequest'
      operationId: getV2ShortcutsOvertimeByStartDateByEndDate
      x-operation-id-source: derived
    servers:
    - url: https://vlsapi.vismaonline.com/
components:
  schemas:
    OvertimeApi:
      required:
      - EmployeeId
      - EndDate
      - ShortcutRegistrationMethod
      - StartDate
      type: object
      properties:
        OvertimePayOutMethod:
          type: integer
          description: 'Type of overtime pay out method<br/>Possible values: 1 - Money, 2 - Time'
          format: int32
        ScheduleStartTime:
          type:
          - string
          - 'null'
          description: Start time of the schedule. Used only if the employee has irregular working schedule. Format - HH:mm
        ScheduleEndTime:
          type:
          - string
          - 'null'
          description: End time of the schedule. Used only if the employee has irregular working schedule. Format - HH:mm
        ScheduledDayBreakTime:
          type: integer
          description: Break duration in minutes. Used only if the employee has irregular working schedule.
          format: int32
        ExtraBreakTime:
          type: integer
          description: Extra break duration in minutes
          format: int32
        OvertimeOne:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeTwo:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeThree:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeFour:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes at level 4. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        AdditionalHoursInMinutes:
          type:
          - integer
          - 'null'
          description: Additional hours duration in minutes. Used only for part-time employees when ShortcutRegistrationMethod is set to hour.
          format: int32
        Id:
          type: string
          description: Unique identifier provided by VLS
          format: uuid
          readOnly: true
        EmployeeId:
          type: string
          description: 'The ID of the employee that the shortcut is registered for. Source: Get from /v1/employees'
          format: uuid
        StartDate:
          type: string
          description: Start date for the shortcut
          format: date-time
        EndDate:
          type: string
          description: End date for the shortcut
          format: date-time
        ShortcutRegistrationMethod:
          type: integer
          description: 'Registration method for the shortcut<br/>Possible values: 0 - Time, 1 - Hours, 2 - Percentage'
          format: int32
        PercentOfDay:
          type: number
          description: The percentage of the day that the shortcut is registered for. Required when ShortcutRegistrationMethod is Percentage.
          format: double
        MinutesOfDay:
          type: integer
          description: The number of minutes the shortcut is registered for. Required when ShortcutRegistrationMethod is Hours.
          format: int32
        StartTime:
          type:
          - string
          - 'null'
          description: 'The start time the shortcut is registered for (format: HH:mm). Required when ShortcutRegistrationMethod is Time.'
        EndTime:
          type:
          - string
          - 'null'
          description: 'The end time the shortcut is registered for (format: HH:mm). Required when ShortcutRegistrationMethod is Time.'
        IsRead:
          type: boolean
          description: Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it.
          readOnly: true
        Comment:
          type:
          - string
          - 'null'
          description: Optional comment for the shortcut
        ProjectId:
          type:
          - string
          - 'null'
          description: 'Project ID. Source: Get from eAccounting API, /v2/projects'
          format: uuid
        CostCenterItemId1:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        CostCenterItemId2:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        CostCenterItemId3:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        ProjectCostCenterDistribution:
          allOf:
          - $ref: '#/components/schemas/ProjectCostCenterDistributionApi'
          description: Percentage based distribution across projects and cost centers. When supplied on a request, ProjectId and CostCenterItemId1-3 are ignored. In a response, each of ProjectId and CostCenterItemId1-3 is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.
      additionalProperties: false
    CommonError:
      type: object
      properties:
        Field:
          type:
          - string
          - 'null'
        ErrorCode:
          type:
          - string
          - 'null'
        Message:
          type:
          - string
          - 'null'
        Key:
          type:
          - string
          - 'null'
      additionalProperties: false
    ProjectCostCenterAllocationApi:
      type: object
      properties:
        Id:
          type: string
          description: Project id or cost center item id for this allocation.
          format: uuid
        Percentage:
          type: number
          description: Allocation percentage for this entry.
          format: double
      additionalProperties: false
    ProjectCostCenterDistributionApi:
      type: object
      properties:
        Project:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationApi'
          description: Allocations on Project. The percentages within Project must total at most 100%.
        CostCenter1:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationApi'
          description: Allocations on cost center 1. The percentages within CostCenter1 must total at most 100%.
        CostCenter2:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationApi'
          description: Allocations on cost center 2. The percentages within CostCenter2 must total at most 100%.
        CostCenter3:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationApi'
          description: Allocations on cost center 3. The percentages within CostCenter3 must total at most 100%.
      additionalProperties: false
    CommonExtendedBadRequest:
      type: object
      properties:
        ErrorCode:
          type: integer
          format: int32
        DeveloperErrorMessage:
          type:
          - string
          - 'null'
        ErrorId:
          type: string
          format: uuid
        Errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CommonError'
      additionalProperties: false
    ProjectCostCenterAllocationResponse:
      type: object
      properties:
        Id:
          type: string
          description: Project id or cost center item id for this allocation.
          format: uuid
        Percentage:
          type: number
          description: Allocation percentage for this entry.
          format: double
      additionalProperties: false
    ProjectCostCenterDistributionRequest:
      type: object
      properties:
        Project:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationRequest'
          description: 'Allocations on Project. The percentages within Project must total at most 100%. Each allocation Id is a project id. Source: Get from eAccounting API, /v2/projects'
        CostCenter1:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationRequest'
          description: 'Allocations on cost center 1. The percentages within CostCenter1 must total at most 100%. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters'
        CostCenter2:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationRequest'
          description: 'Allocations on cost center 2. The percentages within CostCenter2 must total at most 100%. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters'
        CostCenter3:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationRequest'
          description: 'Allocations on cost center 3. The percentages within CostCenter3 must total at most 100%. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters'
      additionalProperties: false
    OvertimeResponse:
      type: object
      properties:
        OvertimePayOutMethod:
          type: integer
          description: 'Type of overtime pay out method<br/>Possible values: 1 - Money, 2 - Time'
          format: int32
        ScheduleStartTime:
          type:
          - string
          - 'null'
          description: Start time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM
        ScheduleEndTime:
          type:
          - string
          - 'null'
          description: End time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM
        ScheduledDayBreakTime:
          type: integer
          description: Break duration in minutes. Used only if the employee has irregular working schedule.
          format: int32
        ExtraBreakTime:
          type: integer
          description: Extra break duration in minutes
          format: int32
        OvertimeOne:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeTwo:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeThree:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeFour:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes at level 4. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        AdditionalHoursInMinutes:
          type:
          - integer
          - 'null'
          description: Additional hours duration in minutes. Used only for part-time employees when ShortcutRegistrationMethod is set to hour.
          format: int32
        Id:
          type: string
          description: Unique identifier provided by VLS
          format: uuid
        EmployeeId:
          type: string
          description: 'The ID of the employee that the shortcut is registered for. Source: Get from /v2/employees'
          format: uuid
        StartDate:
          type: string
          description: Start date for the shortcut
          format: date-time
        EndDate:
          type: string
          description: End date for the shortcut
          format: date-time
        ShortcutRegistrationMethod:
          type: integer
          description: 'Registration method for the shortcut<br/>Possible values: 0 - Time, 1 - Hours, 2 - Percentage'
          format: int32
        PercentOfDay:
          type: number
          description: The percentage of the day that the shortcut is registered for
          format: double
        MinutesOfDay:
          type: integer
          description: The number of minutes the shortcut is registered for
          format: int32
        StartTime:
          type:
          - string
          - 'null'
          description: 'The start time the shortcut is registered for (format: HH:mm)'
        EndTime:
          type:
          - string
          - 'null'
          description: 'The end time the shortcut is registered for (format: HH:mm)'
        Comment:
          type:
          - string
          - 'null'
          description: Optional comment for the shortcut
        IsRead:
          type: boolean
          description: Indicates whether or not the shortcut has been read by the system. This happens when a payroll administrator has imported it.
        ProjectId:
          type:
          - string
          - 'null'
          description: 'Project ID. Source: Get from eAccounting API, /v2/projects'
          format: uuid
        CostCenterItemId1:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        CostCenterItemId2:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        CostCenterItemId3:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        ProjectCostCenterDistribution:
          allOf:
          - $ref: '#/components/schemas/ProjectCostCenterDistributionResponse'
          description: 'Percentage based distribution across projects and cost centers. ProjectId and CostCenterItemId1-3 mirror this distribution: each is only returned when its dimension holds a single allocation of 100%, and is null when the dimension is split across several allocations or allocated less than 100%, since a single id cannot represent that.'
      additionalProperties: false
    ProjectCostCenterAllocationRequest:
      type: object
      properties:
        Id:
          type: string
          description: Project id or cost center item id for this allocation.
          format: uuid
        Percentage:
          type: number
          description: Allocation percentage for this entry. Allocations with a percentage of 0 are ignored.
          format: double
      additionalProperties: false
    ProjectCostCenterDistributionResponse:
      type: object
      properties:
        Project:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationResponse'
          description: 'Allocations on Project. Each allocation Id is a project id. Source: Get from eAccounting API, /v2/projects'
        CostCenter1:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationResponse'
          description: 'Allocations on cost center 1. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters'
        CostCenter2:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationResponse'
          description: 'Allocations on cost center 2. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters'
        CostCenter3:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProjectCostCenterAllocationResponse'
          description: 'Allocations on cost center 3. Each allocation Id is a cost center item id. Source: Get from eAccounting API, /v2/costcenters'
      additionalProperties: false
    OvertimeRequest:
      required:
      - EmployeeId
      - EndDate
      - ShortcutRegistrationMethod
      - StartDate
      type: object
      properties:
        OvertimePayOutMethod:
          type: integer
          description: 'Type of overtime pay out method<br/>Possible values: 1 - Money, 2 - Time'
          format: int32
          default: 2
        ScheduleStartTime:
          type:
          - string
          - 'null'
          description: Start time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM
        ScheduleEndTime:
          type:
          - string
          - 'null'
          description: End time of the schedule. Used only if the employee has irregular working schedule. Format - HH:MM
        ScheduledDayBreakTime:
          type: integer
          description: Break duration in minutes. Used only if the employee has irregular working schedule.
          format: int32
        ExtraBreakTime:
          type: integer
          description: Extra break duration in minutes
          format: int32
        OvertimeOne:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeTwo:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeThree:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        OvertimeFour:
          type:
          - integer
          - 'null'
          description: Overtime duration in minutes at level 4. Used only when ShortcutRegistrationMethod is set to hour.
          format: int32
        AdditionalHoursInMinutes:
          type:
          - integer
          - 'null'
          description: Additional hours duration in minutes. Used only for part-time employees when ShortcutRegistrationMethod is set to hour.
          format: int32
        EmployeeId:
          type: string
          description: 'The ID of the employee that the shortcut should be registered for. Source: Get from /v2/employees'
          format: uuid
        StartDate:
          type: string
          description: 'Start date for the shortcut (format: yyyy-MM-dd)'
          format: date-time
        EndDate:
          type: string
          description: 'End date for the shortcut (format: yyyy-MM-dd). If the end date is set in another month the shortcut will be split into two shortcuts, one for each month.'
          format: date-time
        ShortcutRegistrationMethod:
          type: integer
          description: 'Registration method for the shortcut. This setting will determine how the shortcut is registered and therefore also what properties are required.<br/>Possible values: 0 - Time, 1 - Hours, 2 - Percentage'
          format: int32
        PercentOfDay:
          maximum: 100
          minimum: 0
          type: number
          description: The percentage of the day that the shortcut should be registered for. Required if using percentage as shortcut registration method.
          format: double
        MinutesOfDay:
          maximum: 1440
          minimum: 0
          type: integer
          description: The number of minutes the shortcut should be registered for. Required if using hours as shortcut registration method.
          format: int32
        StartTime:
          type:
          - string
          - 'null'
          description: 'The start time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.'
        EndTime:
          type:
          - string
          - 'null'
          description: 'The end time the shortcut should be registered for (format: HH:mm). Required if using time as shortcut registration method.'
        Comment:
          maxLength: 2000
          minLength: 0
          type:
          - string
          - 'null'
          description: Optional comment for the shortcut
        CostCenterItemId1:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 1. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        CostCenterItemId2:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 2. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        CostCenterItemId3:
          type:
          - string
          - 'null'
          description: 'Cost center item ID 3. Source: Get from eAccounting API, /v2/costcenters'
          format: uuid
        ProjectId:
          type:
          - string
          - 'null'
          description: 'Project ID. Source: Get from eAccounting API, /v2/projects'
          format: uuid
        ProjectCostCenterDistribution:
          allOf:
          - $ref: '#/components/schemas/ProjectCostCenterDistributionRequest'
          description: Percent

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/visma/refs/heads/main/openapi/visma-overtime-api-openapi.yml