# Sage Intacct REST — Accounting API: overview

> Canonical URL: https://developers.apideck.com/apis/accounting/sage-intacct-rest/overview

Increase ROI and transform your organization with the first and only preferred provider of the AICPA for accounting and financial management software for companies of any size.
- Status: live
- Authentication: oauth2

- **responsibility matrix:**   - **customer:** ✓
  - **apideck:** Facilitates introduction
  - **area:** Obtain Sage Web Services Developer License
  - **customer:** ✓ (if taking the Marketplace route)
  - **area:** Execute Marketplace Partner Contract
  - **area:** Register OAuth Application at developer.sage.com/console
  - **customer:** ✓
  - **apideck:** Instructions provided
  - **area:** Authorize Connection
  - **apideck:** Secure connection form
  - **consumer:** ✓
  - **area:** Grant Sage Intacct Role Permissions
  - **apideck:** Instructions provided
  - **consumer:** ✓
  - **consumer:** ✓
  - **apideck:** Instructions provided
  - **area:** Enable Optional Sage Intacct Features
  - **apideck:** Maintains connector
  - **area:** Build via Unified API
  - **customer:** ✓
  - **area:** Monitor Connections
  - **apideck:** Logs & alerts
  - **consumer:** Can revoke anytime
  - **customer:** ✓ Via dashboard
- **partnership note:** A Sage Web Services developer license is required — via the Sage Intacct Marketplace Partner Program, or directly from Sage through your account manager.
- **account type required:** Sage Intacct company with a Web Services subscription
- **webhooks:** Virtual webhooks — created, updated and deleted events across 13 of the supported accounting resources. Sage Intacct has no native webhooks.
- **external guides:**   - **url:** https://developer.sage.com/intacct
  - **source:** Sage Intacct Developer
  - **title:** Sage Intacct REST API — Get Started
  - **source:** Sage Intacct Developer
  - **title:** OAuth 2.0 Authorization & Security
  - **url:** https://developer.sage.com/intacct/docs/1/sage-intacct-rest-api/authorization-and-security/oauth2
  - **title:** Marketplace Partner Program — Become a Partner
  - **source:** Sage Intacct
  - **url:** https://marketplace.intacct.com/BecomeAPartner
  - **title:** API usage & transaction metrics
  - **source:** Sage Intacct Developer
  - **url:** https://developer.sage.com/intacct/docs/developer-portal/getting-started/metrics/
  - **title:** Developer FAQs (concurrency & levels of service)
  - **url:** https://developer.intacct.com/support/faq/
  - **source:** Sage Intacct Developer
  - **source:** Sage Intacct
  - **url:** https://www.intacct.com/ia/docs/en_US/help_action/Company/Sandboxes/about-sandboxes.htm
  - **title:** About Sandboxes
- **partnership url:** https://marketplace.intacct.com/BecomeAPartner
- **partnership portal name:** Sage Intacct Marketplace
- **costs:** Sage Intacct Marketplace Partner Program membership is $2,500/year, plus $0.015 per API call once your consumers are live. Effective August 2026.
- **difficulty reason:** Paid Web Services Developer License + Per-Consumer Admin Authorization Required
- **sandbox available:** true
- **difficulty:** involved
- **rate limits:** Sage Performance Tier 1: 100,000 API transactions/month per company, shared with the XML API. Over-limit: 429 (GW-0010). Headroom: x-downstream-ratelimit-*.
- **authentication note:** Authorization Code grant, a real OAuth flow, unlike the sage-intacct (XML) connector, which uses a Sender ID plus company/user credentials.
- **environment notes:**   - **description:** Testing runs against an application registered at developer.sage.com/console with the Non-production client scope, pointed at a sandbox, trial or developer company. The scope cannot be changed after the application is created, so each environment needs its own registration, and its client credentials are separate from the production ones. A full sandbox company (a copy of production) is requested through a Sage support case and refreshed at most 4 times a year; it is not offered to companies managed through a Sage Intacct multi-entity console or purchased through a reseller. Several modules are unavailable inside a sandbox, including Fixed Assets, Collections, Prepaid Expense Amortization, Advanced Audit Trail and the interactive reporting tools, and a sandbox is valid only to the end of the production billing cycle.
  - **environment:** Sandbox
  - **description:** Live companies require an application registered at developer.sage.com/console with the Production client scope, issued once your Web Services developer license is in place. ⚠️ Development credentials CANNOT be used with production accounts.
  - **environment:** Production
- **partnership required:** true
- **apideck credentials note:** For testing and evaluation: consumers authorize against Apideck's registered Sage application, so the consent screen shows Apideck branding.
- **consumer access level:** The connection inherits the authorizing Sage Intacct user's role permissions, and a company Admin must authorize the application in each consumer's company.
- **apideck credentials available:** true
- **sandbox note:** Registering a Non-production OAuth app is free; a Sage Intacct sandbox company itself is a paid, licensed feature, gated by eligibility and not self-serve.
- **important to know:** API tokens are session-bound: signing in to the Sage Intacct web UI as the authorizing user invalidates the token (error REST-2102). Authorize with a dedicated integration user that nobody signs in as interactively.
Financial reports stay exclusive to the sage-intacct (XML) connector: REST's reporting endpoints only generate downloadable files asynchronously, never queryable data — a permanent platform gap. Other uncovered Sage endpoints remain reachable via the Apideck Proxy API.
The two Sage Intacct connectors are not interchangeable and nothing migrates automatically: switching means authorizing a brand-new connection, and record identifiers do not carry over. Choose one before you build.
Two module permissions are easy to miss: quotes need Order Entry — without it, listing returns 403 and creating fails with an error that reads like a company misconfiguration — and customer refunds stay hidden until the feature is enabled in Accounts Receivable.
The REST API reached General Availability with Sage's 2025 Release 1 and is the platform Sage recommends for new integrations. The legacy XML/SOAP gateway is frozen and receives no new API objects, so customer refunds and quote creation live only here.
- **supported resource categories:**   - **resources:** ledger-accounts
journal-entries
tax-rates
tracking-categories
  - **name:** Core Financial
  - **name:** Accounts Receivable
  - **resources:** customers
