Catch-22 for assignments with letter grades: You can't post a number score through OneRoster because there's a letter grading scale; you can't post a letter because OneRoster requires a number

We're unable to post scores for assignments that have letter grading scales. Has anyone else encountered this/have a workaround?

Steps to reproduce

  • Enable a letter grading scale for an assignment (A+, A, A-, B+, etc.).
  • Post a score for a student through OneRoster.

    PUT https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/results/3333333333333

    {
    "result": {
    "scoreStatus": "fully graded",
    "scoreDate": "2025-05-16T09:10:04Z",
    "score": 100,
    "comment": null,
    "lineItem": {
    "sourcedId": "1111111111111",
    "href": null,
    "type": "lineItem"
    },
    "student": {
    "sourcedId": "usr-2222-2222222",
    "href": null,
    "type": "user"
    },
    "sourcedId": "3333333333333",
    "status": "fully graded",
    "dateLastModified": "2025-05-16T14:55:02Z",
    "metadata": null
    }
    }

Expected result

  • The score is posted.

Actual result

  • Response:

    {
    "statusInfoSet": [
    {
    "imsx_codeMajor": "failure",
    "imsx_severity": "error",
    "imsx_operationRefIdentifier": "putResult",
    "imsx_description": "PutResult: LineItemHasGradingScale",
    "imsx_codeMinor": "invalid_data"
    }
    ]
    }

If we send a string letter grade, that also fails:

  • PUT https://api.sky.blackbaud.com/afe-rostr/ims/oneroster/v1p1/results/3333333333333

    {
    "result": {
    "scoreStatus": "fully graded",
    "scoreDate": "2025-05-16T09:10:04Z",
    "score": "A+",
    "comment": null,
    "lineItem": {
    "sourcedId": "1111111111111",
    "href": null,
    "type": "lineItem"
    },
    "student": {
    "sourcedId": "usr-2222-2222222",
    "href": null,
    "type": "user"
    },
    "sourcedId": "3333333333333",
    "status": "fully graded",
    "dateLastModified": "2025-05-16T14:55:02Z",
    "metadata": null
    }
    }
  • Response:

    {
    "statusInfoSet": [
    {
    "imsx_codeMajor": "failure",
    "imsx_severity": "error"
    }
    ]
    }

Comments

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

    @Eric Eskildsen
    This is a known limitation of OneRoster, but we do have this in our backlog to research ways to solve it. I have a tentative plan that might not survive the vetting by the dev team, but rest assured we are looking at this.

  • @Stephen Boyle Is there any ETA on when the team may look at that, or is that yet to be determined?

    I'm wondering whether it would be worth looking into alternative solutions like RPA for some of this type of grade entry or not if a OneRoster solution/workaround is on the horizon.

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

    @Eric Eskildsen
    I'll know based on the dev team review. That will be in the next few days. Then the actual timing will depend on how big a lift the change is. If it is straightforward, then I'd the timeframe in the “month or two” range, as we could fit that level of work alongside our current priorities.

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

    @Eric Eskildsen
    The PUT Result has been updated to convert number scores to letter grades for assignments that require letter grades in BB's gradebook. The change will be in the 6/24 release.

  • @Stephen Boyle Awesome, thanks, Stephen!