Course Request Returns Activity Requests Not Just Academics

Just so others are aware, the course request API will also return requests students make for activities:

https://developer.sky.blackbaud.com/api#api=school&operation=V1AcademicsCourserequestsGet

Our school is trying to use the "Course Request" function out of BBEM to allow students to sign up for activities, but as I started to look into it, I realized that what I thought was an academic API is actually returning both sets of data.

https://api.sky.blackbaud.com/school/v1/academics/courserequests[?school_year][&school_level][&course_id][&status][&enrollment_status][&page][&size]

@Stephen Boyle is this expected?

Tagged:

Answers

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 Name Dropper Participant

    I honestly can't remember. We didn't limit this endpoint to the one offering type, and we return the offering type with the "course" so the types are easily discernable. I can update the endpoint description to be more clear about the breadth of the output, and I can investigate adding an offering type filter, if you typically need to limit output in that way.

    There are other endpoints under Academics with similar behaviors, such as Academics student enrollment list, which brings back enrolled sections for all the A's (Academics, Activities, Advisories, Athletics). So, this isn't totally unprecedented.

  • Thanks, Stephen. I think it might have been my own assumption as the other "Activity" specific APIs, have "activities" in the URL:

    As an example: the Activities Roster:

    https://api.sky.blackbaud.com/school/v1/activities/rosters[?school_year][&school_level][&section_ids][&last_modified]

    The Academic Courses:

    https://api.sky.blackbaud.com/school/v1/academics/courses[?department_id][&level_id]

    I naturally those that the "academics" was associated to academics and activities was associated to "activities" as a natural filter.

    I appreciate the clarification and we will look through our various configurations to ensure we're filtering these accordingly as they are not the same from our perspective.