Blackbaud Classes API

The Classes API from Blackbaud — 9 operation(s) for classes.

Operations 9

GET /classes Class (List) #
GET /classes/{class_id}/categories Categories for a class #
GET /classes/{class_id}/lineItems LineItems for a class #
GET /classes/{class_id}/lineItems/{li_id}/results Results for a lineItem for a class #
GET /classes/{class_id}/results Results for a class #
GET /classes/{class_id}/students Students for class #
GET /classes/{class_id}/students/{student_id}/results Results for a student for a class #
GET /classes/{class_id}/teachers Teachers for class #
GET /classes/{id} Class by id #

Documentation

📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=57a342f1d7dcde1c28a749fe
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-adnmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-anamg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-conmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-evtmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-fndmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-mktmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-prsmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-revmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-slsmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=alt-volmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=tms-bmapi
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=codetable
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=communication-preference
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-adnmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-anamg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-conmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-evtmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-fndmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-mktmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-prsmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-revmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=crm-volmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=csr-connect
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=customfield
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=fms-rport
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=afe-edcor
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=afe-edems
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=fas-proxy
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=58bdd6c8d7dcde06046081d7
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=56eb17a0a9db9516c46bff6f
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=58bdd5edd7dcde06046081d6
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=gar-gfacr
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=gift-batch
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=gft-gifts
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=grantmaking
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=grants-connect
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=import
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=list
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=lst-lstmg
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=lst-lists
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=membership
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=nxt-data-integration
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=afe-rostr
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=58e3b2597c1af25c58b9c4e3
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=query
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=receivables
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=school
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=rxr-mngmt
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=statistical-unit
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=58e3b2880528ab71c796492e
📖
Documentation
https://developer.sky.blackbaud.com/api-details#api=webhook

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-invoice-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-create-invoice-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-line-item-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-purchase-order-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-credit-memo-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-vendor-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-revenue-batch-row-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-batch-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-batch-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-batch-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-business-process-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-notification-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-ad-hoc-query-execution-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-save-ad-hoc-query-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-ad-hoc-query-execution-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-save-ad-hoc-query-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-ad-hoc-query-get-definition-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-delete-ad-hoc-query-execution-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-constituent-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-individual-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-constituent-summary-profile-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-constituent-address-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-constituent-address-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-constituent-address-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-event-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-event-registrant-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-event-registration-option-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-fundraising-purpose-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-fundraising-purpose-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-fundraising-purpose-recipient-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-fundraising-purpose-recipient-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-fundraising-purpose-recipient-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-recurring-gift-installment-history-list-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-marketing-segment-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-marketing-segment-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-marketing-segment-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-marketing-appeal-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-marketing-appeal-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-marketing-appeal-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-stewardship-plan-steps-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-prospect-plan-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-prospect-steps-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-prospect-manager-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-prospect-contact-report-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-prospect-steps-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-revenue-payment-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-revenue-payment-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-revenue-payment-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-recurring-gift-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-recurring-gift-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-recurring-gift-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-order-patron-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-sales-order-note-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-order-delivery-information-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-order-delivery-information-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-order-ticket-list-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-post-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-job-occurrence-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-edit-job-occurrence-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-job-occurrence-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-job-occurrence-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-volunteer-schedule-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-new-job-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-journal-entry-batch-distribution-data-paged-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-journal-entry-batch-data-paged-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-transaction-batch-import-summary-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-create-charge-import-batch-message-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-create-credit-import-batch-message-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-update-general-ledger-batch-post-run-status-message-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-table-entry-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-code-table-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-table-entry-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-table-entry-edit-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-code-table-create-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-table-entry-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-constituent-consent-add-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-constituent-solicit-code-add-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-constituent-solicit-code-read-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-consent-channel-category-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-consent-category-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/blackbaud/json-schema/blackbaud-constituent-consent-read-collection-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/blackbaud:blackbaud-classes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

blackbaud-classes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Blackbaud Classes API
  x-refined-note:
  - x-apievangelist-provenance differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Classes across 2 of this provider''s published API definitions: blackbaud-general-ledger-api-openapi.yml, blackbaud-oneroster-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.sky.blackbaud.com/generalledger/v1
- url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
security:
- Bb-Api-Subscription-Key: []
  OAuth2: []
