Calamari Public API (v1)

API for Calamari, your HR tool

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

Absence requests

Operations

Absence type

Operations

Contract types

Operations

Current shift status

Operations

Employees

Operations

Holidays

Operations

Positions

Operations

Projects

Operations

Archive project type.

Request

Archive project type.

Expect error codes:

  1. INVALID_PROJECT - provided project id is invalid

Bodyapplication/json
projectIdinteger(int64)required

Project ID

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

Responses

successful operation

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

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://awesome-company.calamari.io/api/clockin/projects/v1/create \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "PROJECT-123",
    "restrictedToPersons": [
      "string"
    ],
    "restrictedToTeams": [
      "string"
    ]
  }'

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

Get project types.

Request

Get project types.

curl -i -X POST \
  -u <username>:<password> \
  https://awesome-company.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": [] } ]

Get project types for one person.

Request

Get project types for one person.

Expect error codes:

  1. INVALID_EMPLOYEE - when invalid employee id provided

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://awesome-company.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" } ]

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

Bodyapplication/json
projectIdinteger(int64)required

Project ID

Example: 13
nameobject(ThreeStateOptionalString)
restrictedToPersonsobject(ThreeStateOptionalListString)
restrictedToTeamsobject(ThreeStateOptionalListString)
curl -i -X POST \
  -u <username>:<password> \
  https://awesome-company.calamari.io/api/clockin/projects/v1/update \
  -H 'Content-Type: application/json' \
  -d '{
    "projectId": 13,
    "name": {
      "value": "string"
    },
    "restrictedToPersons": {
      "value": [
        "string"
      ]
    },
    "restrictedToTeams": {
      "value": [
        "string"
      ]
    }
  }'

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

Operations

Teams

Operations

Timesheet entries

Operations

Working Week

Operations

People (Beta)

Endpoints related to managing people records.

Operations