Sage Intacct REST
Provides integration into Sage Intacct via its REST API.
Revision History
1.0.0.0 Initial Release
Properties
Connection
Type: Connection Input
The Connection Property
ClientId
Type: String
The Client Id for the Developer App that links to your Sage Intacct Web Services license.
ClientSecret
Type: String
The Client Secret for the Developer App that links to your Sage Intacct Web Services license.
AccessToken
Type: Password
OAuth access token generated when connecting your account to Sage Intacct.
RefreshToken
Type: Password
OAuth refresh token generated when connecting your account to Sage Intacct. Used to refresh the AccessToken on expiry.
OperationId
Type: String Input
The internal ID of the selected Sage Intacct operation. This is set automatically when a sample is selected.
Description
Type: String Input
A short description of the selected Sage Intacct operation. Display only; this value is set automatically when a sample is selected.
Headers
Type: Multiline Text Input
Optional HTTP headers to include in the request.
Request
Type: JSON Input
The JSON body of the request, used for create/update operations. Define the data you want to send to Sage Intacct here.
ResponseCode
Type: String Output
The HTTP status code returned after the request completes, such as 200 (OK), 400 (Bad Request), or 404 (Not Found).
ResponseHeaders
Type: Multiline Text Output
The HTTP headers returned in the response from Sage Intacct. Useful for reviewing metadata or diagnosing issues.
Response
Type: JSON Output
The JSON body returned in the response from Sage Intacct. This contains the data returned by the selected operation.
Setup
In order to make REST API calls to Sage Intacct, you will need a Sage Intacct Web Services developer license, and a Sage App Registry account and app.
To get a Sage Intacct Web Services developer license, contact your Sage account manager. See https://developer.intacct.com/web-services/ for additional information. Once this has been established, you will be given a Sender ID and password which will be needed on the Sage App Registry. Note that sometimes the Sender ID is referred to as a Partner ID.
If you receive the error The sender ID ‘<SenderID>’ is not authorized to make Web Services requests to company ID ‘<CompanyID>’
, you need to authorize your Sender ID to interact with your company under Web Services Authorizations.
Click Company
Click Security
Click Edit
to allow for editing of Security settings.
Navigate to Web Services authorizations
and click the Add
button.
Add your Sender ID as Sender ID
and Flowgear Integration
as the description.
Click Save
Reload the page to confirm the Web Service authorization has been added.
After having created the Sage Intacct Web Services developer license, you can create an app on the Sage App Registry, found here https://app-registry.sage.com/.
You will be prompted to supply an email address to login or create an account. If not yet registered it will ask for more details and a password.
After logging in, Add a workspace and go into it. Then Add an application to the workspace and go into it.
You can now Create API keys on the Application. Select "Sage Intacct" on the Sage Product API option, and add your Intacct Web Services License Key and Password in the required fields.
Batch, Bulk, and Composite requests
The Sage Intacct REST API supports batch, bulk and composite requests. Documentation for these can be found here https://developer.sage.com/intacct/docs/developer-portal/guides/bulk-requests/.
Batch
You can perform multiple requests/submissions in a single request by passing in multiple items to the request. You are limited to 500 records in a batch request.
Get and Delete: For these requests, you can change the "key" being requested to an array of values instead of a single values. key: 194,195,310,145 vs key: 194
Create/Update: Instead of passing a single object through the Request, you can pass through an array by encapsulating multiple Requests in square brackets [].
Single Request
{
"id": "0",
"name": "name"
}
Batch Request
[
{
"id": "0",
"name": "name"
},
{
"id": "1",
"name": "other name"
},
]
Bulk
Bulk requests work in a similar way, but instead of executing directly you upload a file with the content.
Composite
Composite requests use a single operation to execute multiple operations. The Request will contain an array of objects defining each operation to be taken.
[
{
"method": "POST",
"path": "/objects/accounts-payable/vendor",
"body": { ... },
"resultReference": "vendor",
"headers": {
"X-ABC": "123"
}
},
{
"method": "GET",
"path": "/objects/accounts-payable/vendor/@{vendor.1.key}"
}
]
Remarks
Samples are generated using the OpenAPI Schema supplied on the Sage Intacct REST API Reference, found here, https://developer.sage.com/intacct/docs/openapi/z-indexes/.
Please refer to that link for additional information on the endpoints and the REST API in general.
See Also
Sage Marketplace contains the necessary documentation for setting up the Sage Intacct environment for integration.
You can also request those documents directly from us.