Calamari Public API (v1)
API for Calamari, your HR tool
https://{tenantName}.calamari.io/api/
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
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": [
"string"
],
"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)
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": "Contract",
"positions": "Developer",
"teams": "Dev Team",
"withArchived": true
}'