Protocol definitions are import for service-oriented architecture. Major protocols used by components of the A+ LMS are listed here. Some of the protocols are created by the project and have documentation here. For the rest, links are provided to respective documentations. Additionally, links to machine readable definitions (e.g. gRPC files) are provided when available.

Content service interfaces

Protocols to retrieve and manage course or other study material. These protocols are between the client (tool used to read the material) or the LMS and the service providing the content.

Assessment service interfaces

Protocols for the LMS to retrieve exercises and to request assessments for submissions.

Assessment presentation formats

Protocols to support formatting exercise definitions and feedback.

Browser interface for interactive exercises

Protocols in the web view of the LMS.


A webhook is web requests made when a specific events occur. The request contains data about the event. These enable creating a reactive network of services.