{"files":{"SKILL.md":"---\nname: data-api\ndescription: \"Data API skill. Use when working with Data for contacts, district_admins, districts. Covers 44 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Data API\nAPI version: 1.2.0\n\n## Auth\nOAuth2\n\n## Base URL\nhttps://api.clever.com/v1.2\n\n## Setup\n1. Configure auth: OAuth2\n2. GET /contacts -- returns a list of student contacts\n3. Explore available endpoints below\n\n## Endpoints\n44 endpoints across 8 groups. See references/api-spec.lap for full details.\n\n### Contacts\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /contacts | Returns a list of student contacts |\n| GET | /contacts/{id} | Returns a specific student contact |\n| GET | /contacts/{id}/district | Returns the district for a student contact |\n| GET | /contacts/{id}/student | Returns the student for a student contact |\n\n### District_admins\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /district_admins | Returns a list of district admins |\n| GET | /district_admins/{id} | Returns a specific district admin |\n\n### Districts\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /districts | Returns a list of districts. In practice this will only return the one district associated with the bearer token |\n| GET | /districts/{id} | Returns a specific district |\n| GET | /districts/{id}/admins | Returns the admins for a district |\n| GET | /districts/{id}/schools | Returns the schools for a district |\n| GET | /districts/{id}/sections | Returns the sections for a district |\n| GET | /districts/{id}/status | Returns the status of the district |\n| GET | /districts/{id}/students | Returns the students for a district |\n| GET | /districts/{id}/teachers | Returns the teachers for a district |\n\n### School_admins\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /school_admins | Returns a list of school admins |\n| GET | /school_admins/{id} | Returns a specific school admin |\n| GET | /school_admins/{id}/schools | Returns the schools for a school admin |\n\n### Schools\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /schools | Returns a list of schools |\n| GET | /schools/{id} | Returns a specific school |\n| GET | /schools/{id}/district | Returns the district for a school |\n| GET | /schools/{id}/sections | Returns the sections for a school |\n| GET | /schools/{id}/students | Returns the students for a school |\n| GET | /schools/{id}/teachers | Returns the teachers for a school |\n\n### Sections\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /sections | Returns a list of sections |\n| GET | /sections/{id} | Returns a specific section |\n| GET | /sections/{id}/district | Returns the district for a section |\n| GET | /sections/{id}/school | Returns the school for a section |\n| GET | /sections/{id}/students | Returns the students for a section |\n| GET | /sections/{id}/teacher | Returns the primary teacher for a section |\n| GET | /sections/{id}/teachers | Returns the teachers for a section |\n\n### Students\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /students | Returns a list of students |\n| GET | /students/{id} | Returns a specific student |\n| GET | /students/{id}/contacts | Returns the contacts for a student |\n| GET | /students/{id}/district | Returns the district for a student |\n| GET | /students/{id}/school | Returns the primary school for a student |\n| GET | /students/{id}/sections | Returns the sections for a student |\n| GET | /students/{id}/teachers | Returns the teachers for a student |\n\n### Teachers\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /teachers | Returns a list of teachers |\n| GET | /teachers/{id} | Returns a specific teacher |\n| GET | /teachers/{id}/district | Returns the district for a teacher |\n| GET | /teachers/{id}/grade_levels | Returns the grade levels for sections a teacher teaches |\n| GET | /teachers/{id}/school | Retrieves school info for a teacher. |\n| GET | /teachers/{id}/sections | Returns the sections for a teacher |\n| GET | /teachers/{id}/students | Returns the students for a teacher |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all contacts?\" -> GET /contacts\n- \"Get contact details?\" -> GET /contacts/{id}\n- \"List all district?\" -> GET /contacts/{id}/district\n- \"List all student?\" -> GET /contacts/{id}/student\n- \"List all district_admins?\" -> GET /district_admins\n- \"Get district_admin details?\" -> GET /district_admins/{id}\n- \"List all districts?\" -> GET /districts\n- \"Get district details?\" -> GET /districts/{id}\n- \"List all admins?\" -> GET /districts/{id}/admins\n- \"List all schools?\" -> GET /districts/{id}/schools\n- \"List all sections?\" -> GET /districts/{id}/sections\n- \"List all status?\" -> GET /districts/{id}/status\n- \"List all students?\" -> GET /districts/{id}/students\n- \"List all teachers?\" -> GET /districts/{id}/teachers\n- \"List all school_admins?\" -> GET /school_admins\n- \"Get school_admin details?\" -> GET /school_admins/{id}\n- \"Get school details?\" -> GET /schools/{id}\n- \"Get section details?\" -> GET /sections/{id}\n- \"List all school?\" -> GET /sections/{id}/school\n- \"List all teacher?\" -> GET /sections/{id}/teacher\n- \"Get student details?\" -> GET /students/{id}\n- \"Get teacher details?\" -> GET /teachers/{id}\n- \"List all grade_levels?\" -> GET /teachers/{id}/grade_levels\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Data API\n@base https://api.clever.com/v1.2\n@version 1.2.0\n@auth OAuth2\n@endpoints 44\n@hint download_for_search\n@toc contacts(4), district_admins(2), districts(8), school_admins(3), schools(6), sections(7), students(7), teachers(7)\n\n@group contacts\n@endpoint GET /contacts\n@desc Returns a list of student contacts\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n\n@endpoint GET /contacts/{id}\n@desc Returns a specific student contact\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /contacts/{id}/district\n@desc Returns the district for a student contact\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /contacts/{id}/student\n@desc Returns the student for a student contact\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group district_admins\n@endpoint GET /district_admins\n@desc Returns a list of district admins\n@optional {starting_after: any, ending_before: any, show_links: any}\n@returns(200) OK Response\n\n@endpoint GET /district_admins/{id}\n@desc Returns a specific district admin\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group districts\n@endpoint GET /districts\n@desc Returns a list of districts. In practice this will only return the one district associated with the bearer token\n@returns(200) OK Response\n\n@endpoint GET /districts/{id}\n@desc Returns a specific district\n@required {id: any}\n@optional {include: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /districts/{id}/admins\n@desc Returns the admins for a district\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /districts/{id}/schools\n@desc Returns the schools for a district\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /districts/{id}/sections\n@desc Returns the sections for a district\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /districts/{id}/status\n@desc Returns the status of the district\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /districts/{id}/students\n@desc Returns the students for a district\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /districts/{id}/teachers\n@desc Returns the teachers for a district\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group school_admins\n@endpoint GET /school_admins\n@desc Returns a list of school admins\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n\n@endpoint GET /school_admins/{id}\n@desc Returns a specific school admin\n@required {id: any}\n@optional {include: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /school_admins/{id}/schools\n@desc Returns the schools for a school admin\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group schools\n@endpoint GET /schools\n@desc Returns a list of schools\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n\n@endpoint GET /schools/{id}\n@desc Returns a specific school\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /schools/{id}/district\n@desc Returns the district for a school\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /schools/{id}/sections\n@desc Returns the sections for a school\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /schools/{id}/students\n@desc Returns the students for a school\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /schools/{id}/teachers\n@desc Returns the teachers for a school\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group sections\n@endpoint GET /sections\n@desc Returns a list of sections\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n\n@endpoint GET /sections/{id}\n@desc Returns a specific section\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /sections/{id}/district\n@desc Returns the district for a section\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /sections/{id}/school\n@desc Returns the school for a section\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /sections/{id}/students\n@desc Returns the students for a section\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /sections/{id}/teacher\n@desc Returns the primary teacher for a section\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /sections/{id}/teachers\n@desc Returns the teachers for a section\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group students\n@endpoint GET /students\n@desc Returns a list of students\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n\n@endpoint GET /students/{id}\n@desc Returns a specific student\n@required {id: any}\n@optional {include: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /students/{id}/contacts\n@desc Returns the contacts for a student\n@required {id: any}\n@optional {limit: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /students/{id}/district\n@desc Returns the district for a student\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /students/{id}/school\n@desc Returns the primary school for a student\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /students/{id}/sections\n@desc Returns the sections for a student\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /students/{id}/teachers\n@desc Returns the teachers for a student\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@group teachers\n@endpoint GET /teachers\n@desc Returns a list of teachers\n@optional {limit: any, starting_after: any, ending_before: any, where: any}\n@returns(200) OK Response\n\n@endpoint GET /teachers/{id}\n@desc Returns a specific teacher\n@required {id: any}\n@optional {include: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /teachers/{id}/district\n@desc Returns the district for a teacher\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /teachers/{id}/grade_levels\n@desc Returns the grade levels for sections a teacher teaches\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /teachers/{id}/school\n@desc Retrieves school info for a teacher.\n@required {id: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /teachers/{id}/sections\n@desc Returns the sections for a teacher\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endpoint GET /teachers/{id}/students\n@desc Returns the students for a teacher\n@required {id: any}\n@optional {limit: any, starting_after: any, ending_before: any}\n@returns(200) OK Response\n@errors {404: Entity Not Found}\n\n@endgroup\n\n@end\n"}}