Skip to content
Developerhome
Accounting
API Status:

Checking…

Frequently Raised Errors

  Less than to read

Authorization

Email already in use

When calling the auth URL you are redirected to your callback with the following query parameters:

error=Invalid+request&
reason=Email+already+in+use
  • Please make sure to sign up a new trial account for the desired country using the links in the table above. You cannot use your Sage Developer Account for signing into Sage Accounting, as it is not linked to any business.
  • If you cannot see the country selection page during the authorization process, please visit https://sageone.com/?clear to clear all cookies before the authorization with Sage Accounting.
  • Ensure that the business you are signing in with belongs to the same country you select on the country page. Otherwise, you will get this error returned as well.

Token Refresh, Token Exchange

Status Code 400 - Invalid Grant

Getting a 400 HTTP error response during token exchange (POST https://oauth.accounting.sage.com/token) with

{
  "error": "invalid_grant"
}

This is often caused by the token or code used being invalid or having expired. It will expire after 60 seconds and is for a single use.

It could also be caused by the grant type, which must be set to authorization_code or refresh_token depending on what you are using.

One other potential cause is that the redirect_uri used in the request does not match the one registered exactly. It must match character for character.

API Calls

Status Code 401 - Authorization Failure: No active subscription. (MSE)

[
  {
    "$severity": "error",
    "$dataCode": "AuthorizationFailure",
    "$message": "No active subscription. (MSE)",
    "$source": ""
  }
]

This means the trial period of the business has expired or the business has canceled their subscription to Accounting. When this happens with the business you are developing with, we kindly recommend signing up a new business with a fresh trial period.

Status Code 403 - Forbidden

[
  {
    "$severity": "error",
    "$dataCode": "MultiUserAccessDenied",
    "$message": "The current user is not allowed to access that resource with that method.",
    "$source": ""
  }
]

In v3.1 access rights are implemented allowing any user to authenticate and make requests of the modules of Accounting they have been given permission to use. A 403 message can be thrown if the user does not have the required permission to make a request (e.g. Read only access to contacts would result in an error if a POST request was sent). To manage the access rights for users you can access the Settings option and then Manage Users in the Sage Accounting application.

Status Code 404 - Not Found

If you encounter this error, it is normally caused by making a request using an invalid or incorrect endpoint.

For example: A client has used an invalid id of the requested resource or even called an unknown resource (customers instead of contacts).

Status Code 500 - Unexpected Error

Oh no, it happened again.

[
  {
    "$severity": "error",
    "$dataCode": "UnexpectedError",
    "$message": "An unexpected error occurred.",
    "$source": ""
  }
]

While the green path within the API is thoroughly tested, some edge cases may result in such 500 error responses. This may be unsatisfying, but the only short term solution we can offer is to play around with input parameters and see if you can get the request back on the green path.

The longer term solution is to inform us and help us to deliver a fix more quickly by providing additional information, like the request Id, the request body or other circumstance that help us to reproduce the error. We do monitor 500 responses and constantly try to reduce them, but in many occasions this additional information really helps us.