Skip to main content
GET
/
api
/
public
/
teams
/
{teamId}
/
attendance
{
  "IsTeamAdministrator": true,
  "Attendance": {},
  "Attendance.TeamId": 123,
  "Attendance.TeamName": "<string>",
  "Attendance.AvgBookedMinutesPerWeek": 123,
  "Attendance.AvgBookingsCoworkersPerDay": 123,
  "Attendance.AvgCheckedinCoworkersPerDay": 123,
  "Attendance.AvgCheckinsDaysPerWeek": 123,
  "Attendance.Coworkers[].CoworkerId": 123,
  "Attendance.Coworkers[].CoworkerFullName": "<string>",
  "Attendance.Coworkers[].CoworkerType": 123,
  "Attendance.Coworkers[].CoworkerCompanyName": {},
  "Attendance.Coworkers[].MondayAttendance": {},
  "Attendance.Coworkers[].TuesdayAttendance": {},
  "Attendance.Coworkers[].WednesdayAttendance": {},
  "Attendance.Coworkers[].ThursdayAttendance": {},
  "Attendance.Coworkers[].FridayAttendance": {},
  "Attendance.Coworkers[].SaturdayAttendance": {},
  "Attendance.Coworkers[].SundayAttendance": {},
  "Attendance.Days[].Date": "<string>",
  "Attendance.Days[].Bookings": [
    {}
  ],
  "Attendance.Days[].Bookings[].Id": 123,
  "Attendance.Days[].Bookings[].FromTime": "<string>",
  "Attendance.Days[].Bookings[].ToTime": "<string>",
  "Attendance.Days[].Bookings[].ResourceId": 123,
  "Attendance.Days[].Bookings[].ResourceName": "<string>",
  "Attendance.Days[].Bookings[].CoworkerId": {},
  "401 Unauthorized": {},
  "404 Not Found": {}
}

Get Team Attendance

Returns the attendance matrix for a team centred on a given date. Includes per-member day-of-week attendance preferences (office, home, abroad, not working), aggregate statistics, and any bookings overlapping the requested week.

Authentication

Requires a valid customer bearer token. The customer must be a member or administrator of the specified team.

Path Parameters

teamId
number
required
Numeric identifier of the team. Returned as Id from GET /api/public/teams/my.

Query Parameters

date
string
required
ISO 8601 UTC datetime specifying the week to retrieve. The API returns the full week containing this date.
_shape
string
Comma-separated list of field paths to include in the response. When provided, only the specified fields are returned — useful for reducing payload size. Supports nested paths using dot notation.

Response

IsTeamAdministrator
boolean
Whether the authenticated customer is an administrator of this team. Used by the portal to show or hide the attendance editing UI.
Attendance
TeamAttendanceDetails
required
The attendance data object.

Attendance Details

Attendance.TeamId
number
Numeric identifier of the team.
Attendance.TeamName
string
Display name of the team.
Attendance.AvgBookedMinutesPerWeek
number
Average booked minutes per week across all members.
Attendance.AvgBookingsCoworkersPerDay
number
Average number of members with bookings per day.
Attendance.AvgCheckedinCoworkersPerDay
number
Average number of members checked in per day.
Attendance.AvgCheckinsDaysPerWeek
number
Average check-in days per week.

Attendance.Coworkers[]

Attendance.Coworkers[].CoworkerId
number
Numeric identifier of the member.
Attendance.Coworkers[].CoworkerFullName
string
Display name of the member.
Attendance.Coworkers[].CoworkerType
number
Member type code.
Attendance.Coworkers[].CoworkerCompanyName
string | undefined
Company name associated with the member, if any.
Attendance.Coworkers[].MondayAttendance
eCoworkerAttendance
Monday attendance status: 1 = Office, 2 = Home, 3 = Abroad, 4 = Not Working, 5 = Undefined.
Attendance.Coworkers[].TuesdayAttendance
eCoworkerAttendance
Tuesday attendance status (same values as Monday).
Attendance.Coworkers[].WednesdayAttendance
eCoworkerAttendance
Wednesday attendance status.
Attendance.Coworkers[].ThursdayAttendance
eCoworkerAttendance
Thursday attendance status.
Attendance.Coworkers[].FridayAttendance
eCoworkerAttendance
Friday attendance status.
Attendance.Coworkers[].SaturdayAttendance
eCoworkerAttendance
Saturday attendance status.
Attendance.Coworkers[].SundayAttendance
eCoworkerAttendance
Sunday attendance status.

