# Severa Public Rest API Documentation API

> Severa Public Rest API Documentation API on Apizie: 400 endpoints (Returns http status code 204 for successful authentication., Can be used to check the status of the database., Can be used to check the status of the REST Api., Get all activities of an organization, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/business:visma/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:visma`
- Category: Business
- Status: byok
- Source: https://visma.com
- Page: https://www.apizie.tech/api/business/visma
- OpenAPI: https://www.apizie.tech/api/business/visma/openapi.json

The API uses OAuth2 client creadentials flow. To get the Bearer token for the resources you have to request the token by using route '/token', found from Authentication controller. You need to provide a Client_Id,…

## Endpoints

### Returns http status code 204 for successful authentication.
`GET https://www.apizie.tech/v1/business:visma/heart-beat-get-authorization` (byok)

### Can be used to check the status of the database.
`GET https://www.apizie.tech/v1/business:visma/heart-beat-get-database-status` (byok)

### Can be used to check the status of the REST Api.
`GET https://www.apizie.tech/v1/business:visma/heart-beat-get-server-status` (byok)

### Get all activities of an organization
`GET https://www.apizie.tech/v1/business:visma/activities-get-activities` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageToken | string | no | Optional: page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| closed | boolean | no | Optional: Which activities to fetch - open/closed, Default all. |
| activityCategories | array | no | Optional: activity category for the activities to be fetched. Should be one of Personal/Absences/CalendarEntry/SalesEvent/Task. Default all. |
| customerGuids | array | no | Optional: ID of customer. Default all. |
| includeTasksWithNoCustomer | boolean | no | Optional: Include the activities that don't have customer. Default is true. |
| projectGuids | array | no | Optional: ID of the project for the activities to be fetched. If not provided, returns for all projects. Default all. |
| includeTasksWithNoProject | boolean | no | Optional: Include the activities that don't have project. Default is true. |
| projectBusinessUnitGuids | array | no | Optional: ID of the business unit of the project based on which activities should be filtered. If not provided, returns for all business… |
| projectOwnerGuids | array | no | Optional: ID of the project manager. If not provided, returns for all project managers. Default all. |
| userGuids | array | no | Optional: ID of the user for the activities to be fetched. If not provided, returns for all users. Default all. |
| includeAsMember | boolean | no | Optional: Include the activities that the user is a member. Effective if userGuid is provided. Default is to not include. |
| userKeywordGuids | array | no | Optional: User keyword Ids of activity owner to search for. |
| startDateTime | string | no | Optional: starting date and time from which to get the activities in user's timezone. Finds all activities that end after the date time.… |
| endDateTime | string | no | Optional: ending date and time to which to get the activities in user's timezone. Finds all activities that start before or on the date… |
| projectTaskStatusGuids | array | no | Optional: ID of the project task status. Default all. |
| phaseGuids | array | no | Optional: ID of the phase for the activities to be fetched. If not provided, returns for all phases. Default all. |
| includeSubPhases | boolean | no | Optional: If one phase guid is given include activities also from sub phases. If multiple phase guids are given, returns activities only… |
| contactGuids | array | no | Optional: ID of the contact for the activities to be fetched. If not provided, returns for all users. Default all. |
| hasDuration | boolean | no | Optional: has duration flag for the activity. Default all. |
| hasHours | boolean | no | Optional: has any work hour entries associated with the activity. Default all. |
| isUnassigned | boolean | no | Optional: is the activity unassigned. Default all. |
| changedSince | string | no | Optional: Get activities that have been added or changed after this date time (greater or equal). |
| useStrictStartAndEndDateTime | boolean | no | Optional: If given as true returns activities that start after start time and end before end time. If given as false returns activities… |
| activityTypeGuids | array | no | Optional: ID of the project activity type. Default all. |
| recurrenceType | string | no | Optional: Type of the recurrence. Default returns all not recurring activities, instances and exceptions. (None = not recurring activity) |

### Insert a activity
`POST https://www.apizie.tech/v1/business:visma/activities-post-activity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get participants for an activity
`GET https://www.apizie.tech/v1/business:visma/activity-participants-get-activity-participants` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| activityGuid | string | yes | ID of the activity |

### Delete activity participant.
`POST https://www.apizie.tech/v1/business:visma/activity-participants-delete-activity-participant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| activityGuid | string | yes | ID of the activity from which to delete the participant. If an activity occurrence guid is given, this will create an exception to the… |
| activityParticipantGuid | string | yes | ID of the participant |

### Get activity by ID
`GET https://www.apizie.tech/v1/business:visma/activities-get-activity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the activity. |

### Update (Patch) a activity or a part of it
`POST https://www.apizie.tech/v1/business:visma/activities-patch-activity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the activity. Can also be comma separate list of IDs to patch multiple activities with one call. When multiple IDs are given,… |
| body | object | no | JSON request body |

### Delete an activity
`POST https://www.apizie.tech/v1/business:visma/activities-delete-activity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the activity to delete |

### Resets exceptions from a recurring activity.
`POST https://www.apizie.tech/v1/business:visma/activities-delete-exceptions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the recurring activity |

### Adds an activity participant
`POST https://www.apizie.tech/v1/business:visma/activity-participants-post-activity-participant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get activity participant
`GET https://www.apizie.tech/v1/business:visma/activity-participants-get-activity-participant` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the participant |

### Update (Patch) a activity participant or a part of it
`POST https://www.apizie.tech/v1/business:visma/activity-participants-patch-activity-participants` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the activity participant |
| body | object | no | JSON request body |

### Get the Activity Types
`GET https://www.apizie.tech/v1/business:visma/activity-types-get-activity-types` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all Activity Types, if given as true return only active Activity Types, if given as false returns only inactive… |
| pageToken | string | no | Optional: page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| changedSince | string | no | Optional: Get activity types that have been added or changed after this date time (greater or equal). |
| category | array | no | Optional: Category or multiple categories of activity types to search for. Default all. |

### Insert an Activity type.
`POST https://www.apizie.tech/v1/business:visma/activity-types-post-activity-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Activity Type by ID
`GET https://www.apizie.tech/v1/business:visma/activity-types-get-activity-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the Activity Type. |

### Update (Patch) an Activity Type or a part of it
`POST https://www.apizie.tech/v1/business:visma/activity-types-patch-activity-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the Activity Type |
| body | object | no | JSON request body |

### Delete an activity type.
`POST https://www.apizie.tech/v1/business:visma/activity-types-delete-activity-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the activity type to delete |
| moveUsagesToGuid | string | no | Optional: ID of the activity type to which to move usages of this activity type. Default null. If activity type is in use and usages… |

### Get the addresses.
`GET https://www.apizie.tech/v1/business:visma/addresses-get-addresses` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| changedSince | string | no | Optional: Get addresses that have been added or changed after this date time (greater or equal). |

### Get address by ID.
`GET https://www.apizie.tech/v1/business:visma/addresses-get-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the address. |

### Update (Patch) an address or a part of it.
`POST https://www.apizie.tech/v1/business:visma/addresses-patch-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the address. |
| body | object | no | JSON request body |

### Delete an address.
`POST https://www.apizie.tech/v1/business:visma/addresses-delete-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the address to delete. |

### Get all bank accounts for current organization.
`GET https://www.apizie.tech/v1/business:visma/bank-accounts-get-bank-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| companyGuid | string | no | Optional: ID of the company. |
| businessUnitGuid | string | no | Optional: ID of the business unit. |
| active | boolean | no | If not given, returns all bank accounts, if given as true returns only active bank accounts, if given as false returns only inactive bank… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from bank account name. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Get bank account by ID.
`GET https://www.apizie.tech/v1/business:visma/bank-accounts-get-bank-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the bank account. |

### Get all the BusinessUnits
`GET https://www.apizie.tech/v1/business:visma/business-units-get-business-units` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all BusinessUnits, if given as true return only active BusinessUnits, if given as false returns only inactive… |
| companyGuid | string | no | Optional: ID of the company to which the business units belong. |
| companyCountryGuid | string | no | Optional: ID of the country in which the company of business units is located. |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from business unit name. |
| changedSince | string | no | Optional: Get business units that have been added or changed after this date time (greater or equal). |
| code | string | no | Optional: Code of the business unit. |
| name | string | no | Optional: Name of the business unit. |

### Get businessUnit by ID.
`GET https://www.apizie.tech/v1/business:visma/business-units-get-business-unit` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the businessUnit. |

### Update (Patch) an businessUnit or a part of it.
`POST https://www.apizie.tech/v1/business:visma/business-units-patch-business-unit` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the businessUnit. |
| body | object | no | JSON request body |

### Get all communication types.
`GET https://www.apizie.tech/v1/business:visma/communication-types-get-communication-types` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | Filter the communication types. If true/false, only the active/inactive ones are returned. If null, all the communication types are… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from communication type name. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Insert a communication type.
`POST https://www.apizie.tech/v1/business:visma/communication-types-post-communication-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get communication type by ID.
`GET https://www.apizie.tech/v1/business:visma/communication-types-get-communication-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID used to get the communication type. |

### Update (Patch) a communication type or a part of it.
`POST https://www.apizie.tech/v1/business:visma/communication-types-patch-communication-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the communication type. |
| body | object | no | JSON request body |

### Deletes a communication type.
`POST https://www.apizie.tech/v1/business:visma/communication-types-delete-communication-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the communication type. |

### Get all contact communications.
`GET https://www.apizie.tech/v1/business:visma/contact-communications-get-communications` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all contact communications, if given as true return only active contact communications, if given as false returns… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from contact communication value. |
| changedSince | string | no | Optional: Get contact communications that have been added or changed after this date time (greater or equal). |

### Insert a communication for a contact.
`POST https://www.apizie.tech/v1/business:visma/contact-communications-post-contact-communication` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get contact communication by ID.
`GET https://www.apizie.tech/v1/business:visma/contact-communications-get-communication` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the contact communication. |

### Update (Patch) a contact's communication or a part of it.
`POST https://www.apizie.tech/v1/business:visma/contact-communications-patch-contact-communication` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the contact's communication. |
| body | object | no | JSON request body |

### Deletes contact's communication.
`POST https://www.apizie.tech/v1/business:visma/contact-communications-delete-contact-communication` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the contact's communication. |

### Get all the contact persons.
`GET https://www.apizie.tech/v1/business:visma/contacts-get-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all Contact persons, if given as true return only active Contact persons, if given as false returns only inactive… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from contact person's name or communication method (i.e. phone number or email address). |
| searchCriterias | array | no | Optional: Search criterias. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |
| changedSince | string | no | Optional: Get contact persons that have been added or changed after this date time (greater or equal). |

### Insert a contact.
`POST https://www.apizie.tech/v1/business:visma/contacts-post-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get contact person's address
`GET https://www.apizie.tech/v1/business:visma/addresses-get-contact-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contactGuid | string | yes | ID for the contact person |

### Get contact by ID.
`GET https://www.apizie.tech/v1/business:visma/contacts-get-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the contact. |

### Update (Patch) an contact or a part of it.
`POST https://www.apizie.tech/v1/business:visma/contacts-patch-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the contact. |
| body | object | no | JSON request body |

### Deletes a contact.
`POST https://www.apizie.tech/v1/business:visma/contacts-delete-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the contact. |

### Get contact roles.
`GET https://www.apizie.tech/v1/business:visma/contact-roles-get-contact-roles` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all contact roles, if given as true return only active contact roles, if given as false returns only inactive contact… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from contact role name. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |

### Insert a contact role.
`POST https://www.apizie.tech/v1/business:visma/contact-roles-post-contact-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get contact role by ID.
`GET https://www.apizie.tech/v1/business:visma/contact-roles-get-contact-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Id used to get the contact role. |

### Update (Patch) a contact role or a part of it.
`POST https://www.apizie.tech/v1/business:visma/contact-roles-patch-contact-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the contact role. |
| body | object | no | JSON request body |

### Delete a contact role.
`POST https://www.apizie.tech/v1/business:visma/contact-roles-delete-contact-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the contact role to delete. |
| moveUsagesToGuid | string | no | Optional: ID of the contact role to which to move usages of this contact role. Default null. If contact role is in use and usages aren't… |

### Get all communications for a contact.
`GET https://www.apizie.tech/v1/business:visma/contact-communications-get-communications2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contactGuid | string | yes | Whose communications are requested. |
| active | boolean | no | If not given, return all contact communications, if given as true return only active contact communications, if given as false returns… |

### Get all the keywords for contact.
`GET https://www.apizie.tech/v1/business:visma/keywords-get-contact-keywords` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contactGuid | string | yes | ID of the user whose keywords are requested. |
| active | boolean | no | If not given, return all Keywords, if given as true return only active Keywords, if given as false returns only inactive Keywords. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Link existing keyword to contact
`POST https://www.apizie.tech/v1/business:visma/keywords-link-keyword-to-contact` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contactGuid | string | yes |  |
| guid | string | yes |  |

### Delete a keyword from the contact
`POST https://www.apizie.tech/v1/business:visma/keywords-delete-contact-keyword` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contactGuid | string | yes |  |
| guid | string | yes |  |

### Get cost accounts.
`GET https://www.apizie.tech/v1/business:visma/cost-accounts-get-cost-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all cost accounts, if given as true return only active cost accounts, if given as false returns only inactive cost… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from cost account name or identifier. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Insert a cost account.
`POST https://www.apizie.tech/v1/business:visma/cost-accounts-post-cost-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get cost account by Guid.
`GET https://www.apizie.tech/v1/business:visma/cost-accounts-get-cost-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Cost account's guid. |

### Update (Patch) a cost account or a part of it.
`POST https://www.apizie.tech/v1/business:visma/cost-accounts-patch-cost-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the cost account. |
| body | object | no | JSON request body |

### Delete a cost account.
`POST https://www.apizie.tech/v1/business:visma/cost-accounts-delete-cost-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the cost account to delete. |

### Get cost centers.
`GET https://www.apizie.tech/v1/business:visma/cost-centers-get-cost-centers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all cost centers, if given as true return only active cost centers, if given as false returns only inactive cost… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from cost center name or identifier. |
| changedSince | string | no | Optional: Get cost centers that have been added or changed after this date time (greater or equal). |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |
| identifier | string | no | Optional: Identifier of the cost center. |
| name | string | no | Optional: Name of the cost center. |

### Insert a cost center.
`POST https://www.apizie.tech/v1/business:visma/cost-centers-post-cost-center` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get cost center by ID.
`GET https://www.apizie.tech/v1/business:visma/cost-centers-get-cost-center` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Id used to get the cost center. |

### Update (Patch) a cost center or a part of it.
`POST https://www.apizie.tech/v1/business:visma/cost-centers-patch-cost-center` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the cost center. |
| body | object | no | JSON request body |

### Delete a cost center.
`POST https://www.apizie.tech/v1/business:visma/cost-centers-delete-cost-center` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the cost center to delete. |

### Get all the Currencies
`GET https://www.apizie.tech/v1/business:visma/currencies-get-currencies` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| active | boolean | no | If not given, return all Currencies, if given as true return only active Currencies, if given as false returns only inactive Currencies. |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text based search applied to the result. Matches currency name and code. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Get currency by ID.
`GET https://www.apizie.tech/v1/business:visma/currencies-get-currency` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the currency. |

### Update (Patch) an currency or a part of it.
`POST https://www.apizie.tech/v1/business:visma/currencies-patch-currency` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the currency. |
| body | object | no | JSON request body |

### Insert a customer country setting.
`POST https://www.apizie.tech/v1/business:visma/customer-country-settings-post-customer-country-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update (Patch) a customer country setting.
`POST https://www.apizie.tech/v1/business:visma/customer-country-settings-patch-customer-country-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the customer country setting. |
| body | object | no | JSON request body |

### Deletes a customer country setting.
`POST https://www.apizie.tech/v1/business:visma/customer-country-settings-delete-customer-country-setting` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the customer country setting. |

### Get all Customer Market Segments.
`GET https://www.apizie.tech/v1/business:visma/customer-market-segments-get-all-customer-market-segments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from customer market segment name. |
| parentMarketSegmentGuid | string | no | Optional: Fetches all children of a parent based on parent market segment guid. |
| includeParentLevel | boolean | no | Optional: Returns only child segments when false. Has no effect if parentMarketSegmentGuid parameter is defined. Default = true. |

### Add a market segment for customer.
`POST https://www.apizie.tech/v1/business:visma/customer-market-segments-post-customer-market-segment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get the customer market segment.
`GET https://www.apizie.tech/v1/business:visma/customer-market-segments-get-customer-market-segment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Customer market segment guid. |

### Deletes a customer market segment.
`POST https://www.apizie.tech/v1/business:visma/customer-market-segments-delete-customer-market-segment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID for the customer market segment to delete. |

### Get all the customers
`GET https://www.apizie.tech/v1/business:visma/customers-get-customers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageToken | string | no |  |
| rowCount | integer | no | Optional: How many rows to fetch. |
| isActive | boolean | no | If not given, return all Customers, if given as true return only active Customers, if given as false returns only inactive Customers. |
| customerOwnerGuids | array | no | Optional: List of customer owner ids to search for. Default all. |
| isInternal | boolean | no | Optional: When true returns only internal customer |
| numbers | array | no | Optional: List of customer numbers. |
| changedSince | string | no | Optional: Get customers that have been added or changed after this date time (greater or equal). |
| emailAddresses | array | no | Optional: Get customers where email address matches to any provided email address |
| customerNames | array | no | Optional: Get customers where customer name matches to any provided customer name |

### Insert a customer.
`POST https://www.apizie.tech/v1/business:visma/customers-post-customer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get the customer custom properties.
`GET https://www.apizie.tech/v1/business:visma/customer-custom-properties-get-customer-custom-properties` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| active | boolean | no | Optional: Get only active or inactive customer properties. |
| textToSearch | string | no | Optional: Text to search from custom property name. |
| isInUse | boolean | no | Optional: Is the customer property used in any custom property usage. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Insert a customer custom property.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-properties-post-customer-custom-property` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Insert a customer custom property selection item.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-property-selection-items-post-customer-custo` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get customer custom property selection item by ID.
`GET https://www.apizie.tech/v1/business:visma/customer-custom-property-selection-items-get-customer-custom` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Id used to get the customer custom property selection item. |

### Update (Patch) a customer custom property selection item or a part of it.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-property-selection-items-patch-customer-cust` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the customer custom property selection item. |
| body | object | no | JSON request body |

### Deletes a customer custom property selection item.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-property-selection-items-delete-customer-cus` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the customer custom property selection item. |

### Get the customer custom properties.
`GET https://www.apizie.tech/v1/business:visma/customer-custom-property-selection-items-get-customer-custom-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customPropertyGuid | string | yes | Custom property id used to get the customer custom property selection items. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| isActive | boolean | no | Optional: Get only active or inactive selection items. |
| pageToken | string | no | Optional: page token to fetch the next page. |
| changedSince | string | no | Optional: Get custom property selection items that have been added or changed after this date time (greater or equal). |

### Get customer custom property by ID.
`GET https://www.apizie.tech/v1/business:visma/customer-custom-properties-get-customer-custom-property` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Id used to get the customer custom property. |

### Update (Patch) a customer custom property or a part of it.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-properties-patch-customer-custom-property` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the customer custom property Can also be comma separate list of IDs to patch multiple customer custom properties with one call. When… |
| body | object | no | JSON request body |

### Deletes a customer custom property.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-properties-delete-customer-custom-property` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the customer custom property. |

### Insert a customer custom value.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-values-post-customer-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get customer custom value by ID.
`GET https://www.apizie.tech/v1/business:visma/customer-custom-values-get-customer-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Id used to get the customer custom value. |

### Update (Patch) a customer custom value or a part of it.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-values-patch-customer-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the customer custom value Can also be comma separate list of IDs to patch multiple customer custom values with one call. When… |
| body | object | no | JSON request body |

### Deletes a customer custom value.
`POST https://www.apizie.tech/v1/business:visma/customer-custom-values-delete-customer-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the customer custom value. |

### Get customer's addresses
`GET https://www.apizie.tech/v1/business:visma/addresses-get-customer-addresses` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | ID for the customer. |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |

### Insert an address.
`POST https://www.apizie.tech/v1/business:visma/addresses-post-customer-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | ID of the customer to add the address for. |
| body | object | no | JSON request body |

### Get the contact persons for a customer.
`GET https://www.apizie.tech/v1/business:visma/contacts-get-customer-contacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | Customer guid used to get the contact persons. |
| active | boolean | no | If not given, return all Contact persons, if given as true return only active Contact persons, if given as false returns only inactive… |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| textToSearch | string | no | Optional: Text to search from contact person's name or communication method (i.e. phone number or email address). |

### Get all the country settings for a customer.
`GET https://www.apizie.tech/v1/business:visma/customer-country-settings-get-customer-country-settings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | GUID of the customer. |

### Get the Market Segments for a customer.
`GET https://www.apizie.tech/v1/business:visma/customer-market-segments-get-customer-market-segments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | ID of the customer. |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| includeMarketSegmentsFromRegistry | boolean | no | Optional: Return also the markets segments that are not in use for the customer. |

### Get the customer sales notes.
`GET https://www.apizie.tech/v1/business:visma/sales-notes-get-customer-sales-notes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | Customer guid used to get the notes. |
| pageToken | string | no | Optional: page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| changedSince | string | no | Optional: Get sales notes that have been added or changed after this date time (greater or equal). |

### Get the customer custom values.
`GET https://www.apizie.tech/v1/business:visma/customer-custom-values-get-customer-custom-values` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | ID of the customer. |
| firstRow | integer | no | Optional: first row to fetch. Default 0 = first row. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| active | boolean | no | Optional: Get only values of active or inactive customer custom properties. |
| target | array | no | List of target for which to get the values. |
| calculateRowCount | boolean | no | Optional: Calculate total number of rows. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Get customer's projects
`GET https://www.apizie.tech/v1/business:visma/projects-get-customer-projects` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | Id of the customer. |
| pageToken | string | no |  |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| isBillable | boolean | no | Optional: When true fetch projects that have something to bill, when false nothing to bill. Default nothing = all. |
| currencyGuids | array | no |  |
| projectGuids | array | no |  |
| projectKeywordGuids | array | no |  |
| projectStatusTypeGuids | array | no |  |
| salesPersonGuids | array | no |  |
| projectOwnerGuids | array | no |  |
| businessUnitGuids | array | no |  |
| minimumBillableAmount | number | no |  |
| customerOwnerGuids | array | no |  |
| invoiceableDate | string | no |  |
| marketSegmentationGuids | array | no |  |
| salesStatusTypeGuids | array | no |  |
| isClosed | boolean | no |  |
| hasRecurringFees | boolean | no |  |
| companyCurrencyGuids | array | no |  |
| projectMemberUserGuids | array | no |  |
| numbers | array | no |  |

### Get the sales notes by customer guid.
`GET https://www.apizie.tech/v1/business:visma/sales-notes-get-all-customer-sales-notes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| customerGuid | string | yes | Customer guid used to get the notes. |
| pageToken | string | no | Optional: page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| changedSince | string | no | Optional: Get sales notes that have been added or changed after this date time (greater or equal). |

### Get customer by GUID.
`GET https://www.apizie.tech/v1/business:visma/customers-get-customer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID used to get the customer. |

### Update (Patch) an customer or a part of it.
`POST https://www.apizie.tech/v1/business:visma/customers-patch-customer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the customer. |
| body | object | no | JSON request body |

### Deletes a customer.
`POST https://www.apizie.tech/v1/business:visma/customers-delete-customer` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the customer. |

### Insert a customer sales note.
`POST https://www.apizie.tech/v1/business:visma/sales-notes-post-customer-sales-notes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get customer sales note by ID.
`GET https://www.apizie.tech/v1/business:visma/sales-notes-get-customer-sales-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the customer sales note. |

### Update (Patch) a customer sales note or a part of it.
`POST https://www.apizie.tech/v1/business:visma/sales-notes-patch-customer-sales-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the customer sales note. |
| body | object | no | JSON request body |

### Deletes a customer sales note.
`POST https://www.apizie.tech/v1/business:visma/sales-notes-delete-customer-sales-note` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to delete the customer sales note. |

### Get all deleted phase members
`GET https://www.apizie.tech/v1/business:visma/phase-members-get-all-deleted-phase-members` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| deletedSince | string | no | Optional: Get phase members that have been added or changed after this date time (greater or equal). |
| pageToken | string | no | Optional: Page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch. |
| isUserActive | boolean | no | Optional: Is the user active. Default nothing = all. |

### Get the deleted project fees.
`GET https://www.apizie.tech/v1/business:visma/project-fees-get-deleted-project-fees` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageToken | string | no |  |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| projectGuids | array | no | Optional: ID of the project for the deleted project fees to be fetched. If not provided, returns for all projects. Default all. |
| userGuids | array | no | Optional: ID of the user. If not provided, returns for all users. Default all. |
| deletedSince | string | no | Optional: Get project fees that have been deleted after this date time (greater or equal). |

### Get the deleted project travel expenses.
`GET https://www.apizie.tech/v1/business:visma/project-travel-expenses-get-deleted-project-travel-expenses` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageToken | string | no | Optional: page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| projectGuid | array | no | Optional: ID of the project for the deleted project travel expenses to be fetched. If not provided, returns for all projects. Default all. |
| userGuid | array | no | Optional: ID of the user. If not provided, returns for all users. Default all. |
| deletedSince | string | no | Optional: Get project travel expenses that have been deleted after this date time (greater or equal). |

### Get the deleted work hours.
`GET https://www.apizie.tech/v1/business:visma/work-hours-get-deleted-work-hours` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageToken | string | no | Optional: page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| projectGuids | array | no | Optional: ID of the project for the deleted work hours to be fetched. If not provided, returns for all projects. Default all. |
| userGuids | array | no | Optional: ID of the user. If not provided, returns for all users. Default all. |
| deletedSince | string | no | Optional: Get work hours that have been deleted after this date time (greater or equal). |

### Get all the keywords for file.
`GET https://www.apizie.tech/v1/business:visma/keywords-get-file-keywords` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileGuid | string | yes | ID of the file for which keywords are requested. |
| active | boolean | no | If not given, return all Keywords, if given as true return only active Keywords, if given as false returns only inactive Keywords. |
| sortings | array | no | Optional: A list of Key-Value pairs, containing names of fields and directions by which the results should be sorted. Any sortable field… |

### Link existing keyword to file
`POST https://www.apizie.tech/v1/business:visma/keywords-link-keyword-to-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileGuid | string | yes |  |
| guid | string | yes |  |

### Delete a keyword from the file
`POST https://www.apizie.tech/v1/business:visma/keywords-delete-file-keyword` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileGuid | string | yes |  |
| guid | string | yes |  |

### Get file by ID.
`GET https://www.apizie.tech/v1/business:visma/files-get-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the file. |
| includeDataInResponse | boolean | no | Is data included in response as base64 string. |

### Get file data by ID.
`GET https://www.apizie.tech/v1/business:visma/file-data-get-data-for-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | GUID used to get the file. |

### Get all flat rates
`GET https://www.apizie.tech/v1/business:visma/flat-rates-get-all-flat-rates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageToken | string | no | Optional: Page token to fetch the next page. |
| rowCount | integer | no | Optional: How many rows to fetch, Default 20, maximum 100. |
| changedSince | string | no | Optional: Get flat rates that have been added or changed after this date time (greater or equal). |
| invoiceGuid | string | no | Optional: Get flat rates by invoice guid. Default all. |

### Insert a flat rate.
`POST https://www.apizie.tech/v1/business:visma/flat-rates-post-flat-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get flat rate.
`GET https://www.apizie.tech/v1/business:visma/flat-rates-get-flatrate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | Id of the flat rate. |

### Update (Patch) a flat rate or a part of it.
`POST https://www.apizie.tech/v1/business:visma/flat-rates-patch-flat-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of the flat rate. |
| body | object | no | JSON request body |

### Delete a flat rate of a phase.
`POST https://www.apizie.tech/v1/business:visma/flat-rates-delete-flat-rate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| guid | string | yes | ID of flat rate. |

### Insert a flextime adjustment.
`POST https://www.apizie.tech/v1/business:visma/flextime-adjustments-post-flextime-adjustment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

…and 280 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/business:visma/heart-beat-get-authorization" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Severa Public Rest API Documentation API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/business:visma/heart-beat-get-authorization with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Severa Public Rest API Documentation API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Severa Public Rest API Documentation itself also needs your own key from visma.com.

### Can AI agents use the Severa Public Rest API Documentation API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:visma.

### What is the status of the Severa Public Rest API Documentation API?
Needs your own provider key (bring your own key)