invoices
invoice-items
payments
credit-notes
quotes
refunds
sales-orders
  - **resources:** suppliers
bills
bill-payments
  - **name:** Accounts Payable
  - **name:** Expenses
  - **resources:** expenses
expense-reports
expense-categories
  - **name:** Organizational
  - **resources:** companies
company-info
subsidiaries
departments
locations
projects
employees
  - **resources:** bank-accounts
bank-feed-statements
  - **name:** Banking
  - **name:** Documents
  - **resources:** attachments

## Supported resources

[Accounting data model](/guides/accounting-data-model.md)

- **id:** customers
- **custom field support:** false
- **downstream id:** customers
- **status:** live
- **downstream name:** Customers
- **name:** Customers
- **status:** live
- **id:** suppliers
- **custom field support:** false
- **name:** Suppliers
- **downstream id:** suppliers
- **downstream name:** Suppliers
- **status:** live
- **name:** Departments
- **custom field support:** false
- **id:** departments
- **downstream name:** Departments
- **downstream id:** departments
- **downstream id:** locations
- **status:** live
- **custom field support:** false
- **downstream name:** Locations
- **name:** Locations
- **id:** locations
- **name:** Tracking Categories
- **id:** tracking-categories
- **downstream name:** Tracking Categories
- **custom field support:** false
- **downstream id:** tracking-categories
- **status:** live
- **status:** live
- **custom field support:** false
- **id:** ledger-accounts
- **name:** Ledger Accounts
- **downstream name:** Ledger Accounts
- **downstream id:** ledger-accounts
- **id:** tax-rates
- **custom field support:** false
- **downstream name:** Tax Rates
- **status:** live
- **downstream id:** tax-rates
- **name:** Tax Rates
- **id:** employees
- **status:** beta
- **downstream name:** Employees
- **name:** Employees
- **custom field support:** false
- **downstream id:** employees
- **status:** live
- **id:** invoices
- **downstream name:** Invoices
- **custom field support:** false
- **name:** Invoices
- **downstream id:** invoices
- **custom field support:** false
- **id:** bills
- **name:** Bills
- **downstream id:** bills
- **downstream name:** Bills
- **status:** live
- **downstream id:** credit-notes
- **name:** Credit Notes
- **status:** live
- **id:** credit-notes
- **downstream name:** Credit Notes
- **custom field support:** false
- **name:** Payments
- **custom field support:** false
- **downstream name:** Payments
- **status:** live
- **downstream id:** payments
- **id:** payments
- **custom field support:** false
- **downstream id:** bill-payments
- **id:** bill-payments
- **name:** Bill Payments
- **status:** live
- **downstream name:** Bill Payments
- **id:** journal-entries
- **status:** live
- **name:** Journal Entries
- **custom field support:** false
- **downstream id:** journal-entries
- **downstream name:** Journal Entries
- **name:** Refunds
- **id:** refunds
- **downstream name:** Refunds
- **status:** beta
- **downstream id:** refunds
- **custom field support:** false
- **name:** Expense Reports
- **downstream name:** Expense Reports
- **status:** beta
- **downstream id:** expense-reports
- **custom field support:** false
- **id:** expense-reports
- **downstream id:** expense-categories
- **custom field support:** false
- **name:** Expense Categories
- **id:** expense-categories
- **status:** beta
- **downstream name:** Expense Categories
- **custom field support:** false
- **downstream id:** projects
- **name:** Projects
- **downstream name:** Projects
- **status:** beta
- **id:** projects
- **name:** Invoice Items
- **downstream id:** invoice-items
- **id:** invoice-items
- **custom field support:** false
- **status:** live
- **downstream name:** Invoice Items
- **status:** live
- **id:** subsidiaries
- **downstream name:** Subsidiaries
- **name:** Subsidiaries
- **downstream id:** subsidiaries
- **custom field support:** false
- **id:** companies
- **status:** beta
- **custom field support:** false
- **downstream name:** Companies
- **name:** Companies
- **downstream id:** companies
- **downstream name:** Expenses
- **custom field support:** false
- **id:** expenses
- **downstream id:** expenses
- **status:** live
- **name:** Expenses
- **downstream name:** Quotes
- **name:** Quotes
- **downstream id:** quotes
- **status:** beta
- **id:** quotes
- **custom field support:** false
- **downstream id:** sales-orders
- **downstream name:** Sales Orders
- **id:** sales-orders
- **custom field support:** false
- **name:** Sales Orders
- **status:** beta
- **custom field support:** false
- **downstream id:** bank-accounts
- **id:** bank-accounts
- **status:** beta
- **name:** Bank Accounts
- **downstream name:** Bank Accounts
- **id:** bank-feed-statements
- **status:** beta
- **downstream name:** Bank Feed Statements
- **downstream id:** bank-feed-statements
- **name:** Bank Feed Statements
- **custom field support:** false
- **name:** Company Info
- **id:** company-info
- **downstream name:** Company Info
- **custom field support:** false
- **downstream id:** company-info
- **status:** live
- **downstream id:** attachments
- **downstream name:** Attachments
- **custom field support:** false
- **id:** attachments
- **name:** Attachments
- **status:** live

An omitted operation list does not establish operation support. Verify the selected operation in the coverage matrix.

[API reference](https://developers.apideck.com/apis/accounting/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/accounting/coverage)
