AnsweredAssumed Answered

REST API - How to get detailed error responses from BB Learn instance?

Question asked by vhewaya on Oct 26, 2018
Latest reply on Nov 8, 2018 by vhewaya


In order for our Grade Sync feature we require some detailed responses from the REST routes that we have consumed, especially with the error responses. According to the Learn API contract (Explore APIs), for the routes that we are consuming it shows that for error responses these information are included :

 

RestException {

status (string , optional): Represents HTTP Status code in the response header,

code (string, optional): The error code specific to a particular REST API. It is usually something that conveys information specific to the problem domain. For cases where the HTTP Status code conveys all the information required (such as a 404-Not Found) then the code may be omitted,

message (string): Error message that should be easy to understand and convey a concise reason as to why the error occurred,

developerMessage (string, optional): Represents any technical information that a developer calling REST API might find useful,

extraInfo (string, optional): Indicates a URL that anyone seeing the error message can click in a browser. The target web page should describe the error condition fully, as well as potential solutions to help them resolve the error condition

}

However, the actual responses for the routes we are using have only certain information included. i.e :

     EXAMPLE 1 :

    {

    "status": 403,

    "message": ": Attempting to alter grades from another course",

    "extraInfo": "a133b80e815f42139a9fd168e2caa7b3"

    }

 

Above response is from the Update column Grade (PATCH):

/learn/api/public/v1/courses/{courseId}/gradebook/columns/{columnId}/users/{userId}

where the column has been deleted prior to calling this patch request.

 

However, this information is insufficient for us. Is there anyway we can differentiate between these errors, such as a error code in order to isolate above error scenarios instead of just a common status code such as 400 or 403 as these codes could belong to many scenarios?

Outcomes