Attendance.Days[]

Attendance.Days[].Date
string
ISO 8601 date for this day.
Attendance.Days[].Bookings
AttendanceBooking[]
Bookings on this day.
Attendance.Days[].Bookings[].Id
number
Booking identifier.
Attendance.Days[].Bookings[].FromTime
string
Booking start time.
Attendance.Days[].Bookings[].ToTime
string
Booking end time.
Attendance.Days[].Bookings[].ResourceId
number
Identifier of the booked resource.
Attendance.Days[].Bookings[].ResourceName
string
Name of the booked resource.
Attendance.Days[].Bookings[].CoworkerId
number | undefined
Customer who owns the booking, if applicable.

Examples

Fetch attendance for a week

GET /api/public/teams/55/attendance?date=2025-01-20T00:00:00.000Z
Authorization: Bearer {token}
{
  "IsTeamAdministrator": true,
  "Attendance": {
    "TeamId": 55,
    "TeamName": "Tech Innovators",
    "AvgBookedMinutesPerWeek": 480,
    "AvgBookingsCoworkersPerDay": 3,
    "AvgCheckedinCoworkersPerDay": 5,
    "AvgCheckinsDaysPerWeek": 4.2,
    "Coworkers": [
      {
        "CoworkerId": 101,
        "CoworkerFullName": "Jane Smith",
        "CoworkerType": 1,
        "CoworkerCompanyName": "Tech Innovators Ltd",
        "MondayAttendance": 1,
        "TuesdayAttendance": 1,
        "WednesdayAttendance": 2,
        "ThursdayAttendance": 1,
        "FridayAttendance": 2,
        "SaturdayAttendance": 4,
        "SundayAttendance": 4
      }
    ],
    "Days": [
      {
        "Date": "2025-01-20T00:00:00",
        "Bookings": [
          {
            "Id": 5001,
            "FromTime": "09:00",
            "ToTime": "17:00",
            "ResourceId": 201,
            "ResourceName": "Meeting Room A",
            "CoworkerId": 101
          }
        ]
      }
    ]
  }
}

TypeScript Integration

import { endpoints } from '@/api/endpoints'
import { TeamAttendance } from '@/types/endpoints/TeamAttandance'
import { useData } from '@/hooks/useData'
import { DateTime } from 'luxon'

const { resource: attendance } = useData<TeamAttendance>(httpClient, endpoints.teams.attendance(teamId, DateTime.now()))

Usage in Portal

ContextSource file
Team dashboard attendance KPIs (/dashboard/team/{teamId})src/views/user/dashboards/team/components/TeamAttendanceKpiSection.tsx
Team attendance section (/team/attendance/{teamId})src/views/user/team/attendance/components/TeamAttedanceSection.tsx
Attendance management (/team/attendance/{teamId})src/views/user/team/attendance/components/AttendanceManagementSection.tsx

Error Responses

401 Unauthorized
error
The customer is not authenticated or the session has expired.
404 Not Found
error
Team with the specified ID does not exist.
MethodEndpointDescription
PUT/api/public/teams/{teamId}/attendanceUpdate member attendance preferences
GET/api/public/teams/{teamId}/kpiTeam KPI data
GET/api/public/teams/{teamId}/metricsTeam performance metrics
GET/api/public/teams/{teamId}/profileFull team profile