API for Calamari, your HR tool
Calamari Public API (v1)
Request
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
Emergency contact relationship to update
The youngest child birth date to update in ISO format
- https://awesome-company.calamari.io/api/employees/v1/edit
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/employees/v1/edit' \
-H 'Content-Type: application/json' \
-d '{
"employee": "john.white@mycompany.com",
"firstName": "John",
"lastName": "Williams",
"email": "john.williams@domain.com",
"workingWeek": "Working week name",
"approvalFlow": "Main Approval Flow",
"position": "Developer",
"teams": [
"Primary team"
],
"holidaysCalendar": "Primary calendar",
"sex": "string",
"maritalStatus": "string",
"admin": true,
"contractType": "Full time",
"externalNumber": "A27D",
"directManager": "mark.smith@domain.com",
"birthDate": "2017-02-20",
"hireDate": "2017-02-20",
"businessPhone": "982027621",
"homePhone": "982027621",
"personalEmail": "john.white@mycompany.com",
"addressStreet": "New Street",
"addressNumber": "2/12",
"addressCity": "Warsaw",
"addressPostalCode": "28-283",
"addressProvinceState": "Main province",
"addressCountry": "Poland",
"emergencyContactName": "Contact name",
"emergencyContactRelationship": "Contact relationship",
"emergencyContactPhone": "928196340",
"probationEndDate": "2017-02-20",
"plannedFiring": "2017-02-20",
"seniorityBeforeHireYears": 0,
"seniorityBeforeHireMonths": 0,
"childrenCount": 0,
"youngestChildBirthDate": "2017-02-20",
"customNote": "Custom note about employee"
}'{ "id": 0 }
Request
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
List of teams names or identifiers. Example: [Developers Team]
Martial status
- https://awesome-company.calamari.io/api/employees/v1/create
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/employees/v1/create' \
-H 'Content-Type: application/json' \
-d '{
"firstName": "John",
"lastName": "Williams",
"email": "john.white@mycompany.com",
"workingWeek": "Working week name",
"approvalFlow": "Flow name",
"position": "Developer",
"teams": [
"Developers Team"
],
"holidaysCalendar": "Primary calendar",
"sex": "MALE",
"maritalStatus": "SINGLE",
"admin": true,
"contractType": "Contract type",
"externalNumber": "A12Y",
"directManager": "john.white@mycompany.com",
"birthDate": "2017-02-20",
"hireDate": "2017-02-20",
"businessPhone": "876234928",
"homePhone": "283018271",
"personalEmail": "john.white@mycompany.com",
"addressStreet": "Buckfast Street",
"addressNumber": "2/20",
"addressCity": "Warsaw",
"addressPostalCode": "12-333",
"addressProvinceState": "Main Province",
"addressCountry": "Poland",
"emergencyContactName": "Contact name",
"emergencyContactRelationship": "Contact relationship",
"emergencyContactPhone": "198263098",
"probationEndDate": "2017-02-20",
"plannedFiring": "2017-02-20",
"seniorityBeforeHireYears": 0,
"seniorityBeforeHireMonths": 0,
"childrenCount": 0,
"youngestChildBirthDate": "2017-02-20",
"customNote": "Optional custom note about employee"
}'{ "id": 0 }
- https://awesome-company.calamari.io/api/employees/v1/list
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/employees/v1/list' \
-H 'Content-Type: application/json' \
-d '{
"page": 0
}'successful operation
List of employees
Working week
Approval flow
Position
Teams
Contract type
Employee direct manager
Emergency contact relationship
Emergency contact name
Martial status
The youngest child birth date
{ "employees": [ { … } ], "currentPage": 0, "totalPages": 0 }
- https://awesome-company.calamari.io/api/employees/v1/invite
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/employees/v1/invite' \
-H 'Content-Type: application/json' \
-d '{
"employee": "john.white@mycompany.com"
}'- https://awesome-company.calamari.io/api/employees/v1/archive
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/employees/v1/archive' \
-H 'Content-Type: application/json' \
-d '{
"employee": "john.white@mycompany.com"
}'Employee identifier. You can use e-mail or external identifier in format (externalNumber:ABC123)
List of contract types names or identifiers to search. As a result there will be employees who have one of selected contract types assigned. Example: ["Employment Contract", "B2B"]
List of positions names or identifiers to search. As a result there will be employees who have one of provided positions. Example: ["Developer", "Support", "Architect"]
List of teams names or identifiers to search. As a result the result will contain employees who are members of at least one of provided teams. Example: ["First Team", "Second Team", "Third Team"]
- https://awesome-company.calamari.io/api/employees/v1/search
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/employees/v1/search' \
-H 'Content-Type: application/json' \
-d '{
"employee": "john.white@mycompany.com",
"contractTypes": [
"Employment Contract"
],
"positions": [
"Developer"
],
"teams": [
"First Team"
],
"withArchived": true
}'