The Attendance API tracks the complete lifecycle of an employee’s working day — from the initial check-in that starts a session, through any breaks taken during the day, to the final check-out. It also provides a structured correction workflow so that late entries or forgotten check-outs can be reviewed and approved by a manager.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Paramount-Intelligence/HR_Monitoring_System/llms.txt
Use this file to discover all available pages before exploring further.
All endpoints in this section are prefixed with
/api/v1/attendance and require an Authorization: Bearer <token> header. Every timestamp in responses is UTC with a Z suffix.Enum Reference
Work Mode
Thework_mode field is required when checking in and controls how the session is classified.
| Value | Description |
|---|---|
office | Employee is working from the office premises. |
wfh | Employee is working from home. |
Attendance Session Status
| Value | Description |
|---|---|
active | Session is open; employee has checked in but not yet checked out. |
completed | Session ended normally via check-out. |
incomplete | Session ended without a check-out (e.g. system auto-close). |
corrected | Session times were amended by a manager-approved correction. |
Attendance Classification
| Value | Description |
|---|---|
active | Session is still open. |
full_day | Employee worked the full required shift hours. |
half_day | Employee worked approximately half a shift. |
short_leave | Employee was present for a short period only. |
insufficient | Below the minimum threshold for any classification. |
full_leave | No attendance recorded for the day. |
leave | Day covered by an approved leave request. |
Break Type
| Value | Description |
|---|---|
dinner | Meal break. |
prayer | Prayer break. |
other | Any other break type. |
POST /attendance/check-in
Start a new work session for the current day. Only one active session is allowed per user at a time; attempting a second check-in before checking out returns409 Conflict.
Auth: Any authenticated user.
Request Body
How the employee is working today. Must be
office or wfh.Response Fields
Returns anAttendanceSessionRead object.
Unique session identifier.
UUID of the employee who owns this session.
Resolved display name of the employee.
UTC timestamp of check-in (ISO-8601 with
Z).null while session is active; populated on check-out.office or wfh.Current session state:
active, completed, incomplete, or corrected.true if a correction request has been submitted for this session.Reason text submitted with the correction request.
true if check-in occurred after the shift start grace period.true if the employee checked out before the expected shift end.Flagged
true when the session extends past the shift end.true if a manager has applied a correction to this session.System-computed classification:
active, full_day, half_day, short_leave, insufficient, full_leave, or leave.Total net worked minutes (excluding break time).
Minutes late relative to shift start.
Minutes short of full shift.
Reason provided when checking out after the shift ends.
Free-text note accompanying an after-shift checkout.
Scheduled shift start time for today.
Scheduled shift end time for today.
Computed wall-clock session length once checked out.
Shorthand hours value for UI display.
Sum of all break durations in this session.
Minutes spent on dinner breaks.
Minutes spent on prayer breaks.
Minutes spent on miscellaneous breaks.
List of
AttendanceBreakRead objects for this session.The currently open break record, or
null if no break is active.Record creation timestamp.
Last update timestamp.
Example
POST /attendance/check-out
End the currently active session for the authenticated user. The request body is optional; supply it only when you need to provide a reason for overtime or an early departure. Auth: Any authenticated user.Request Body (optional)
Reason for checking out after shift end. Common values:
overtime, forgot_checkout.Free-text note accompanying an after-shift checkout reason.
Reason for leaving before the expected shift end.
Response Fields
Returns the completedAttendanceSessionRead object with check_out_at populated and session_status set to completed.
Example
GET /attendance/active
Return the authenticated user’s currently active (open) attendance session, ornull if no session is open.
Auth: Any authenticated user.
Response Fields
Returns a singleAttendanceSessionRead object, or null. See POST /attendance/check-in for the full field list.
Example
GET /attendance/me
Retrieve the authenticated employee’s personal attendance history, optionally filtered to a date range. Auth: Any authenticated user.Query Parameters
Inclusive start date in
YYYY-MM-DD format.Inclusive end date in
YYYY-MM-DD format.Response Fields
Returns an array ofAttendanceSessionRead objects. See POST /attendance/check-in for the full field list.
Example
GET /attendance/team
Retrieve attendance sessions for the authenticated user’s team. Managers see their direct reports; Admins and HR see the entire organisation. Auth: Any authenticated user. Results are RBAC-scoped.Query Parameters
Inclusive start date in
YYYY-MM-DD format.Inclusive end date in
YYYY-MM-DD format.Response Fields
Returns an array ofAttendanceSessionRead objects.
Example
POST /attendance/breaks/start
Begin a timed break within the current active session. Only one break may be active at a time; the session must not already have an open break. Auth: Any authenticated user with an active session.Request Body
Category of break. One of:
dinner, prayer, other.Optional free-text note describing the break.
Response Fields
Returns anAttendanceBreakRead object.
Unique break identifier.
Parent session UUID.
dinner, prayer, or other.UTC start timestamp.
null while break is active; populated on end.Computed duration once ended;
null while active.Free-text note supplied at start.
Whether this break type is a paid break per company policy.
Example
POST /attendance/breaks/end
End the currently active break, computing and persisting theduration_minutes.
Auth: Any authenticated user with an active break.
Request Body
No request body is required.Response Fields
Returns the completedAttendanceBreakRead object with ended_at and duration_minutes populated.
Example
GET /attendance/breaks/current
Return the authenticated user’s currently active (open) break, ornull if no break is in progress.
Auth: Any authenticated user.
Response Fields
Returns a singleAttendanceBreakRead object, or null. See POST /attendance/breaks/start for the full field list.
Example
GET /attendance/sessions//breaks
List all breaks recorded within a specific attendance session. Auth: Any authenticated user.Path Parameters
UUID of the attendance session.
Response Fields
Returns an array ofAttendanceBreakRead objects. See POST /attendance/breaks/start for the full field list.
Example
PATCH /attendance//correction-request
Submit a correction request for a past session where check-in or check-out times need to be amended. The request enters a pending queue for manager review. Auth: Any authenticated user (own sessions). Managers and admins can initiate corrections for team sessions.Path Parameters
UUID of the attendance session to correct.
Request Body
Explanation of why the correction is needed.
The desired corrected check-in time (ISO-8601 UTC).
The desired corrected check-out time (ISO-8601 UTC).
Response Fields
Returns the updatedAttendanceSessionRead with correction_requested set to true and correction_reason populated.
Example
GET /attendance/corrections/pending
Return all attendance sessions with a pending correction request that the authenticated caller is authorised to review. Managers see their team’s pending corrections; Admins and HR see all. Auth: Any authenticated user. Results are RBAC-scoped.Response Fields
Returns an array ofAttendanceSessionRead objects where correction_requested is true and the correction has not yet been resolved.
Example
PATCH /attendance//resolve-correction
Approve, reject, or request clarification on a pending attendance correction. The caller must be the session owner’s manager or an admin/HR operator. Auth: Manager (own team), Admin, or HR Operations.Path Parameters
UUID of the attendance session with a pending correction.
Request Body
Resolution decision. One of:
approve, reject, clarify.Corrected check-in time to apply when
action is approve.Corrected check-out time to apply when
action is approve.Reviewer note. Recommended when rejecting or requesting clarification.
Response Fields
Returns the updatedAttendanceSessionRead. If approved, is_corrected is true and session_status becomes corrected.
Example — Approve
Example — Reject
Standard Error Response
400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 409 Conflict.