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-parentalleave-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: 3.2.0
info:
title: Visma Parental Leave API
contact:
email: api@spiris.se
version: '1.0'
description: 'Operations tagged ParentalLeave 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: ParentalLeave
description: Operations for managing parental leave shortcuts for employees. Parental leave shortcuts allow tracking of employee leaves related to parental responsibilities.
paths:
/v1/shortcuts/parentalLeave:
post:
tags:
- ParentalLeave
summary: Create a parental leave shortcut
description: Create a new parental leave shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours or percentage).
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ParentalLeaveApi'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ParentalLeaveApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: postV1ShortcutsParentalLeave
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
/v1/shortcuts/parentalLeave/{parentalLeaveId}:
get:
tags:
- ParentalLeave
summary: Get a parental leave shortcut by id
description: Get a specific parental leave shortcut by its unique identifier. Use query parameters to select specific properties in the response.
parameters:
- name: parentalLeaveId
in: path
description: The parental leave shortcut id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/ParentalLeaveApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: getV1ShortcutsParentalLeaveByParentalLeaveId
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
/v1/shortcuts/parentalLeave/{startDate}/{endDate}:
get:
tags:
- ParentalLeave
summary: Get parental leave shortcuts between dates
description: Get all parental leave 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/ParentalLeaveApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: getV1ShortcutsParentalLeaveByStartDateByEndDate
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
/v1/shortcuts/parentalLeave/{id}:
put:
tags:
- ParentalLeave
summary: Update a parental leave shortcut
description: Update an existing parental leave 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/ParentalLeaveApi'
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/ParentalLeaveApi'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: putV1ShortcutsParentalLeaveById
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
/v2/shortcuts/parentalleave:
post:
tags:
- ParentalLeave
summary: Create a parental leave shortcut
description: Create a new parental leave shortcut for an employee. The shortcut will be registered based on the specified registration method (time, hours or percentage).
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ParentalLeaveRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/ParentalLeaveResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: postV2ShortcutsParentalleave
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
/v2/shortcuts/parentalleave/{shortcutId}:
get:
tags:
- ParentalLeave
summary: Get a parental leave shortcut by id
description: Get a specific parental leave shortcut by its unique identifier. Use query parameters to select specific properties in the response.
parameters:
- name: shortcutId
in: path
description: The parental leave shortcut id
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/ParentalLeaveResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: getV2ShortcutsParentalleaveByShortcutId
x-operation-id-source: derived
put:
tags:
- ParentalLeave
summary: Update a parental leave shortcut
description: Update an existing parental leave 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/ParentalLeaveRequest'
responses:
'200':
description: Request successful
content:
application/json:
schema:
$ref: '#/components/schemas/ParentalLeaveResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: putV2ShortcutsParentalleaveByShortcutId
x-operation-id-source: derived
delete:
tags:
- ParentalLeave
summary: Delete a parental leave shortcut
description: Delete a parental leave 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: deleteV2ShortcutsParentalleaveByShortcutId
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
/v2/shortcuts/parentalleave/{startDate}/{endDate}:
get:
tags:
- ParentalLeave
summary: Get parental leave shortcuts between dates
description: Get all parental leave 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/ParentalLeaveResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/CommonExtendedBadRequest'
operationId: getV2ShortcutsParentalleaveByStartDateByEndDate
x-operation-id-source: derived
servers:
- url: https://vlsapi.vismaonline.com/
components:
schemas:
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
ParentalLeaveApi:
required:
- EmployeeId
- EndDate
- ShortcutRegistrationMethod
- StartDate
type: object
properties:
IsTenDaysAtTheBirthOfChild:
type: boolean
description: Is leave registered during the first 10 days after the birth of a child. If IsTenDaysAtTheBirthOfChild is true, IsHolidayAccruing is ignored and has no effect on the resulting payslip rows.
IsHolidayAccruing:
type:
- boolean
- 'null'
description: 'Is leave holiday accruing. Optional in requests: when omitted or null on create it defaults to true (the same default as manual registration in the UI); when omitted or null on update the shortcut''s current value is kept. Always populated in responses. If IsTenDaysAtTheBirthOfChild is true, IsHolidayAccruing is ignored and has no effect on the resulting payslip rows.'
AbsenceTimeUnit:
type: integer
description: 'Type of absence time unit<br/>Possible values: 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth'
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
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
ParentalLeaveResponse:
type: object
properties:
IsTenDaysAtTheBirthOfChild:
type: boolean
description: Is leave registered during the first 10 days after the birth of a child.
IsHolidayAccruing:
type: boolean
description: Is leave holiday accruing
AbsenceTimeUnit:
type: integer
description: 'Type of absence time unit<br/>Possible values: 0 - Calculate, 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth'
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
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
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
ParentalLeaveRequest:
required:
- EmployeeId
- EndDate
- ShortcutRegistrationMethod
- StartDate
type: object
properties:
IsTenDaysAtTheBirthOfChild:
type: boolean
description: Is leave registered during the first 10 days after the birth of a child. If IsTenDaysAtTheBirthOfChild is true, IsHolidayAccruing is ignored and has no effect on the resulting payslip rows.
IsHolidayAccruing:
type:
- boolean
- 'null'
description: 'Is leave holiday accruing. Optional: when omitted or null on create it defaults to true (the same default as manual registration in the UI); when omitted or null on update the shortcut''s current value is kept. If IsTenDaysAtTheBirthOfChild is true, IsHolidayAccruing is ignored and has no effect on the resulting payslip rows.'
AbsenceTimeUnit:
type: integer
description: 'Type of absence time unit<br/>Possible values: 0 - Calculate, 1 - Days, 2 - CalendarDay, 6 - Hours, 8 - CalendarMonth'
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: Percentage based distribution across projects and cost centers. When supplied, ProjectId and CostCenterItemId1-3 are ignored. The percentages within each of Project, CostCenter1, CostCenter2 and CostCenter3 must total at most 100%.
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
x-refined-from:
- visma-payroll-api-v1-openapi-original.json
- visma-payroll-api-v2-openapi-original.json
x-tagGroups:
- name: Sales
tags:
- ArticleLabels
- Articles
- CustomerInvoiceDrafts
- CustomerInvoiceOffsets
- CustomerInvoices
- CustomerInvoiceValuationHistories
- CustomerLabels
- CustomerLedgerItems
- Customers
- DeliveryMethods
- DeliveryTerms
- DiscountAgreements
- Orders
- QuoteDrafts
- Quotes
- SalesPriceLists
- TermsOfPayment
- WebshopOrders
- name: Purchase
tags:
- BankAccounts
- ForeignPaymentCodes
- PurchaseReceiptDrafts
- SupplierInvoiceDrafts
- SupplierInvoices
- SupplierInvoiceValuationHistories
- SupplierLedgerItems
- Suppliers
- name: Common
tags:
- Approval
- AppStoreActivationStatus
- AttachmentLinks
- Attachments
- AutoInvoice
- Bank
- Charts
- CompanySettings
- Company
- Countries
- Currencies
- Documents
- IdentityLookup
- MessageThreads
- Mobile
- Notes
- PartnerResourceLinks
- SalesDocumentAttachments
- Trials
- Units
- Users
- VoTokenValidation
- WebHooks
- Zapier
- name: Accounting
tags:
- AccountBalance
- Accounts
- AccountTypes
- AllocationPeriods
- ArticleAccountCodings
- BankTransactions
- CostCenterItems
- CostCenters
- FiscalYears
- InventoryItems
- PaymentVoucher
- Projects
- SieFileImportExport
- VatCode
- VatReport
- VoucherDrafts
- Vouchers
- VoucherWithOverunderPayment