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_typewill always be present in the response.- All datetime values follow the ISO 8601 format and are in UTC.
- If
attendance_typeissection, thesection_idmay 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/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_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. |
attendance_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. |
Example Request
Example 1: Using date_range_start and date_range_end
date_range_start and date_range_endGET /v3.1/attendance/schools/67f421692eda0e3fa1880e4f?date_range_start=2025-04-01&date_range_end=2025-04-30
Example 2: Using starting_after
starting_afterGET /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=="
}
]
}
Updated 6 months ago
