Schoology API and Apps Platform Documentation
website·Indexed 32 days ago
https://kendell.dev/schoology-docs-md/Developer documentation for the Schoology platform, covering the REST API, OAuth authentication, and the Apps Platform. Includes guides on building iFrame-based applications, LTI 1.3 support, event triggers, and detailed API references for realms (Districts, Schools, Users, Courses) and objects (Assignments, Attendance, Blog Posts).
What's inside Schoology
- Resource Apps enable users to import content from third-party providers directly into the Resource section of Schoology. Note that Resource Apps do not have access to standard API endpoints; they use a specialized set of import endpoints. When publishing, the app type must be set to 'Resource App'.
Overview of the Schoology REST API
The Schoology API is a RESTful web service that allows developers to programmatically interface with the Schoology system. It enables the same functionality available via the Schoology website—such as viewing course information, managing user profiles, creating events, and sending/receiving private messages—by allowing a client program to make HTTP requests to the API service and process the returned responses.Overview of Building entities
Buildings (also known as campuses) are organizational units used to further separate courses, groups, and users within a single system. They share the same data fields as schools, with the addition of an optionalbuilding_code, which serves as a configurable external ID string for synchronization and imports.Overview of Reminders API
Reminders are user notifications that alert users to complete specific actions within a given realm. They mirror the functionality of the reminder widget on the web. Reminders exist within sections.
Supported reminder types:
ungraded: Notifies course section admins of assignments and revisions that have not yet been graded.resubmitted: Notifies course section admins of assignments and revisions that have not yet been viewed.
Overview of Schoology Event Triggers
Schoology allows school admins to listen for internal school events using a system of Triggers, Targets, and Subscriptions:
- Triggers: Schoology-defined actions that initiate a check for active subscriptions.
- Targets: User-defined destination URLs where event data (Event Objects) is sent.
- Subscriptions: The mapping that links a specific Trigger to a specific Target. A single trigger can have multiple targets, or one target can subscribe to all triggers.
Handle Schoology File objects and conversion statuses
The File object contains metadata about uploaded files. Schoology may provide a 'converted' version of a file to ensure compatibility across devices. Converted file information is only provided if the
converted_typeis Audio (2) or Video (1) and the file is available.Converted Status (
converted_status):- 1: Available
- 2: Pending conversion
- 3: Failed
- 4: Inactive
Converted Type (
converted_type):- 1: Video
- 2: Audio
- 3: Image
- 4: Document
- 5: Unknown
Schoology API Request Requirements
The Schoology API implements a REST architecture and expects requests to strictly follow the HTTP 1.1 protocol. It uses standard HTTP status codes to indicate the outcome of a request (e.g., 200 for success, 403 for permission issues, and 404 for resource not found).Understand the Schoology Apps Platform architecture
The Schoology application platform is an iFrame canvas that loads pages from an external application server. This allows developers to use any server-side programming language to render HTML. Applications can be configured for installation in specific contexts (realms), including User, Course, or Group contexts, allowing the app to change displayed information based on where it is opened.Manage Discussion Threads in Schoology
Discussion threads can be created and managed for the following realms:districts/{id},schools/{id},sections/{id}, andgroups/{id}. Discussion threads cannot be created for the users realm.Understand Schoology Document objects
Documents are standalone files or links supported in Courses and Schools (and exist in schools and sections). Every document must have an attachment; therefore, all returned document objects include anattachmentsblock. If a document is created with both aurlandfile-attachments, thefile-attachmentsvalue is prioritized and theurlis ignored.Understand the Schoology Assignment object
In Schoology, an Assignment is a container used for coursework, tests, and quizzes. Every assignment created automatically generates a corresponding entry in the gradebook. Assignments are scoped to exist within specific sections.Understand the Schoology Course object
In Schoology, Courses act as containers for course sections. They are placeholders and cannot be used to upload documents, assignments, or other objects directly; those must belong to a course section. Courses serve as parent objects to course sections.