HTTP status: enrolment attendance history validation
This page documents the problem type URI returned when GET /api/v1/activities/activities/ {activity_pk}/enrollments/{id}/attendance-history/ rejects the query string (missing required
parameters, invalid integers or datetimes, unknown timezone, or limit out of range).
Clients should branch on status, type, and structured errors[].code values (not only free-text detail).
Canonical problem type
Section titled “Canonical problem type”type: "https://docs.keja.co/troubleshooting/status-codes/activities.enrollment_attendance_history_validation"
HTTP mapping
Section titled “HTTP mapping”| Item | Value |
|---|---|
| Status code | 422 |
| Content-Type | application/problem+json |
title (problem) | Short human label such as `Enrolment attendance history requires parameters`, `Invalid timezone`, `Invalid limit`, `Invalid reference_at`, or `Invalid before_starts_at`. |
detail (problem) | Human explanation; do not parse for automation per RFC 9457. |
Typical issue codes (errors[].code)
Section titled “Typical issue codes (errors[].code)”-
activities.enrollment_attendance_history.missing_query - One or more of
iana_timezoneandlimitwere not provided. -
activities.enrollment_attendance_history.invalid_timezone -
iana_timezoneis not a known IANA identifier. -
activities.enrollment_attendance_history.invalid_limit -
limitwas present but not a valid integer. -
activities.enrollment_attendance_history.limit_out_of_range -
limitmust be between 1 and 50. -
activities.enrollment_attendance_history.invalid_reference_at -
reference_atwas present but not a valid ISO 8601 datetime (UTC-aware recommended). -
activities.enrollment_attendance_history.invalid_before_starts_at -
before_starts_atwas present but not a valid ISO 8601 datetime (pagination cursor; sessions must start strictly before this instant).
Each issue object should include a pointer (for example /query/limit or /query/iana_timezone) where the API supplies it.
Query parameters (success path)
Section titled “Query parameters (success path)”| Parameter | Required | Purpose |
|---|---|---|
iana_timezone | Yes | IANA timezone for client display (same contract as the attendance matrix). |
limit | Yes | Page size (1–50). |
before_starts_at | No | UTC ISO 8601 cursor for older pages (starts_at strictly before this instant). |
reference_at | No | UTC ISO 8601 clock that splits past sessions from the reference row; defaults to server now when omitted. |
Related
Section titled “Related”- OpenAPI:
GET /api/v1/activities/activities/{activity_pk}/enrollments/{id}/attendance-history/(experimental stability). - Staff UI: enrolment row attendance history drawer on member, household, and activity enrolment lists.