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.

FieldRequiredTypeDescription
attendance_dateYesdate (YYYY-MM-DD)The date the attendance record applies to.
attendance_statusYesenum (present, absent, tardy)The student’s attendance status for that day or section.
attendance_typeYesenum (daily, section)Type of attendance record.
createdYesdatetime (ISO 8601, UTC)Timestamp when Clever first saw this record.
district_idYesstringClever ID for the district.
excuse_codeNostringDistrict-defined code representing an excuse or absence reason.
last_modifiedYesdatetime (ISO 8601, UTC)Timestamp of the most recent change to the record.
school_idYesstringClever ID for the school.
section_idNostringIf attendance is section-specific, the Clever ID of the section.
sis_idNostringSIS-provided ID for the attendance object, if available.
student_idYesstringClever ID for the relevant student.

📘

Notes

  • clever_id, district_id, school_id, student_id, created, last_modified, attendance_date, attendance_status, and attendance_type will always be present in the response.
  • All datetime values follow the ISO 8601 format and are in UTC.
  • If attendance_type is section, the section_id may be included.

last_attendance_sync Field (in /v3.1/districts)

FieldRequiredTypeDescription
last_attendance_syncNodatetime (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}

Retrieve attendance records for a specific section.

GET /v3.1/attendance/schools/{school_id}

Retrieve attendance records for all students in a specific school.


Query Parameters

NameTypeRequiredDescription
date_rangestringNoShorthand date range filter in format YYYY-MM-DD<delimiter>YYYY-MM-DD. (e.g. 2024-01-01..2024-02-05)
date_range_startdateNoStart date of attendance range (YYYY-MM-DD). Use with date_range_end.
date_range_enddateNoEnd date of attendance range (YYYY-MM-DD). Use with date_range_start.
statusenumNoFilter by attendance status: present, absent, or tardy.
limitintegerNoNumber of records to return per page. Default: 100. Max: 1000
starting_afterstringNoBase64-encoded cursor for pagination.
ending_beforestringNoBase64-encoded cursor for pagination.

Note: You can use either date_range or the date_range_start + date_range_end combo — not both.


Example Request

Example 1: Using 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

GET /v3.1/attendance/schools/67f421692eda0e3fa1880e4f?date_range_start=2025-04-01&date_range_end=2025-04-30

 

Example 3: Using 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
}