GET sections returns many duplicate entries

We're calling the /school/v1/academics/sections endpoint for a specific level and year, and the response for one school contains many duplicate entries. We can see 9 entries for each section id.

Searching past discussions, I believe this might be related to the use of advanced lists by the school (?). What is the reasoning for all those duplicates in this API's response? We're getting more than 11000 sections for a single year for that school. We're filtering them on our side, but it causes a longer delay, which would be nice to avoid when possible.

Comments

  • Brian Gray
    Brian Gray Community All-Star
    Eighth Anniversary Kudos 5 First Reply bbcon 2025 Attendee Badge

    @Martin Plante - The response from the API call has nothing to do with Advanced Lists. Those are two different ways to access your data. (There is an API endpoint to read the results of an Advanced List, but that's not the endpoint you asked about.)

    The Academic Sections by school level endpoint (/school/v1/academics/sections) returns an entry for each section in each academic term. My school has three terms (fall, winter, and spring), so I get three entries for each section.

    A section's entries in the list for each term are very similar, but they are different.

    • The ID field is different for each term
    • The duration ID and name will be different each term
    • The lead_section_id field is the same for each term, and will match one of the term IDs
    • the list of teachers may be the same or may be different, depending on who has been assigned for each term.

    How many academic terms do you have defined?

  • @Brian Gray That's not what I see. The response really contains 9 of each section id. There are three terms in that school, so we see 27 sections for each lead section.

    We are evaluating if bad paging implementation could be in cause.

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 First Reply Name Dropper

    @Martin Plante
    Please do get this to the Support team (support.blackbaud.com). If there is a problem with the endpoint, that is the best way to find the culprit as well as track the problem appropriately.

    If you have trouble reporting it, let me or @Todd DeSchuiteneer know and we will work it out.

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 First Reply Name Dropper

    @Martin Plante
    A fix for this went out yesterday. Let me know if you aren't seeing the right data now.

    It was returning ‘dupe’ rows for each grade level and department, so that a list in the UI could then show that info in a list. The API was affected and needed to account for the extra rows.

  • @Stephen Boyle
    Thanks! Looks good from the dev portal tests. Won't be able to confirm in production just yet, we added explicit code to remove those duplicates.

  • @Stephen Boyle now it looks like the endpoint is missing a huge number of sections.

    For one school, as of today the response to /sections?level_num=XXXX&school_year=2022-2023 only contains a fraction of the total sections, and only ONE of which is listed with 2nd semester duration. This endpoint is critical for our product in determining all sections in an active term. Currently, many schools now have essentially 0 rosters showing up in our product.

    Our current hypothesis is that sections offered in multiple terms are only included in the response once and with the FIRST term in which they're offered.

    I opened up a case with support, but I'm posting here too as this issue affects our customers' production data and we need to resolve ASAP.

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 First Reply Name Dropper

    @Joey Nutinsky
    Good catch! That is exactly what happened. Fixed now.

Categories