# Clever Developer Docs Documentation > Clever connects you to every Student Information System and every Identity Provider with a single integration. Making Clever a core component of your infrastructure supercharges your development. Spend less time managing multiple data pipelines and identity providers, and more time on building the features that matter to you and your customers. Append .md to any documentation page URL to get its markdown version. ## Clever at a Glance - [What is Clever?](https://dev.clever.com/docs/what-is-clever.md): Understand Clever's supported integration options and choose the right starting point for your app. - [Getting Started with Clever](https://dev.clever.com/docs/getting-started.md): Create your Clever development app, access the dashboard, choose a supported integration path, and prepare for certification. - [Clever Complete Integration Types and Quickstart Guides](https://dev.clever.com/docs/integration-types.md): Choose a supported Clever integration type that fits your app and find the right quickstart guide. - [Custom Sandbox Districts](https://dev.clever.com/docs/custom-sandbox-districts.md): Request, configure, upload data to, and connect a custom sandbox district for Secure Sync testing. - [Security and Privacy](https://dev.clever.com/docs/security.md): Secure your Clever app account with SSO or 2FA, keep tokens and secrets out of unencrypted channels, and follow PII, FERPA, and COPPA compliance requirements. ## APIs & Data Model - [Clever API Overview](https://dev.clever.com/docs/api-overview.md): Learn how to access the Clever API, choose the right token type, and understand Clever's API change policy. - [Exploring the Clever API](https://dev.clever.com/docs/exploring-the-clever-api.md): Explore the Clever API with Postman and configure the collections and environments needed to make test requests. - [Clever API v3.1 OpenAPI Spec](https://apps.clever.com/api-v3.yml?referrer=llms_txt): Machine-readable OpenAPI 3.0 specification for the Clever API v3.1 — use it to generate client code, validate requests/responses, or explore endpoints and schemas programmatically. - [Clever API v3.1 Data Schema](https://dev.clever.com/docs/clever-api-v31-data-schema.md): Browse the full Clever API v3.1 data model schema, with dedicated pages for Districts, Schools, Users, Sections, Courses, Terms, and Contacts. - [API v3.1 Updates](https://dev.clever.com/docs/api-v31.md): The canonical reference for the data model changes, student demographic fields, LMS Connect updates, and access requirements introduced in Clever API v3.1. - [API Responses and Error Messages](https://dev.clever.com/docs/error-messages.md): Understand common Clever API responses, identify likely causes of errors, and choose the right retry behavior. - [Pagination and Response Limits](https://dev.clever.com/docs/paging-and-limits.md): Paginate large Clever API responses using rel:next links and the starting_after parameter, and plan around the default 100- and maximum 10,000-record page limits. - [Clever's Data Model (v3.x)](https://dev.clever.com/docs/data-model.md): Understand Clever's district-centric data model, field formats for IDs, strings, dates, and booleans, and how to navigate records using relative links. - [Districts](https://dev.clever.com/docs/districts.md): Review the Clever district object, district sync fields, example district responses, and related district-scoped objects. - [Schools](https://dev.clever.com/docs/schools.md): While schools are not the highest-level object in Clever's data model, every user, term, course, and section must be associated with at least one school. User records can be associated with multiple schools! - [Users](https://dev.clever.com/docs/users.md): Understand the Clever User object, review student, teacher, staff, and district admin schema fields, and see example user responses. - [Sections](https://dev.clever.com/docs/sections.md): Sections (analogous to classes) tie teachers and students together. - [Courses](https://dev.clever.com/docs/courses.md): Courses are an optional data type - courses are only created if a district chooses to sync course information to Clever. - [Terms](https://dev.clever.com/docs/terms.md): Terms are an optional data type - these are only created if a district sends us term information. - [Contacts (Guardians)](https://dev.clever.com/docs/contacts-guardians.md): Query guardian contact records on the /users endpoint, handle multiple student_relationships per contact, and understand what keeps a contact's Clever ID stable. - [Resources (Content Mapping)](https://dev.clever.com/docs/resources.md): Resources are an optional data type - resources can be created by applications and assigned to courses by district admins. If a resource is created and assigned to a course, the fields below are guaranteed. - [Extension Fields](https://dev.clever.com/docs/extension-fields.md): Access district-defined custom data fields on schools, sections, teachers, students, and staff without waiting on a new Clever schema version. - [Libraries and Sample Code](https://dev.clever.com/docs/libraries.md): Find community-supported Clever libraries, understand when you do not need a library, and review sample code. - [Updating to use TLS 1.2 on connection to Clever API](https://dev.clever.com/docs/updating-to-use-tls-12-on-connection-to-clever-api.md): Migrate client code from TLS 1.0/1.1 to TLS 1.2 for Java, Apache HttpClient, .NET, RestSharp, Python, libcurl, and Go before connecting to the Clever API. ## Clever Secure Sync - [Clever Secure Sync Quickstart Guide](https://dev.clever.com/docs/secure-sync-rostering.md): Get a sandbox bearer token, make your first Data API call, explore the core endpoints, and use pagination and events to keep data in sync. - [Clever Secure Sync - Overview](https://dev.clever.com/docs/onboarding.md): Design your district onboarding flow, store district access correctly, and choose a strategy for matching Clever data to accounts in your product. - [What's New in API v3.1 (Secure Sync onboarding summary)](https://dev.clever.com/docs/whats-new-in-api-v31.md): A condensed summary of the new v3.1 demographic fields and LMS Connect changes for the Secure Sync onboarding flow; see API v3.1 Updates (under APIs & Data Model) for the canonical field reference. - [Initializing and Syncing Data](https://dev.clever.com/docs/ss-design.md): Design your Clever Secure Sync integration, provision users and roster data, and handle common data-model edge cases. - [Clever API v3.1 Data Schema (Secure Sync pointer)](https://dev.clever.com/docs/anyschool-api-schema.md): A short pointer from the Secure Sync design flow to the full API v3.1 schema, plus the student demographic change reference. - [Delta Syncs: Updating Data with Events](https://dev.clever.com/docs/events-api.md): Enable and sync Clever's Events API to process created, updated, and deleted changes incrementally, instead of re-pulling all district data on every sync. - [Data Changes and Rollover](https://dev.clever.com/docs/data-changes.md): Plan for Clever data changes, build sync strategies, protect against unintentional updates, and handle school year rollover. - [Edge Cases](https://dev.clever.com/docs/data-model-quirks-and-supported-features-district-integrations.md): Review known data-model edge cases for districts, students, teachers, contacts, courses, sections, and terms before your integration encounters them in production. - [Testing Your Secure Sync Integration](https://dev.clever.com/docs/sync-testing.md): Test your Secure Sync integration against the default sandbox, a larger Clear Water ISD dataset, the rotating Certification ISD, or your own custom sandbox district. - [Troubleshooting Your Sync](https://dev.clever.com/docs/sync-troubleshooting.md): Troubleshoot Clever sync issues, handle 404 errors, check sync freshness, and review logs and data warnings. - [Clever Secure Sync Certification Guide](https://dev.clever.com/docs/secure-sync-certification-guide.md): Review Secure Sync integration requirements, the certification questionnaire, and edge-case sample data before submitting your integration for certification. ## Clever Single Sign-On - [Clever Single Sign-On Quickstart Guide](https://dev.clever.com/docs/district-sso-1.md): Configure Clever Single Sign-On as part of a supported SSO + Rostering integration, send users through OAuth, and identify the signed-in user. - [Clever Single Sign-On - Overview](https://dev.clever.com/docs/getting-started-with-clever-sso.md): Walk through Clever's OAuth 2.0 authorization code flow for the SSO portion of an SSO + Rostering integration. - [Setting up Clever Single Sign-On](https://dev.clever.com/docs/setting-up-district-sso.md): Set up Clever Single Sign-On as the authentication portion of an SSO + Rostering integration. - [OAuth Implementation](https://dev.clever.com/docs/oauth-implementation.md): Implement Clever OAuth, understand what SSO tokens can access, and handle login flows from Clever Portal, Instant Login, and Log in with Clever. - [OIDC Implementation](https://dev.clever.com/docs/oidc-implementation.md): Implement OpenID Connect (OIDC) with Clever, configure third-party identity services, and understand identity tokens and the `/userinfo` endpoint. - [The /userinfo Endpoint](https://dev.clever.com/docs/the-userinfo-endpoint.md): Retrieve OIDC-style user identity data from Clever with an SSO bearer access token. - [Migrating to OIDC](https://dev.clever.com/docs/migrating-to-oidc.md): Migrate an existing Clever SSO integration from OAuth 2.0 or SAML to OIDC. - [Example OAuth/OIDC Walkthrough](https://dev.clever.com/docs/example-oauth-walkthrough.md): Walk through the OAuth 2.0 authorization code flow manually in Postman: get an authorization code, exchange it for a bearer token, and call /me. - [Clever Single Sign-On - Best Practices & Edge Cases](https://dev.clever.com/docs/best-practices-edge-cases.md): Review Clever Single Sign-On best practices and edge cases for SSO + Rostering integrations before certification. - [Keeping SSO Secure](https://dev.clever.com/docs/il-security.md): Prevent CSRF attacks, safeguard your client secret, and implement session re-authentication and invalidation for SSO on shared devices. - [Multi-Role Users in Clever](https://dev.clever.com/docs/multi-role-users-in-clever.md): Understand how multi-role users are represented in Clever API v3.x and choose a strategy for handling them in your app. - [Testing Your SSO Integration](https://dev.clever.com/docs/testing-your-sso-integration.md): Test the Clever SSO portion of your SSO + Rostering integration before certification. - [Clever Single Sign-On Certification Guide](https://dev.clever.com/docs/district-sso-certification-guide.md): Review certification expectations for the SSO portion of an SSO + Rostering integration. - [SAML Integration Quickstart Guide](https://dev.clever.com/docs/saml.md): Decide whether a SAML identity provider connection fits your app better than OAuth or OIDC, and learn how to request one from Clever's Partner Engineering team. - [SAML](https://dev.clever.com/docs/saml-overview.md): Understand Clever's SAML identity provider connection, why it's less secure than OAuth or OIDC, and when it's still the right quick-start option. - [Building a SAML App](https://dev.clever.com/docs/saml-getting-started.md): Set up a SAML connector with Clever: request access, configure your Service Provider, test with a sandbox district, and launch to production. ## Clever Single Sign-On - iOS/iPadOS - [iOS Support](https://dev.clever.com/docs/ios-support.md): Understand how Clever login works on iOS and which iOS implementation guide to read next. - [iOS/iPadOS - Native Apps](https://dev.clever.com/docs/il-native-ios.md): Implement Clever SSO in a native iOS app with Universal Links and handle common iOS callback handoff issues. - [SSO on iOS/iPadOS](https://dev.clever.com/docs/ios.md): Understand how Clever SSO behaves on iOS and iPadOS and choose the right implementation pattern for your app. ## Certification and Going Live - [Certification Overview](https://dev.clever.com/docs/certification-overview.md): Review certification requirements for supported Clever integrations and prepare your app to connect with live districts. - [Going Live](https://dev.clever.com/docs/going-live.md): Prepare your certified app to launch and connect with districts through supported Clever integrations. ## Upgrading to API v3 - [API v3.x](https://dev.clever.com/docs/new-in-api-v3.md): Review the full API v3.0 changelog: the consolidated /users endpoint, the new Content Mapping API, Identity API changes, and removed role-specific endpoints. - [API v3.x Upgrade Guide](https://dev.clever.com/docs/api-v3-upgrade-guide.md): Follow a step-by-step checklist to migrate from API v2.x to v3.x: audit role-based endpoints, migrate to the unified user ID, update event handling, and plan for multi-role users. - [API v3.x FAQs](https://dev.clever.com/docs/api-v3-faqs.md): Review common questions about migrating to Clever API v3.x. ## Clever AnySchool - [Clever AnySchool Quickstart Guide](https://dev.clever.com/docs/anyschool-rostering.md): Invite and test AnySchool districts as an app partner, or share district-facing instructions for connecting supported SIS, CSV, and SFTP roster data sources. ## Clever LMS Connect - [Clever LMS Connect Quickstart Guide](https://dev.clever.com/docs/clever-lms-connect.md): Set up a sandbox LMS connection, get a bearer token, and create your first assignment and submission with the Grade Passback API. - [Clever LMS Connect - Overview](https://dev.clever.com/docs/lms-connect-overview.md): Understand what Clever LMS Connect supports and how to start designing your integration. - [Clever LMS Connect - Core Concepts](https://dev.clever.com/docs/core-concepts.md): Understand the Assignment and Submission objects, district-app token authentication, two-hour pagination links, and the 1,800 requests/minute rate limit for Grade Passback. - [Clever LMS Connect - Gradebook Sync Beginner's Guide](https://dev.clever.com/docs/lms-connect-beginners-guide.md): Learn the LMS Connect gradebook sync API by creating assignments, viewing submissions, and updating grades. - [Clever LMS Connect - API Reference](https://dev.clever.com/docs/api-reference.md): Review LMS Connect endpoint behavior, required fields, attachment object fields, and LMS-specific request examples for assignments and submissions. - [Clever LMS Connect - API Errors](https://dev.clever.com/docs/clever-lms-connect-api-errors.md): The table below lists specific Grade Passback API Error messages and what actions trigger the error. - [Clever LMS Connect - LTI 1.3 SSO](https://dev.clever.com/docs/lms-connect-lti-13-sso.md): Understand how Clever LMS Connect supports LTI 1.3 SSO launches, launch context, and course-level routing. - [LTI 1.3 SSO - Testing and End-User Behavior](https://dev.clever.com/docs/lti-13-sso-setup-and-end-user-behavior.md): Test LTI 1.3 SSO in development and understand how LMS launch context supports course-level routing. - [Clever LMS Connect - LMS Provider Differences](https://dev.clever.com/docs/lms-connect-output-behavior.md): Review LMS-specific differences in assignment and submission behavior across Canvas, Google Classroom, and Schoology. - [Clever LMS Connect - Submitting Schoology Submissions](https://dev.clever.com/docs/submitting-schoology-submissions.md): Handle Schoology-specific submission requirements: the required LTI launch before updates, and its lack of support for the Link attachment type. - [Testing Your LMS Connect Integration](https://dev.clever.com/docs/testing-your-lms-connect-integration.md): Test your Clever LMS Connect integration before certification by validating assignment, submission, and optional LTI 1.3 SSO workflows. - [Clever LMS Connect Certification Guide](https://dev.clever.com/docs/lms-connect-certification-guide.md): Review LMS Connect certification requirements for assignment creation, updates, deletion, and submission handling before submitting your integration for review. ## Attendance Data - [Attendance Data API Overview](https://dev.clever.com/docs/attendance-data-overview.md): This page will cover the main use cases supported by attendance data and a general outline of how it works. - [Attendance Data - Overview](https://dev.clever.com/docs/attendance-data-how-does-it-work.md): Understand how districts ingest attendance via SFTP CSV upload, how incremental updates work, and Clever's 6-month attendance data retention policy. - [Attendance Data - Pagination](https://dev.clever.com/docs/attendance-data-pagination.md): Paginate Attendance API results with a base64-encoded starting_after cursor built from date, student, section, and school IDs. ## Optional - [Clever Single Sign-On Assets](https://dev.clever.com/docs/clever-sso-assets.md): Clever-branded assets you can use as SSO buttons on your site. - [Log in with Clever ("LIWC") iOS Update](https://dev.clever.com/docs/liwc-ios-update.md): Update a native iOS Log in with Clever implementation that still depends on the deprecated Clever iOS SDK. - [Moodle SSO Integration Guide](https://dev.clever.com/docs/moodle-sso-integration-guide.md): Configure OAuth 2 SSO between Moodle and Clever, set up the Clever or Custom OAuth service, and handle Clever Portal-initiated logins missing a state parameter.