Skip to content

Calamari Public API (v1)

API for Calamari, your HR tool

Languages
Servers
https://{tenantName}.calamari.io/api
Operations

Absence Requests API

Operations

Current Shift Status API

Operations
Operations

Request

Archive project type.

Expect error codes:

  1. INVALID_PROJECT - provided project id is invalid

Security
basicAuth
Bodyapplication/json
projectIdinteger(int64)required

Project ID

Example: 13
curl -i -X POST \
  -u <username>:<password> \
  'https://{tenantname}.calamari.io/api/clockin/projects/v1/archive' \
  -H 'Content-Type: application/json' \
  -d '{
    "projectId": 13
  }'

Responses

No Content

Bodyapplication/json
idinteger(int64)

Project id

namestring

Project name

Example: "Primary project"
Response
application/json
{ "id": 0, "name": "Primary project" }

Request

Create project type.

Expect error codes:

  1. INVALID_NAME - when name is invalid
  2. INVALID_PERSON - when one of provided persons is invalid
  3. INVALID_TEAM - when one of provided teams is invalid

Security
basicAuth
Bodyapplication/json
namestring[ 0 .. 255 ] charactersrequired

Project name

Example: "PROJECT-123"
restrictedToPersonsArray of strings

List of employees e-mails or logins. Example: ["john.smith@domain.com", "mark.small@domain.com"]

Example: ["john.smith@domain.com"]
restrictedToTeamsArray of strings

List of teams names or ids. Example: ["Developers Team", "17"]

Example: ["Developers Team"]
curl -i -X POST \
  -u <username>:<password> \
  'https://{tenantname}.calamari.io/api/clockin/projects/v1/create' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "PROJECT-123",
    "restrictedToPersons": [
      "john.smith@domain.com"
    ],
    "restrictedToTeams": [
      "Developers Team"
    ]
  }'

Responses

Created

Bodyapplication/json
idinteger(int64)

Project id

namestring

Project name

Example: "Primary project"
employeesArray of objects(EmployeeSimpleOut)

Assigned employees

teamsArray of objects(TeamOut)

Assigned teams

Response
application/json
{ "id": 0, "name": "Primary project", "employees": [ {} ], "teams": [ {} ] }

Request

Get project types for one person.

Expect error codes:

  1. INVALID_EMPLOYEE - when invalid employee id provided

Security
basicAuth
Bodyapplication/json
personstringrequired

Employee identifier. You can use e-mail or external identifier in format (externalNumber:ABC123)

Example: "john.white@mycompany.com"
curl -i -X POST \
  -u <username>:<password> \
  'https://{tenantname}.calamari.io/api/clockin/projects/v1/get-projects-for-person' \
  -H 'Content-Type: application/json' \
  -d '{
    "person": "john.white@mycompany.com"
  }'

Responses

successful operation

Bodyapplication/jsonArray [
idinteger(int64)

Project id

namestring

Project name

Example: "Primary project"
]
Response
application/json
[ { "id": 0, "name": "Primary project" } ]

Request

Get project types.

Security
basicAuth
curl -i -X POST \
  -u <username>:<password> \
  'https://{tenantname}.calamari.io/api/clockin/projects/v1/get-projects'

Responses

successful operation

Bodyapplication/jsonArray [
idinteger(int64)

Project id

namestring

Project name

Example: "Primary project"
employeesArray of objects(EmployeeSimpleOut)

Assigned employees

teamsArray of objects(TeamOut)

Assigned teams

]
Response
application/json
[ { "id": 0, "name": "Primary project", "employees": [], "teams": [] } ]

Request

Update project type.

Expect error codes:

  1. INVALID_NAME - when name is invalid
  2. INVALID_PERSON - when one of provided persons is invalid
  3. INVALID_TEAM - when one of provided teams is invalid

Security
basicAuth
Bodyapplication/json
projectIdinteger(int64)required

Project ID

Example: 13
namestring[ 0 .. 255 ] characters

Project name

Example: "PROJECT-123"
restrictedToPersonsArray of strings

List of employees e-mails or logins.

Example: ["john.smith@domain.com"]
restrictedToTeamsArray of strings

List of teams names or ids.

Example: ["Developers Team"]
curl -i -X POST \
  -u <username>:<password> \
  'https://{tenantname}.calamari.io/api/clockin/projects/v1/update' \
  -H 'Content-Type: application/json' \
  -d '{
    "projectId": 13,
    "name": "PROJECT-123",
    "restrictedToPersons": [
      "john.smith@domain.com"
    ],
    "restrictedToTeams": [
      "Developers Team"
    ]
  }'

Responses

successful operation

Bodyapplication/json
idinteger(int64)

Project id

namestring

Project name

Example: "Primary project"
employeesArray of objects(EmployeeSimpleOut)

Assigned employees

teamsArray of objects(TeamOut)

Assigned teams

Response
application/json
{ "id": 0, "name": "Primary project", "employees": [ {} ], "teams": [ {} ] }

Shifts and Breaks API

Operations

Timesheet entries API

Operations
Operations
Operations
Operations
Operations
Operations
Operations

Endpoints related to managing people records.

Operations