Clock Status

GET /clock

Returns the users who are currently clocked in (have a running clock time entry). Field names are consistent with POST /clock and Get Time Entries. Like every /v2/auth endpoint, the result respects the role-based permissions of the user behind the API key (see roles in Add Or Edit User): the response only contains the users this user is allowed to see. An employee sees only their own status; users with higher roles — approver, manager, administrator, main_administrator — see the clocked-in users of the organizations they are responsible for. Results are paginated.

https://mctime.com/api/v2/auth/clock

Authentication: header API_KEY: <your key>.

Query parameters (all optional):

ParameterTypeDescription
userIdsstring (repeatable)Restrict to these users. A user the authenticated user may not see yields a 400 item for that user (the others are still returned). Empty = all users the key may see.
timeTypesstring (repeatable)Filter by time-type name. Possible values: work, parental_leave, worked_rest_period, clocking, statutory_leave, public_holiday_abroad, medical_leave, bad_weather, company_vacation, unpaid_vacation, care_leave, out_office, work_accident_sickness, military_exercize, flextime, unpaid_time_off, home_office, study_leave, paid_time_off, other_leave, vacation_abroad, travel, sick, military_service, jubilee_day, vacation, move, special_leave, free_time
organizationIdsstring (repeatable)Filter by organization UUID. Only organizations the authenticated user is allowed to manage are accepted.
organizationNamesstring (repeatable)Filter by organization name (resolved to an allowed organization).
pageintegerPage number, starting at 1 (default). Page size is 20, paginated over the currently clocked-in users.

Response 200 OK:

{
  "items": [
    {
      "userId": "11111111-1111-1111-1111-111111111111",
      "userFirstName": "John",
      "userLastName": "Doe",
      "clockedIn": true,
      "onBreak": true,
      "from": "2026-01-15T08:00:00+01:00",
      "id": "22222222-2222-2222-2222-222222222222",
      "organizationId": "33333333-3333-3333-3333-333333333333",
      "organizationName": "Main Office",
      "timeType": "work",
      "breaks": [
        { "id": "55555555-5555-5555-5555-555555555555", "from": "2026-01-15T12:00:00+01:00", "to": null, "automatic": false }
      ]
    }
  ],
  "page": 1,
  "totalItems": 1,
  "totalCount": 1
}

Response fields

FieldDescription
userId / userFirstName / userLastNameThe clocked-in user.
clockedInAlways true (only running entries are returned).
onBreaktrue while the user is currently on a break (an open break, see breaks).
fromClock-in time (ISO-8601 with timezone offset).
idId of the running clock entry (use it with GET /clock/{id}).
organizationId / organizationNameThe organization the user clocked in on.
timeTypeTime-type name of the running entry (one of the timeTypes values above), same naming as POST /clock.
breaksBreaks of the running entry, same shape as POST /clock / Get Time Entries: {id, from, to, automatic}. A currently ongoing break has to: null. null when there are no breaks.
totalItems / totalCountNumber of clocked-in users matching the request / number of pages.

Status codes

CodeWhen
200Success (the list may be empty).
400Per item, for a userId the authenticated user may not see, or an organization filter they are not allowed to manage.
401Missing or invalid API_KEY.

GET /clock/{id}

Returns a single open clock status by its entry id (same item shape as GET /clock, including breaks and onBreak).

https://mctime.com/api/v2/auth/clock/{id}

Path parameter: id — the id of the open (running) clock entry.

Status codes

CodeWhen
200The open clock status (same item shape as GET /clock).
404The id is not an open clock entry — it has already been clocked out (it is then a regular Time Entry, see GET /times/{id}).
400The authenticated user is not allowed to see this entry, or the id does not exist (mirrors GET /times/{id}).
401Missing or invalid API_KEY.

📘

Status code details

Consistent with GET /times/{id}, a non-existent id returns 400 ("Report was not found"), not 404. A 404 specifically means the entry exists but has already been clocked out.