One nitpick: it always feel weird to me to have an error (or any other object) where the attributes are named like this:
{
"errorCode": "E0000001",
"errorSummary": "Api validation failed",
"errorLink": "E0000001",
"errorId": "oaeHfmOAx1iRLa0H10DeMz5fQ",
"errorCauses": [
{
"errorSummary": "login: An object with this field already exists in the current organization"
}
]
}
Good error handling, easy to get started, and they provide Postman collections for each API