Calamari Public API (v1)
API for Calamari, your HR tool
https://{tenantName}.calamari.io/api/
Request
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 panel
- Make sure API access is enabled
Expect error codes:
- INVALID_EMPLOYEE - when invalid employee id provided
- INVALID_TIME - when invalid event time provided
- INVALID_BREAK_TYPE - when invalid break type id provided
- API_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal
https://awesome-company.calamari.io/api/clockin/terminal/v1/break-start
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/break-start' \
-H 'Content-Type: application/json' \
-d '{
"person": "john.white@mycompany.com",
"time": "2019-08-24T14:15:22Z",
"breakType": 1
}'
{ "person": { "firstName": "John", "lastName": "White" }, "breakStatus": "STARTED" }
Request
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 panel
- Make sure API access is enabled
Expect error codes:
- INVALID_EMPLOYEE - when invalid employee id provided
- INVALID_TIME - when invalid event time provided
- INVALID_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
https://awesome-company.calamari.io/api/clockin/terminal/v1/break-stop
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/break-stop' \
-H 'Content-Type: application/json' \
-d '{
"person": "john.white@mycompany.com",
"time": "2019-08-24T14:15:22Z",
"breakType": 1
}'
{ "person": { "firstName": "John", "lastName": "White" }, "breakStatus": "STARTED" }
Request
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 panel
- Make sure API access is enabled
Expect error codes:
- INVALID_EMPLOYEE - when invalid employee id provided
- INVALID_TIME - when invalid event time provided
- API_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal
Employee identifier. You can use e-mail or external identifier in format (externalNumber:ABC123)
https://awesome-company.calamari.io/api/clockin/terminal/v1/clock-in
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/clock-in' \
-H 'Content-Type: application/json' \
-d '{
"person": "john.white@mycompany.com",
"time": "2019-08-24T14:15:22Z",
"projectId": 1,
"description": "Example description"
}'
{ "person": { "firstName": "John", "lastName": "White" }, "shiftStatus": "STARTED" }
Request
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 panel
- Make sure API access is enabled
Expect error codes:
- INVALID_EMPLOYEE - when invalid employee id provided
- INVALID_TIME - when invalid event time provided
- API_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal
Employee identifier. You can use e-mail or external identifier in format (externalNumber:ABC123)
https://awesome-company.calamari.io/api/clockin/terminal/v1/clock-out
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/clock-out' \
-H 'Content-Type: application/json' \
-d '{
"person": "john.white@mycompany.com",
"time": "2019-08-24T14:15:22Z"
}'
{ "person": { "firstName": "John", "lastName": "White" }, "shiftStatus": "STARTED" }
https://awesome-company.calamari.io/api/clockin/terminal/v1/get-break-types
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/get-break-types'
[ { "id": 0, "name": "Break name" } ]
https://awesome-company.calamari.io/api/clockin/terminal/v1/get-break-types-for-person
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/get-break-types-for-person' \
-H 'Content-Type: application/json' \
-d '{
"person": "john.white@mycompany.com"
}'
[ { "id": 0, "name": "Break name" } ]
Request
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 panel
- Make sure API access is enabled
Expect error codes:
- INVALID_EMPLOYEE - when invalid employee id provided
- INVALID_TIME - when invalid event time provided
- API_TERMINAL_NOT_AVAILABLE - no API terminal configured or the employee doesn't have access to this terminal
Employee identifier. You can use e-mail or external identifier in format (externalNumber:ABC123)
https://awesome-company.calamari.io/api/clockin/terminal/v1/punch-clock
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://{tenantname}.calamari.io/api/clockin/terminal/v1/punch-clock' \
-H 'Content-Type: application/json' \
-d '{
"person": "john.white@mycompany.com",
"time": "2019-08-24T14:15:22Z",
"projectId": 1,
"description": "Example description"
}'
{ "person": { "firstName": "John", "lastName": "White" }, "shiftStatus": "STARTED" }