Skip to content

Calamari Public API (v1)

API for Calamari, your HR tool

Languages
Servers

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

Absence type

Absence Types API

Operations

Absence requests

Absence Requests API

Operations

Current shift status

Current Shift Status API

Operations

Projects

Projects API

Operations

Archive project type.

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" }

Create project type.

Request

Create project type.

Expect error codes:

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

Security
basicAuth
Bodyapplication/json
namestringrequired

Project name

Example: "PROJECT-123"
restrictedToPersonsArray of strings

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

restrictedToTeamsArray of strings

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

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": [
      "string"
    ],
    "restrictedToTeams": [
      "string"
    ]
  }'

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": [ {} ] }

Get project types for one person.

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" } ]

Get project types.

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": [] } ]

Update project type.

Request

Update project type.

Expect error codes:

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

Security
basicAuth
Bodyapplication/json
projectIdinteger(int64)required

Project ID

Example: 13
namestring

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

Shifts and Breaks API

Operations

Timesheet entries

Timesheet entries API

Operations

Working Week

Working Week API

Operations

Contract types

Contract Types API

Operations

Employees

Employees API

Operations

Holidays

Holidays API

Operations

Positions

Positions API

Operations

Teams

Teams API

Operations

People

Endpoints related to managing people records.

Operations