Attendance Data API Overview
This page will cover the main use cases supported by attendance data and a general outline of how it works.
Attendance API Schema
This object is returned from endpoints that provide student attendance records.
Field | Required | Type | Description |
---|---|---|---|
attendance_date | Yes | date (YYYY-MM-DD ) | The date the attendance record applies to. |
attendance_status | Yes | enum (present , absent , tardy ) | The student’s attendance status for that day or section. |
attendance_type | Yes | enum (daily , section ) | Type of attendance record. |
created | Yes | datetime (ISO 8601, UTC) | Timestamp when Clever first saw this record. |
district_id | Yes | string | Clever ID for the district. |
excuse_code | No | string | District-defined code representing an excuse or absence reason. |
last_modified | Yes | datetime (ISO 8601, UTC) | Timestamp of the most recent change to the record. |
school_id | Yes | string | Clever ID for the school. |
section_id | No | string | If attendance is section-specific, the Clever ID of the section. |
sis_id | No | string | SIS-provided ID for the attendance object, if available. |
student_id | Yes | string | Clever ID for the relevant student. |
Notes
clever_id
,district_id
,school_id
,student_id
,created
,last_modified
,attendance_date
,attendance_status
, andattendance_type
will always be present in the response.- All datetime values follow the ISO 8601 format and are in UTC.
- If
attendance_type
issection
, thesection_id
may be included.
last_attendance_sync
Field (in /v3.1/districts
)
last_attendance_sync
Field (in /v3.1/districts
)Field | Required | Type | Description |
---|---|---|---|
last_attendance_sync | No | datetime (ISO 8601, UTC) | Timestamp of the last successful attendance sync for the district. Returned in /v3.1/districts . |
Attendance API Endpoints
Visit our Postman Developer Collection to try out the Attendance API! Be sure to use the "Attendance Data" environment.
You can also find the API swagger definition here.
These endpoints allow app partners to retrieve student attendance records by section or school.
Note: These endpoints are in preview and subject to change based on partner feedback.
GET /v3.1/attendance/sections/{section_id}
GET /v3.1/attendance/sections/{section_id}
Retrieve attendance records for a specific section.
GET /v3.1/attendance/schools/{school_id}
GET /v3.1/attendance/schools/{school_id}
Retrieve attendance records for all students in a specific school.
Query Parameters
Name | Type | Required | Description |
---|---|---|---|
date_range | string | No | Shorthand date range filter in format YYYY-MM-DD<delimiter>YYYY-MM-DD . (e.g. 2024-01-01..2024-02-05 ) |
date_range_start | date | No | Start date of attendance range (YYYY-MM-DD ). Use with date_range_end . |
date_range_end | date | No | End date of attendance range (YYYY-MM-DD ). Use with date_range_start . |
status | enum | No | Filter by attendance status: present , absent , or tardy . |
limit | integer | No | Number of records to return per page. Default: 100 . Max: 1000 |
starting_after | string | No | Base64-encoded cursor for pagination. |
ending_before | string | No | Base64-encoded cursor for pagination. |
Note: You can use either
date_range
or thedate_range_start
+date_range_end
combo — not both.
Example Request
Example 1: Using date_range
date_range
GET /v3.1/attendance/sections/abc123?date_range=2024-01-01..2024-02-05&status=tardy
Example 2: Using date_range_start
and date_range_end
date_range_start
and date_range_end
GET /v3.1/attendance/schools/67f421692eda0e3fa1880e4f?date_range_start=2025-04-01&date_range_end=2025-04-30
Example 3: Using starting_after
starting_after
GET /v3.1/attendance/schools/67f421692eda0e3fa1880e4f?starting_after=MjAyNS0wNC0wMV82N2Y0MjE2OTJlZGEwZTNmYTE4ODBlNTRfNjdmNDIxNjkyZWRhMGUzZmExODgwZThmXzY3ZjQyMTY5MmVkYTBlM2ZhMTg4MGU0Zg==
Example Response
{
"data": [
{
"attendance_date": "2025-04-01",
"attendance_status": "tardy",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodej0c",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e8a",
"sis_id": "sisideOrct",
"student_id": "67f421692eda0e3fa1880e53"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "absent",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodePnc",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e8d",
"sis_id": "sisid61jN5",
"student_id": "67f421692eda0e3fa1880e53"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "tardy",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodesCy",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e90",
"sis_id": "sisidF85Lw",
"student_id": "67f421692eda0e3fa1880e53"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "present",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodeaLN",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e93",
"sis_id": "sisidS2HMn",
"student_id": "67f421692eda0e3fa1880e53"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "tardy",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodeNS3",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e96",
"sis_id": "sisid3yIve",
"student_id": "67f421692eda0e3fa1880e53"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "tardy",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodeWvO",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e99",
"sis_id": "sisidbAEmT",
"student_id": "67f421692eda0e3fa1880e53"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "present",
"attendance_type": "daily",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodeiwm",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"sis_id": "sisidViZIL",
"student_id": "67f421692eda0e3fa1880e54"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "absent",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodeu0j",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e8c",
"sis_id": "sisidVn1bs",
"student_id": "67f421692eda0e3fa1880e54"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "absent",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodeC2f",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e8f",
"sis_id": "sisidaqgtl",
"student_id": "67f421692eda0e3fa1880e54"
},
{
"attendance_date": "2025-04-01",
"attendance_status": "absent",
"attendance_type": "section",
"created": "2025-04-08T23:45:50.000Z",
"district_id": "67f420226197b96bc273ed3d",
"excuse_code": "excusecodepGA",
"last_modified": "2025-04-08T23:45:50.000Z",
"school_id": "67f421692eda0e3fa1880e4f",
"section_id": "67f421692eda0e3fa1880e92",
"sis_id": "sisid4HxwA",
"student_id": "67f421692eda0e3fa1880e54"
}
],
"links": [
{
"rel": "self",
"uri": "/v3.1/attendance/schools/67f421692eda0e3fa1880e4f?date_range_start=2025-04-01&date_range_end=2025-04-01&limit=10&starting_after=MjAyNS0wNC0wMV82N2Y0MjE2OTJlZGEwZTNmYTE4ODBlNTNfMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXzY3ZjQyMTY5MmVkYTBlM2ZhMTg4MGU0Zg=="
},
{
"rel": "next",
"uri": "/v3.1/attendance/schools/67f421692eda0e3fa1880e4f?date_range_start=2025-04-01&date_range_end=2025-04-01&limit=10&starting_after=MjAyNS0wNC0wMV82N2Y0MjE2OTJlZGEwZTNmYTE4ODBlNTRfNjdmNDIxNjkyZWRhMGUzZmExODgwZTkyXzY3ZjQyMTY5MmVkYTBlM2ZhMTg4MGU0Zg=="
},
{
"rel": "prev",
"uri": "/v3.1/attendance/schools/67f421692eda0e3fa1880e4f?date_range_start=2025-04-01&date_range_end=2025-04-01&limit=10&ending_before=MjAyNS0wNC0wMV82N2Y0MjE2OTJlZGEwZTNmYTE4ODBlNTNfNjdmNDIxNjkyZWRhMGUzZmExODgwZThhXzY3ZjQyMTY5MmVkYTBlM2ZhMTg4MGU0Zg=="
}
],
"total": 10
}
Updated 3 days ago