tags:
- name: Classes
paths:
  /classes:
    get:
      operationId: ListClasses
      summary: Class (List)
      description: The list of classes
      responses:
        '200':
          description: Returned when the operation is successful. The response body contains a list of class values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassArray'
              example:
              - class_id: 188
                description: Unrestricted Net Assets
                value: Unrestricted Net Assets
                inactive: false
              - class_id: 189
                description: Temporarily Restricted Net Assets
                value: Temporarily Restricted Net Assets
                inactive: false
              - class_id: 190
                description: Permanently Restricted Net Assets
                value: Permanently Restricted Net Assets
                inactive: true
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/generalledger/v1
  /classes/{class_id}/categories:
    get:
      operationId: getCategoriesForClass
      summary: Categories for a class
      description: Returns a collection of categories for a specified ```class_id```.
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the category
      responses:
        '200':
          description: OK - It was possible to read the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoriesOutputModel'
              example:
                categories:
                - title: Homework
                  sourcedId: lic-222-543
                  status: active
                  dateLastModified: '2022-09-26T01:30:00Z'
                - title: Project
                  sourcedId: lic-222-544
                  status: active
                  dateLastModified: '2022-09-26T01:30:00Z'
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{class_id}/lineItems:
    get:
      operationId: getLineItemsForClass
      summary: LineItems for a class
      description: Returns a collection of lineItems for the specified ```class_id```.
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      responses:
        '200':
          description: OK - It was possible to read the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LineItemsOutputModel'
              example:
                lineItems:
                - title: Assignment Title 1
                  description: Assignment Description for Assignment 1
                  assignDate: '2022-09-26T01:30:00Z'
                  dueDate: '2022-09-29T01:30:00Z'
                  class:
                    sourcedId: cls-222-12345
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/cls-222-12345
                    type: class
                  category:
                    sourcedId: lic-222-345
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/categories/lic-222-345
                    type: category
                  gradingPeriod:
                    sourcedId: as-grp-222-6789
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/gradingperiods/as-grp-222-6789
                    type: academicSession
                  resultValueMin: 0
                  resultValueMax: 10
                  sourcedId: external-lineitem-sourcedId
                  status: active
                  dateLastModified: '2022-09-26T01:30:00Z'
                - title: Assignment Title 2
                  description: Assignment Description for Assignment 2
                  assignDate: '2022-09-26T01:30:00Z'
                  dueDate: '2022-09-29T01:30:00Z'
                  class:
                    sourcedId: cls-222-12345
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/classes/cls-222-12345
                    type: class
                  category:
                    sourcedId: lic-222-345
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/categories/lic-222-345
                    type: category
                  gradingPeriod:
                    sourcedId: as-grp-222-6789
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/gradingperiods/as-grp-222-6789
                    type: academicSession
                  resultValueMin: 0
                  resultValueMax: 10
                  sourcedId: external-lineitem-sourcedId
                  status: active
                  dateLastModified: '2022-09-26T01:30:00Z'
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{class_id}/lineItems/{li_id}/results:
    get:
      operationId: getResultsForLineItemForClass
      summary: Results for a lineItem for a class
      description: Returns a collection of results for the specified ```class_id``` and ```li_id```.
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      - name: li_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the lineItem
      responses:
        '200':
          description: OK - It was possible to read the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultsOutputModelSvc'
              example:
                results:
                - scoreStatus: fully graded
                  scoreDate: '2022-03-15T01:30:00Z'
                  score: 88
                  comment: Result comment
                  lineItem:
                    sourcedId: <external-lineitem-id>
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/lineitems/<external-lineitem-ID>
                    type: lineItem
                  student:
                    sourcedId: usr-222-12345678
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/cls-222-12345678
                    type: user
                  sourcedId: <external-result-ID>
                  status: active
                  dateLastModified: '2022-03-15T01:30:00Z'
                - scoreStatus: fully graded
                  scoreDate: '2022-03-15T01:30:00Z'
                  score: 88
                  comment: Result comment
                  lineItem:
                    sourcedId: <external-lineitem-id>
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/lineitems/<external-lineitem-ID>
                    type: lineItem
                  student:
                    sourcedId: usr-222-12345677
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/cls-222-12345677
                    type: user
                  sourcedId: <external-result-ID>
                  status: active
                  dateLastModified: '2022-03-15T01:30:00Z'
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{class_id}/results:
    get:
      operationId: getResultsForClass
      summary: Results for a class
      description: Returns a collection of results for a specified ```class_id```.
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      responses:
        '200':
          description: OK - It was possible to read the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultsOutputModelSvc'
              example:
                results:
                - scoreStatus: fully graded
                  scoreDate: '2022-03-15T01:30:00Z'
                  score: 88
                  comment: Result comment
                  lineItem:
                    sourcedId: <external-lineitem-id>
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/lineitems/<external-lineitem-ID>
                    type: lineItem
                  student:
                    sourcedId: usr-222-12345678
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/cls-222-12345678
                    type: user
                  sourcedId: <external-result-ID>
                  status: active
                  dateLastModified: '2022-03-15T01:30:00Z'
                - scoreStatus: fully graded
                  scoreDate: '2022-03-15T01:30:00Z'
                  score: 88
                  comment: Result comment
                  lineItem:
                    sourcedId: <external-lineitem-id>
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/lineitems/<external-lineitem-ID>
                    type: lineItem
                  student:
                    sourcedId: usr-222-12345677
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/cls-222-12345677
                    type: user
                  sourcedId: <external-result-ID>
                  status: active
                  dateLastModified: '2022-03-15T01:30:00Z'
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{class_id}/students:
    get:
      operationId: getStudentsForClass
      summary: Students for class
      description: Returns a collection of student user data for the specified ```class_id```.
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersOutputModel'
              example:
                users:
                - username: mary.jones@myschool.com
                  userIds:
                  - type: stateId
                    identifier: NH-345-678
                  - type: StudentId
                    identifier: '100021'
                  enabledUser: 'true'
                  givenName: Mary
                  familyName: Jones
                  middleName: Jane
                  role: student
                  identifier: '66778899'
                  email: mary.jones@myschool.com
                  sms: '6031234567'
                  phone: '6031234567'
                  agents:
                  - sourcedId: usr-p-222-66778900
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/ousr-p-222-66778900
                    type: user
                  orgs:
                  - sourcedId: org-sch-222-456
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/orgs/org-sch-222-456
                    type: org
                  grades:
                  - '12'
                  sourcedId: usr-222-66778899
                  status: active
                  dateLastModified: '2022-12-12T11:00:00Z'
                  metadata:
                    grade: 12th Grade
                    stateId: NH-345-678
                    address1: 1234 Elm Street
                    address2: Apartment 3C
                    address3: basement
                    city: Manchester
                    state: NH
                    postCode: 03101-1001
                    microsoft.userFlags: iep,ell,freeLunch
                    title: Sr. Customer Support Analyst
                - username: jim.smith@myschool.com
                  enabledUser: 'true'
                  givenName: Jim
                  familyName: Smith
                  role: student
                  identifier: '987654'
                  email: jim.smith@myschool.com
                  orgs:
                  - sourcedId: org-sch-222-456
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/orgs/org-sch-222-456
                    type: org
                  grades:
                  - '11'
                  sourcedId: usr-222-987654
                  status: active
                  dateLastModified: '2022-12-12T11:00:00Z'
                  metadata:
                    grade: 11th Grade
                    microsoft.userFlags: reducedLunch
                    title: Salesperson
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{class_id}/students/{student_id}/results:
    get:
      operationId: getResultsForStudentForClass
      summary: Results for a student for a class
      description: Returns a collection of results for a specified ```class_id``` and ```student_id```.
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      - name: student_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the student
      responses:
        '200':
          description: OK - It was possible to read the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultsOutputModelSvc'
              example:
                results:
                - scoreStatus: fully graded
                  scoreDate: '2022-03-15T01:30:00Z'
                  score: 88
                  comment: Result comment
                  lineItem:
                    sourcedId: <external-lineitem-id>
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/lineitems/<external-lineitem-ID>
                    type: lineItem
                  student:
                    sourcedId: usr-222-12345678
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/cls-222-12345678
                    type: user
                  sourcedId: <external-result-ID>
                  status: active
                  dateLastModified: '2022-03-15T01:30:00Z'
                - scoreStatus: fully graded
                  scoreDate: '2022-03-15T01:30:00Z'
                  score: 88
                  comment: Result comment
                  lineItem:
                    sourcedId: <external-lineitem-id>
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/lineitems/<external-lineitem-ID>
                    type: lineItem
                  student:
                    sourcedId: usr-222-12345677
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/users/cls-222-12345677
                    type: user
                  sourcedId: <external-result-ID>
                  status: active
                  dateLastModified: '2022-03-15T01:30:00Z'
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{class_id}/teachers:
    get:
      operationId: getTeachersForClass
      summary: Teachers for class
      description: 'Returns a collection of teacher user data for the specified ```class_id```.


        Roles returned include:


        Teacher


        Pending Teacher'
      parameters:
      - name: class_id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersOutputModel'
              example:
                users:
                - username: john.doe@myschool.com
                  enabledUser: 'true'
                  givenName: John
                  familyName: Doe
                  middleName: Michael
                  role: teacher
                  identifier: '123456'
                  email: john.doe@myschool.com
                  sms: '6037778888'
                  phone: '6032221111'
                  orgs:
                  - sourcedId: org-sch-222-456
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/orgs/org-sch-222-456
                    type: org
                  sourcedId: usr-222-123456
                  status: active
                  dateLastModified: '2022-12-12T11:00:00Z'
                  metadata:
                    stateId: NH-987-654
                    address1: 5555 Main Street
                    address2: Apartment 255
                    city: Nashua
                    state: NH
                    postCode: 03060-6006
                    title: Dean of Curricula
                - username: jane.doe@myschool.com
                  enabledUser: 'true'
                  givenName: Jane
                  familyName: Doe
                  role: teacher
                  identifier: '654321'
                  email: jane.doe@myschool.com
                  sms: '6179998888'
                  phone: '6173334444'
                  orgs:
                  - sourcedId: org-sch-222-456
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/orgs/org-sch-222-456
                    type: org
                  sourcedId: usr-222-654321
                  status: active
                  dateLastModified: '2022-12-12T11:00:00Z'
                  metadata:
                    stateId: NH-987-654
                    address1: 321 Washington Street
                    city: Lowell
                    state: MA
                    postCode: 03111-7007
                    title: Head of Admissions
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
  /classes/{id}:
    get:
      operationId: getClass
      summary: Class by id
      description: Returns a specific class.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: sourcedId for the class
      responses:
        '200':
          description: OK - It was possible to read the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassOutputModel'
              example:
                class:
                  title: Introduction to Physics
                  classCode: Phys 100 - 1
                  classType: Scheduled
                  location: Room 2B
                  grades:
                  - '10'
                  - '11'
                  subjects:
                  - Science
                  course:
                    sourcedId: crs-222-2023-456-12345
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/course/crs-222-2023-456-12345
                    type: course
                  school:
                    sourcedId: org-sch-222-456
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/orgs/org-sch-222-456
                    type: org
                  terms:
                  - sourcedId: as-trm-222-1234
                    href: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/academicSessions/as-trm-22-1234
                    type: academicSession
                  periods:
                  - B
                  sourcedId: cls-222-123456
                  status: active
                  dateLastModified: '2022-09-26T01:30:00Z'
                  metadata:
                    department_0: org-dpt-222-3456
                    lead_section: cls-222-123456
      tags:
      - Classes
    servers:
    - url: https://api.sky.blackbaud.com/afe-rostr/ims/oneroster
