Follow the simple list below to learn about the Sage 50 Cloud API


Sage 50 Cloud platform requires a registration of Developer and 3rd party applications to take advantage of integration services, and get credentials to use it.

Developer onboarding

Required a Developer ID and an Application ID for each application consuming Sage 50 Cloud. Follow next steps:

Note: You need a unique application accounts for each 3rd party application. If you need to register new applications call POST: developers/{developerId}/applications

Integration onboarding

For each Sage 50 application integrated with the 3rd party application you need a unique API Key to access the data. The API Key is achieved when administrator user consents to 3rd party Application, the access to a specific domain, on Sage 50 application.

Get Passcode

The consent process starts getting a Passcode on 3rdparty application.

Call POST: /api/developers/{developerId}/applications/{applicationId}/passcodes giving a ‘secret’ to get a temporary ‘passcode’.

Get API Key

API Key Rotation

When an API key has expired, Sage 50 Cloud returns a 401-http error in ALL operations, except those operations included in API rotation process, to inform the API key must be refreshed.

In the case of expiration 3rd party application has to refresh API key:

3rd party developer is responsible to rotate Api keys on any circumstance. This means 3rd party Application has to be prepared to re-act when receive this type of errors without impacting on customer experience.

Downloading files

Once a user of Sage 50 application has consented a 3rd party application on a domain (e.g. e-Commerce), Sage 50 will upload files for each scope (e.g. Products, Customers, …) with the frequency configured on the application.

Sage 50 Cloud platform will keep the last version file of the scope (uploaded file from Sage 50 installation), and 3rd party application will be notified every time a file is updated.

How does notification work?

Once notification is received, 3rd party application can call a method to get the download required urls of the file: GET: /api/files/{domain}/{scope}, and get download the file from the ‘downloadUrl’ address executing any http file download method.

Downloaded scope file content is a Json format with the schema published on Solutions section.

Managing downloaded File

Scope files uploaded from Sage 50 applications always contain the full data of the scope. Two different cases:

Uploading files

It is the responsibility of the 3r party application to decide when and how often is required to upload files on the platform. Recommendations will depend on the integration use case, and business requirements.

Uploading a file is the mechanism to inform Sage 50 application about new or updated records on the 3rd party application.

The process has the following steps:

Tracking Progress

Once the file is uploaded you can get status information calling GET: trackingUrl and get 'status', 'progress' and 'downloadResultUrl':


When a file is uploaded to Sage 50 Cloud platform, there is a validation process on the platform before file is available to be downloaded by the Sage 50 application.

Status values could be:


Once file is available then Sage 50 downloads it and process file data.

Status values could be:

When 'accepted', 'failed', or 'badRequest' Sage 50 could upload a file with the results of processing. Download results (e.g. Order result) from 'downloadResultUrl'