openapi: 3.2.0 info: title: Schoology Event Triggers (Webhooks) Events API description: 'Schoology''s documented webhook surface, called "Event Triggers". Schoology-defined actions ("triggers") fire against user-defined HTTP endpoints ("targets") that are linked via "subscriptions". Schoology POSTs event objects to the configured target URL and expects an HTTP 200 response. If a non-200 is received, the event is requeued and retried up to 5 times at 10 minute intervals, after which it is dropped. Source: https://developers.schoology.com/api-documentation/rest-api-triggers-v1/ Event objects: https://developers.schoology.com/api-documentation/rest-api-triggers-v1/event_objects/ ' version: '1.0' servers: - url: https://api.schoology.com/v1 description: Schoology REST API v1 security: - OAuth: [] tags: - name: Events paths: {} webhooks: eventObject: post: summary: Receive event object description: 'Schoology POSTs an event object to the configured target URL when a subscribed trigger fires. The target must respond with HTTP 200. Non-200 responses are retried up to 5 times at 10 minute intervals. ' operationId: receiveEventObject tags: - Events requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EventObject' responses: '200': description: Acknowledgement. Anything other than 200 causes a retry. components: schemas: EventObject: type: object description: Payload Schoology POSTs to a target when a subscribed trigger fires. properties: uid: type: string description: Identifies who triggered the event. timestamp: type: string description: When the event occurred. type: type: string description: Trigger category and operation in the form "trigger_name.operation" (for example "grade_item.update", "grade_item.delete"). data: type: object description: Contextual information about what happened or changed. properties: realm: type: string description: Realm context (course, group, section, school, district). realm_id: type: string description: Identifier within the realm. object: type: object description: Identical to the object returned from a GET list or single GET call for the resource (included when include_object is 1). required: - uid - timestamp - type securitySchemes: OAuth: type: oauth2 description: OAuth 1.0a / 2.0 per Schoology Authentication docs. flows: authorizationCode: authorizationUrl: https://api.schoology.com/v1/oauth/authorize tokenUrl: https://api.schoology.com/v1/oauth/access_token scopes: {}