Skip to content

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).

type: "https://docs.keja.co/troubleshooting/status-codes/activities.enrollment_attendance_history_validation"
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.
activities.enrollment_attendance_history.missing_query
One or more of iana_timezone and limit were not provided.
activities.enrollment_attendance_history.invalid_timezone
iana_timezone is not a known IANA identifier.
activities.enrollment_attendance_history.invalid_limit
limit was present but not a valid integer.
activities.enrollment_attendance_history.limit_out_of_range
limit must be between 1 and 50.
activities.enrollment_attendance_history.invalid_reference_at
reference_at was present but not a valid ISO 8601 datetime (UTC-aware recommended).
activities.enrollment_attendance_history.invalid_before_starts_at
before_starts_at was 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.

ParameterRequiredPurpose
iana_timezoneYesIANA timezone for client display (same contract as the attendance matrix).
limitYesPage size (150).
before_starts_atNoUTC ISO 8601 cursor for older pages (starts_at strictly before this instant).
reference_atNoUTC ISO 8601 clock that splits past sessions from the reference row; defaults to server now when omitted.
  • 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.