Error saving score via OneRoster API: "PutResult: LineItemHasGradingScale",

We handle data integrations from educational apps to SIS's. In this case we are sync'ing data from MS Teams to Blackbaud, via the OneRoster API.

Request: PUT /results/e0d894c0-6f56-698d-2c1a-137f55fea0ef
Payload:
{
"result": {
"sourcedId": "e0d894c0-6f56-698d-2c1a-137f55fea0ef",
"externalId": "e0d894c0-6f56-698d-2c1a-137f55fea0ef",
"status": "active",
"lineItem": {
"sourcedId": "a51541ce-75ac-48d8-933b-1447f8f8e1f8"
},
"student": {
"sourcedId": "xxxxx-xxxxxxxxx"
},
"comment": "Testing: Here is a fake comment for this fake assessment.",
"scoreStatus": "submitted",
"score": 7,
"scoreDate": "2024-11-06T15:38:29.896060Z"
}
}

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

Our customer informs us that they have a grading scale setup in Blackbaud with values 1,2,3,4,5,6,7.

We have tried multiple permutations for the payload we are sending but continually get this error. I'm looking for advice.

Comments

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

    @Dale Bronk
    The short answer is that we don't support grade scale grades for OneRoster results. The OneRoster standard only allows numeric scores for the results object.

    7040d46a3b727ab5a3980b003dbb9b9d-huge-im

    A grade scale, where the grades are “1”, “2”, “3” instead of “A”, “B”, “C”, is an interesting twist. The assignment is looking for a Grade Scale grade but is receiving a numeric value from the PUT, so it returns the error.

    I believe the assignment would need to be numeric instead of grade scale.

  • @Stephen Boyle thanks for the reply. I have 3 follow-up questions.

    1. If the grading scale is setup in Blackbaud as 1, 2, 3, 4, 5, 6, 7 and we are sending in, for example, a 4 why does it error out? I would think that the value of 4 would match one of the grading scale marks and all would be good in the world.
    2. Is there a different API, or csv even, that we could use instead of OneRoster?
    3. I know that OneRoster v1p2 allows for non numeric scores. That version has been out for a couple years now. When will Blackbaud be implementing v1p2?

    Thanks again. Just trying to serve our common customer and right now I've got a roadblock on getting the customers grades into Blackbaud.

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

    @Dale Bronk
    1. The assignment is expecting a grade scale grade AND it “knows” that OneRoster delivers numeric grades, so it throws the error.

    2. There are no POST/PATCH endpoints in SKY API for the gradebook, yet.

    3. OneRoster v1.2 is part of our future backlog, but not in the immediate future.

  • @Stephen Boyle Thanks. Just so I'm clear… There is no way of putting a grade into Blackbaud when the assignment uses a grading scale other than the Blackbaud UI? Is using CSV's and option or are we just completely blocked?

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

    @Dale Bronk

    Yes, that is true for now.

Categories