# Calamari Public API

API for Calamari, your HR tool

Version: v1

## Servers

```
https://{tenantName}.calamari.io/api
```

Variables:
- `tenantName`: This is the company domain you use with Calamari. If in doubt, check the base URL in API key configuration or ask your Calamari admin.
Default: "awesome-company"

## Security

### basicAuth

Type: http
Scheme: basic

## Download OpenAPI description

[Calamari Public API](https://developers.calamari.dev/_bundle/remote/calamari-public-openapi.yaml)

## Absence type

Absence Types API

### Get absence types with duration units.

 - [POST /leave/v1/get-absence-types](https://developers.calamari.dev/remote/calamari-public-openapi/absence-type/getabsencetypes.md): Get absence types with duration units.

### Get entitlement balance grouped by absence type.

 - [POST /leave/v1/entitlement-balance/all](https://developers.calamari.dev/remote/calamari-public-openapi/absence-type/getallabsencetypesentitlementbalances.md): Get entitlement balance grouped by absence type.

The method allows you to get the entitlement balance for selected employee grouped by available absence types on a selected day.

Expect error codes:

INVALID_EMPLOYEE - when invalid balance owner provided
INVALID_DATE - when invalid date provided

### Get entitlement balance.

 - [POST /leave/v1/entitlement-balance/get](https://developers.calamari.dev/remote/calamari-public-openapi/absence-type/getentitlementbalance.md): Get entitlement balance.The method allows you to get the entitlement balance for selected employee and absence type on a selected day.Expect error codes:INVALID_ABSENCE_TYPE - when invalid absence type providedINVALID_EMPLOYEE - when invalid balance owner providedINVALID_DATE - when invalid date provided

### Get entitlement balance with advanced filtering by several parameters.

 - [POST /leave/v1/entitlement-balance/get-advanced](https://developers.calamari.dev/remote/calamari-public-openapi/absence-type/getentitlementbalances.md): Get entitlement balance.The method allows you to get the entitlement balance for selected employees and absence types on a selected day.Expect error codes:INVALID_ABSENCE_TYPE - when invalid absence type providedINVALID_EMPLOYEE - when invalid balance owner providedINVALID_TEAM - when invalid team providedINVALID_DATE - when invalid date provided

### Create entitlement balance.

 - [POST /leave/v1/entitlement-balance/create](https://developers.calamari.dev/remote/calamari-public-openapi/absence-type/manualcreateentitlementbalance.md): Create entitlement balance.The method allows you to add the entitlement balance of a selected absence type on a selected day.Expect error codes:INVALID_AMOUNT - when invalid amount providedINVALID_AS_OF_DATE - when invalid date providedINVALID_ABSENCE_TYPE - when invalid absence type providedINVALID_EMPLOYEE - when invalid balance owner providedINVALID_COMMENT - when invalid comment provided

## Absence requests

Absence Requests API

### Create an absence request.

 - [POST /leave/request/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/createabsencerequest.md): Create an absence request.Expect error codes:INVALID_ABSENCE_TIME - when invalid absence time providedINVALID_ABSENCE_ALLOWANCE - when employee absence allowance is not enoughINVALID_HIRE_DATE - when employee hire date is invalidREQUESTING_RULES_VIOLATED - when requesting rules violatedINVALID_APPROVAL_FLOW - when approval flow is not configuredINVALID_ABSENCE_TYPE - when invalid absence type providedINVALID_REASON - when invalid reason providedINVALID_SUBSTITUTE - when invalid substitute providedINVALID_COMMENT - when invalid comment providedINVALID_TIME_PART - when invalid time part providedINVALID_ATTACHMENTS_REQUIRED - when attachments are required

### Create comment for chosen request.

 - [POST /leave/request/v1/create-comment](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/createcomment.md): Create comment for chosen request.Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_CONTENT - when invalid content providedINVALID_REQUEST - when invalid absence request provided

### Find absence requests of employee in dates range.

 - [POST /leave/request/v1/find](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/findabsencerequests.md): Find absence requests of employee in dates range.Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_DATE_FROM - when invalid date from in filter providedINVALID_DATE_TO - when invalid date to in filter provided

### Find absence requests with advanced filtering by several parameters.

 - [POST /leave/request/v1/find-advanced](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/findabsencerequestsadvanced.md): Find absence requests in dates range. If you provide more than one value in one filter attribute there is OR relation between them.  For instance: if you put in a filter: {employees: ["john@mycompany.com", "kevin@mycompany.com"]} it returns all John's and all Kevin's requests.When you fill more than one attribute in filter all conditions have to be fulfilled. There is AND relation between attributes. For instance: if you provide in filter {absenceTypes: ["PTO"], teams: ["DevTeam"]} then will be returned PTO requests of employees who are in team DevTeam.Expect error codes:INVALID_DATE_FROM - when invalid time in filter providedINVALID_DATE_TO - when invalid time in filter providedINVALID_EMPLOYEE - when one of provided employees is invalidINVALID_ABSENCE_TYPE - when one of provided absence types is invalidINVALID_TEAM - when one of provided teams is invalidINVALID_POSITION - when one of provided positions is invalidINVALID_CONTRACT_TYPE - when one of provided contract types is invalidINVALID_CREATE_DATE_FROM - when invalid time in filter providedINVALID_CREATE_DATE_TO - when invalid time in filter providedINVALID_CREATE_UPDATE_FROM - when invalid time in filter providedINVALID_CREATE_UPDATE_TO - when invalid time in filter provided

### Remove chosen absence request.

 - [POST /leave/request/v1/remove](https://developers.calamari.dev/remote/calamari-public-openapi/absence-requests/removerequest.md): Remove chosen absence request.Expect error codes:INVALID_REQUEST - when invalid absence request provided

## Current shift status

Current Shift Status API

### Get current shift status for all employees

 - [POST /clockin/shift/status/v1/get-current-for-all](https://developers.calamari.dev/remote/calamari-public-openapi/current-shift-status/getcurrentshiftstatusforall.md): Get current shift status for all employees.

### Get current shift status for one person.

 - [POST /clockin/shift/status/v1/get-current](https://developers.calamari.dev/remote/calamari-public-openapi/current-shift-status/getcurrentshiftstatusforoneperson.md): Get current shift status for one person.Expect error codes:INVALID_EMPLOYEE - when invalid employee id provided

### Get current presence report for all employees

 - [POST /clockin/shift/status/v1/presence/report](https://developers.calamari.dev/remote/calamari-public-openapi/current-shift-status/getpresencereport.md): Get current presence report for all employees. Results are paged by employees number.Expect error codes:INVALID_PAGE - when invalid page providedINVALID_LIMIT - when invalid limit providedINVALID_DATE_FROM - when invalid date providedINVALID_DATE_TO - when invalid date provided

## Projects

Projects API

### Archive project type.

 - [POST /clockin/projects/v1/archive](https://developers.calamari.dev/remote/calamari-public-openapi/projects/archiveprojecttype.md): Archive project type.Expect error codes:INVALID_PROJECT - provided project id is invalid

### Create project type.

 - [POST /clockin/projects/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/projects/createprojecttype.md): Create project type.Expect error codes:INVALID_NAME - when name is invalidINVALID_PERSON - when one of provided persons is invalidINVALID_TEAM - when one of provided teams is invalid

### Get project types for one person.

 - [POST /clockin/projects/v1/get-projects-for-person](https://developers.calamari.dev/remote/calamari-public-openapi/projects/getprojectforemployee.md): Get project types for one person.Expect error codes:INVALID_EMPLOYEE - when invalid employee id provided

### Get project types.

 - [POST /clockin/projects/v1/get-projects](https://developers.calamari.dev/remote/calamari-public-openapi/projects/getprojects.md): Get project types.

### Update project type.

 - [POST /clockin/projects/v1/update](https://developers.calamari.dev/remote/calamari-public-openapi/projects/updateprojecttype.md): Update project type.Expect error codes:INVALID_NAME - when name is invalidINVALID_PERSON - when one of provided persons is invalidINVALID_TEAM - when one of provided teams is invalid

## Shifts and breaks

Shifts and Breaks API

### Start employee break.

 - [POST /clockin/terminal/v1/break-start](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/breakstart.md): Start employee break. Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedINVALID_BREAK_TYPE - when invalid break type id providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

### Stop employee break.

 - [POST /clockin/terminal/v1/break-stop](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/breakstop.md): Stop employee break. Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedINVALID_BREAK_TYPE - when invalid break type id provided. You should use get-break-types method to find properly break type ID API_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

### Start employees shift.

 - [POST /clockin/terminal/v1/clock-in](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/clockin.md): Start employee shift. If the employee shift has already been started via web browser, mobile app or any other terminal, the request is ignored and the method returns status 200.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

### Finish employees shift.

 - [POST /clockin/terminal/v1/clock-out](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/clockout.md): Stop employee shift. If employee shift is not started in moment of request the request is ignored.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

### Get break types.

 - [POST /clockin/terminal/v1/get-break-types](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/getbreaktypes.md): Get break types.

### Get break types for one person.

 - [POST /clockin/terminal/v1/get-break-types-for-person](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/getbreaktypesforemployee.md): Get break types for one person.Expect error codes:INVALID_EMPLOYEE - when invalid employee id provided

### Start or stop employee shift

 - [POST /clockin/terminal/v1/punch-clock](https://developers.calamari.dev/remote/calamari-public-openapi/shifts-and-breaks/punch.md): Method indicates employee go through company's doors. Starts shift if it's not started or stops it otherwise.Client application should send request immediately when event occurs. If there is any problem with connection or access to API event should be queued in clients side and then sent in order of occurence.Before you can use this method, please:Configure 'API Terminal' in Calamari Clockin configuration panelMake sure API access is enabledExpect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_TIME - when invalid event time providedAPI_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal

## Timesheet entries

Timesheet entries API

### Add historical timesheet entry.

 - [POST /clockin/timesheetentries/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/addtimeentry.md): Add employee shift. Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_SHIFT_START - when invalid start of work time providedINVALID_SHIFT_END - when invalid finish of work time providedSHIFT_END_BEFORE_START - when end of work time is before startSHIFT_TO_SHORT - when shift period is shorter than one minuteINVALID_BREAK_TYPE - when invalid break type id provided. You should use get-break-types method to find proper break type IDINVALID_BREAK_FOR_USER -  when break type is not available for employeeINVALID_BREAK_START - when invalid start of break time providedINVALID_BREAK_END - when invalid finish of break time providedBREAK_END_BEFORE_START - when end of break time is before startBREAK_IS_NOT_IN_SHIFT_RANGE -  when break time range goes beyond work time rangeBREAK_TO_SHORT - when break period is shorter than one minuteBREAKS_OVERLAP - when one break time range overlaps anotherINVALID_PROJECT_TYPE - when invalid project type id provided. You should use get-projects method to find proper project type IDINVALID_PROJECT_FOR_USER -  when project type is not available for employee. You should use get-projects-for-person method to find proper project type IDINVALID_PROJECT_TIME_ENTRY_START - when invalid start of project time entry providedINVALID_PROJECT_TIME_ENTRY_END - when invalid finish of project time entry providedPROJECT_TIME_ENTRY_END_BEFORE_START - when end of project time entry is before startPROJECT_TIME_ENTRY_IS_NOT_IN_SHIFT_RANGE -  when project time entry goes beyond work time rangePROJECT_TIME_ENTRY_TO_SHORT - when project time entry is shorter than one minutePROJECT_TIME_ENTRIES_OVERLAP - when one project time entry overlaps anotherSHIFT_DESCRIPTION_TOO_LONG - when description contains more than 4096 charactersSHIFT_DESCRIPTION_NOT_ALLOWED_FORMATTING - when description contains more not allowed HTML or Markdown formatting

### Delete timesheet entry by id

 - [POST /clockin/timesheetentries/v1/delete](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/deletetimesheetentrybyid.md): Delete timesheet entry by id

### Find timesheet entries with advanced filtering by several parameters.

 - [POST /clockin/timesheetentries/v1/find](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/findtimeentries.md): Find timesheet entries in dates range. If you provide more than one value in one filter attribute there is OR relation between them.  For instance: if you put in a filter: {employees: ["john@mycompany.com", "kevin@mycompany.com"]} it returns all John's and all Kevin's timesheet entries.When you fill more than one attribute in filter all conditions have to be fulfilled. There is AND relation between attributes. For instance: if you provide in filter {contractTypes: ["Full-time"], teams: ["DevTeam"]} then timesheet entries of employees from Dev and Full-timeThe query returns all matching records for the selected time range and filters, with no pagination applied.Expect error codes:INVALID_DATE_FROM - when invalid time in filter providedINVALID_DATE_TO - when invalid time in filter providedINVALID_EMPLOYEE - when one of provided employees is invalidINVALID_TEAM - when one of provided teams is invalidINVALID_POSITION - when one of provided positions is invalidINVALID_CONTRACT_TYPE - when one of provided contract types is invalid

### Find employees working time balances with advanced filtering by several parameters.

 - [POST /clockin/timesheetentries/v1/balance](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/findtimesheetbalances.md): Find employees working time balances in dates range. If you provide more than one value in one filter attribute there is OR relation between them.  For instance: if you put in a filter: {employees: ["john@mycompany.com", "kevin@mycompany.com"]} it returns all John's and all Kevin's balances.When you fill more than one attribute in filter all conditions have to be fulfilled. There is AND relation between attributes. For instance: if you provide in filter {contractTypes: ["Full-time"], teams: ["DevTeam"]} then you receive balances of employees from Dev and Full-timeExpect error codes:INVALID_DATE_FROM - when invalid time in filter providedINVALID_DATE_TO - when invalid time in filter providedINVALID_EMPLOYEE - when one of provided employees is invalidINVALID_TEAM - when one of provided teams is invalidINVALID_POSITION - when one of provided positions is invalidINVALID_CONTRACT_TYPE - when one of provided contract types is invalid

### Get project types.

 - [POST /clockin/timesheetentries/v1/get-projects](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/getprojecttypes.md): Get project types.

### Get project types for one person.

 - [POST /clockin/timesheetentries/v1/get-projects-for-person](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/getprojecttypesforemployee.md): Get project types for one person.Expect error codes:INVALID_EMPLOYEE - when invalid employee id provided

### Update historical timesheet entry.

 - [POST /clockin/timesheetentries/v1/update](https://developers.calamari.dev/remote/calamari-public-openapi/timesheet-entries/updatetimeentry.md): Update employee shift. Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_SHIFT_START - when invalid start of work time providedINVALID_SHIFT_END - when invalid finish of work time providedSHIFT_END_BEFORE_START - when end of work time is before startSHIFT_TO_SHORT - when shift period is shorter than one minuteINVALID_BREAK_TYPE - when invalid break type id provided. You should use get-break-types method to find proper break type IDINVALID_BREAK_FOR_USER -  when break type is not available for employeeINVALID_BREAK_START - when invalid start of break time providedINVALID_BREAK_END - when invalid finish of break time providedBREAK_END_BEFORE_START - when end of break time is before startBREAK_IS_NOT_IN_SHIFT_RANGE -  when break time range goes beyond work time rangeBREAK_TO_SHORT - when break period is shorter than one minuteBREAKS_OVERLAP - when one break time range overlaps anotherINVALID_PROJECT_TYPE - when invalid project type id provided. You should use get-projects method to find proper project type IDINVALID_PROJECT_FOR_USER -  when project type is not available for employee. You should use get-projects-for-person method to find proper project type IDINVALID_PROJECT_TIME_ENTRY_START - when invalid start of project time entry providedINVALID_PROJECT_TIME_ENTRY_END - when invalid finish of project time entry providedPROJECT_TIME_ENTRY_END_BEFORE_START - when end of project time entry is before startPROJECT_TIME_ENTRY_IS_NOT_IN_SHIFT_RANGE -  when project time entry goes beyond work time rangePROJECT_TIME_ENTRY_TO_SHORT - when project time entry is shorter than one minutePROJECT_TIME_ENTRIES_OVERLAP - when one project time entry overlaps anotherSHIFT_DESCRIPTION_TOO_LONG - when description contains more than 4096 charactersSHIFT_DESCRIPTION_NOT_ALLOWED_FORMATTING - when description contains more not allowed HTML or Markdown formatting

## Working Week

Working Week API

### Get all working weeks.

 - [POST /working-week/v1/all](https://developers.calamari.dev/remote/calamari-public-openapi/working-week/getworkingweeks.md): Get all working weeks.

## Contract types

Contract Types API

### Get all contract types.

 - [POST /contract-types/v1/all](https://developers.calamari.dev/remote/calamari-public-openapi/contract-types/getcontracttypes.md): Get all contract types.

## Employees

Employees API

### Edit employee.

 - [POST /employees/v1/edit](https://developers.calamari.dev/remote/calamari-public-openapi/employees/editemployee.md): Edit employee.

Expect error codes:

INVALID_EMPLOYEE - when invalid employee id provided
INVALID_FIRST_NAME - when first name is not provided or is invalid
INVALID_LAST_NAME - when last name is not provided or is invalid
INVALID_EMAIL - when email is not provided or is invalid
INVALID_WORKING_WEEK - when provided working week is invalid
INVALID_ACCEPTANCE_FLOW - when provided acceptance flow is invalid
INVALID_HOLIDAYS_CALENDAR - when provided holidays calendar is invalid
INVALID_SEX - when provided sex is invalid
INVALID_MARTIAL_STATUS - when provided marital status is invalid
INVALID_TEAM - when one of provided teams is invalid
INVALID_POSITION - when one of provided positions is invalid
INVALID_CONTRACT_TYPE - when contract type is invalid
INVALID_PERSONAL_EMAIL - when personal email is invalid
INVALID_DIRECT_MANAGER - when invalid direct manager is provided

### Create employee.

 - [POST /employees/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/employees/createemployee.md): Create employee.

Expect error codes:

INVALID_FIRST_NAME - when first name is not provided or is invalid
INVALID_LAST_NAME - when last name is not provided or is invalid
INVALID_EMAIL - when email is not provided or is invalid
INVALID_WORKING_WEEK - when working week is not provided or is invalid
INVALID_ACCEPTANCE_FLOW - when acceptance flow is not provided or is invalid
INVALID_HOLIDAYS_CALENDAR - when holidays calendar is not provided or is invalid
INVALID_SEX - when sex is not provided or is invalid
INVALID_MARTIAL_STATUS - when marital status is not provided or is invalid
INVALID_TEAM - when one of provided teams is invalid
INVALID_POSITION - when one of provided positions is invalid
INVALID_CONTRACT_TYPE - when contract type is invalid
INVALID_DIRECT_MANAGER - when invalid direct manager id is provided
LICENCE_MAX_USERS_EXCEEDED - when you reach the maximum number of seats within your subscription

### Get all non archived employees.

 - [POST /employees/v1/list](https://developers.calamari.dev/remote/calamari-public-openapi/employees/getemployees.md): If you want to find archived employees, please use search method.

### Invite employee.

 - [POST /employees/v1/invite](https://developers.calamari.dev/remote/calamari-public-openapi/employees/inviteemployee.md): Invite employee.

### Mark employee as archived.

 - [POST /employees/v1/archive](https://developers.calamari.dev/remote/calamari-public-openapi/employees/markemployeeasarchived.md): Mark employee as archived.

### Get all employees.

 - [POST /employees/v1/search](https://developers.calamari.dev/remote/calamari-public-openapi/employees/searchemployees.md): Get all employees.

## Holidays

Holidays API

### Find public holidays for employee in dates range.

 - [POST /holiday/v1/find](https://developers.calamari.dev/remote/calamari-public-openapi/holidays/find.md): Find public holidays for employee in dates range.Expect error codes:INVALID_EMPLOYEE - when invalid employee id providedINVALID_DATE_FROM - when invalid time in filter providedINVALID_DATE_TO - when invalid time in filter provided

## Positions

Positions API

### Create a position.

 - [POST /positions/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/positions/createposition.md): Create a position.

### Get all positions.

 - [POST /positions/v1/all](https://developers.calamari.dev/remote/calamari-public-openapi/positions/getpositions.md): Get all positions.

## Teams

Teams API

### Create a team.

 - [POST /teams/v1/create](https://developers.calamari.dev/remote/calamari-public-openapi/teams/createteam.md): Create a team.

### Get all teams.

 - [POST /teams/v1/all](https://developers.calamari.dev/remote/calamari-public-openapi/teams/getteams.md): Get all teams.

### Remove chosen team.

 - [POST /teams/v1/remove](https://developers.calamari.dev/remote/calamari-public-openapi/teams/removeteam.md): Remove chosen team.Expect error codes:INVALID_REQUEST - when invalid team provided

### Update chosen team.

 - [POST /teams/v1/update](https://developers.calamari.dev/remote/calamari-public-openapi/teams/updateteam.md): Update chosen team.Expect error codes:INVALID_REQUEST - when invalid team data provided

## People

Endpoints related to managing people records.

### List all people

 - [GET /people/v2](https://developers.calamari.dev/remote/calamari-public-openapi/people/listallpeople.md): You can fetch a list of all people.
You can optionally specify a limit to control the number of results returned, and an offset to skip a specified number of entries from the start.

### Create a new person

 - [POST /people/v2](https://developers.calamari.dev/remote/calamari-public-openapi/people/createperson.md): This endpoint allows you to add a new person to the Calamari.
The request must include essential details such as first name, last name,
e-mail address, approval process, work schedule, and holidays calendar.

### Update a person

 - [PATCH /people/v2/{id}](https://developers.calamari.dev/remote/calamari-public-openapi/people/partialupdateperson.md): This endpoint allows you to partially update a person in Calamari.
You can send any number of fields in the request body.
Only the fields included in the request will be updated.
If a field is set to null, its value will be removed (if removal is allowed).
Fields that are not included in the request will remain unchanged, even if they exist in the system.
This means you can send both updated and unchanged fields, but only those explicitly provided in the request will be processed.

### Archive a person

 - [POST /people/v2/{id}/archive](https://developers.calamari.dev/remote/calamari-public-openapi/people/archiveperson.md): This endpoint allows you to archive a person in Calamari.

### Invite a person

 - [POST /people/v2/{id}/invite](https://developers.calamari.dev/remote/calamari-public-openapi/people/inviteperson.md): This endpoint allows you to send an invitation email to Calamari.