components:
  schemas:
    ClassArray:
      type: array
      items:
        $ref: '#/components/schemas/Class'
    Class:
      description: Account class.
      type: object
      properties:
        class_id:
          format: int32
          description: The class identifier.
          type: integer
          x-ms-summary: Class id
        description:
          description: The description for this class.
          type: string
          x-ms-summary: Description
        value:
          description: The value for this class.
          type: string
          x-ms-summary: Value
        inactive:
          description: Indicate if record is inactive or not.
          type: boolean
          x-ms-summary: Inactive
      x-display-name: Class
      x-ms-summary: Class
    ResultModelSvc:
      type: object
      properties:
        scoreStatus:
          type:
          - string
          - 'null'
          description: Score status
        scoreDate:
          type:
          - string
          - 'null'
          description: Score date
          format: date-time
        score:
          type:
          - number
          - 'null'
          description: Score
          format: double
        comment:
          type:
          - string
          - 'null'
          description: Comment
        lineItem:
          $ref: '#/components/schemas/GuidRefModel'
        student:
          $ref: '#/components/schemas/GuidRefModel'
        sourcedId:
          type:
          - string
          - 'null'
          description: Unique identifier for the instance
        status:
          type:
          - string
          - 'null'
          description: Status for the instance
        dateLastModified:
          type:
          - string
          - 'null'
          description: Date and time the instance was last modified
          format: date-time
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: Extension properties for the instance
      additionalProperties: false
      description: Results model
    StatusInfoModel:
      type: object
      properties:
        imsx_codeMajor:
          type:
          - string
          - 'null'
        imsx_severity:
          type:
          - string
          - 'null'
        imsx_messageRefIdentifier:
          type:
          - string
          - 'null'
        imsx_operationRefIdentifier:
          type:
          - string
          - 'null'
        imsx_description:
          type:
          - string
          - 'null'
        imsx_codeMinor:
          type:
          - string
          - 'null'
      additionalProperties: false
    CategoryModel:
      type: object
      properties:
        title:
          type:
          - string
          - 'null'
        sourcedId:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
        dateLastModified:
          type:
          - string
          - 'null'
          format: date-time
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
      additionalProperties: false
    UserIdModel:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        identifier:
          type:
          - string
          - 'null'
      additionalProperties: false
    ClassesOutputModel:
      type: object
      properties:
        classes:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ClassModel'
        statusInfoSet:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/StatusInfoModel'
      additionalProperties: false
    LineItemModel:
      type: object
      properties:
        title:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        assignDate:
          type:
          - string
          - 'null'
          format: date-time
        dueDate:
          type:
          - string
          - 'null'
          format: date-time
        class:
          $ref: '#/components/schemas/GuidRefModel'
        category:
          $ref: '#/components/schemas/GuidRefModel'
        gradingPeriod:
          $ref: '#/components/schemas/GuidRefModel'
        resultValueMin:
          type:
          - number
          - 'null'
          format: double
        resultValueMax:
          type:
          - number
          - 'null'
          format: double
        sourcedId:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
        dateLastModified:
          type:
          - string
          - 'null'
          format: date-time
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
      additionalProperties: false
    ClassOutputModel:
      type: object
      properties:
        class:
          $ref: '#/components/schemas/ClassModel'
        statusInfoSet:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/StatusInfoModel'
      additionalProperties: false
    ClassModel:
      type: object
      properties:
        title:
          type:
          - string
          - 'null'
        classCode:
          type:
          - string
          - 'null'
        classType:
          type:
          - string
          - 'null'
        location:
          type:
          - string
          - 'null'
        grades:
          type:
          - array
          - 'null'
          items:
            type: string
        subjects:
          type:
          - array
          - 'null'
          items:
            type: string
        course:
          $ref: '#/components/schemas/GuidRefModel'
        school:
          $ref: '#/components/schemas/GuidRefModel'
        terms:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GuidRefModel'
        subjectCodes:
          type:
          - array
          - 'null'
          items:
            type: string
        periods:
          type:
          - array
          - 'null'
          items:
            type: string
        resources:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GuidRefModel'
        sourcedId:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
        dateLastModified:
          type:
          - string
          - 'null'
          format: date-time
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
      additionalProperties: false
    CategoriesOutputModel:
      type: object
      properties:
        categories:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CategoryModel'
        statusInfoSet:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/StatusInfoModel'
      additionalProperties: false
    UsersOutputModel:
      type: object
      properties:
        users:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ORUserModel'
        statusInfoSet:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/StatusInfoModel'
      additionalProperties: false
    ORUserModel:
      type: object
      properties:
        username:
          type:
          - string
          - 'null'
        userIds:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UserIdModel'
        enabledUser:
          type:
          - boolean
          - 'null'
        givenName:
          type:
          - string
          - 'null'
        familyName:
          type:
          - string
          - 'null'
        middleName:
          type:
          - string
          - 'null'
        role:
          type:
          - string
          - 'null'
        identifier:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        sms:
          type:
          - string
          - 'null'
        phone:
          type:
          - string
          - 'null'
        agents:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GuidRefModel'
        orgs:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GuidRefModel'
        grades:
          type:
          - array
          - 'null'
          items:
            type: string
        password:
          type:
          - string
          - 'null'
        sourcedId:
          type:
          - string
          - 'null'
        status:
          type:
          - string
          - 'null'
        dateLastModified:
          type:
          - string
          - 'null'
          format: date-time
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
      additionalProperties: false
    LineItemsOutputModel:
      type: object
      properties:
        lineItems:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/LineItemModel'
        statusInfoSet:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/StatusInfoModel'
      additionalProperties: false
    GuidRefModel:
      type: object
      properties:
        sourcedId:
          type:
          - string
          - 'null'
        href:
          type:
          - string
          - 'null'
        type:
          type:
          - string
          - 'null'
      additionalProperties: false
    ResultsOutputModelSvc:
      type: object
      properties:
        results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ResultModelSvc'
          description: Results
        status_info_set:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/StatusInfoModel'
          description: List of status messages
      additionalProperties: false
      description: Result
  securitySchemes:
    Bb-Api-Subscription-Key:
      type: apiKey
      name: Bb-Api-Subscription-Key
      in: header
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.blackbaud.com/oauth/authorize
          tokenUrl: https://oauth2.sky.blackbaud.com/token
          scopes: {}
x-refined-from:
- blackbaud-general-ledger-api-openapi.yml
- blackbaud-oneroster-api-openapi.yml