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).

Tokens
47.1K
Snippets
263
Records
369
Agent score
62%

What's inside Schoology

  1. Overview of Schoology Resource Apps

    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'.
  2. 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.
  3. 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 optional building_code, which serves as a configurable external ID string for synchronization and imports.
  4. 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.
  5. 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.
  6. 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_type is 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
  7. 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).
  8. 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.
  9. 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 an attachments block. If a document is created with both a url and file-attachments, the file-attachments value is prioritized and the url is ignored.
  10. 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.
  11. 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.