Skip to main content

Acumatica REST API vs OData

  • Oct 30, 2026 4:19 PM UTC
  • 1 reply
  • 24 views
  • Translate All

Forum|alt.badge.img+8

Acumatica REST API vs OData

When to use what? A practical guide for integration developers

I just wanted to share a few points to explain the difference between REST APIs and OData, as it might be helpful to understand how they differ and when to use each.

QUICK TAKEAWAY  Use REST API when an external application needs to interact with Acumatica business entities and perform supported business operations. Use OData when the requirement is to query and extract data exposed through Generic Inquiries.

1. Understand the two approaches

REST API exposes Acumatica business entities through endpoints. Depending on the entity and supported operations, an external application can retrieve, create, update, or delete records. Entity operations use Acumatica business logic and validations applicable to the exposed entity.

OData (Open Data Protocol) provides a query interface for data exposed through Acumatica Generic Inquiries (GIs). It is designed primarily for reading structured data and supports query options such as filtering, selecting fields, sorting, and paging where supported.

2. Key differences

Area

REST API

OData

Primary purpose

Business entity operations

Querying GI data

Create / update

Supported where entity allows

Not used for transactional writes

Read data

Yes

Yes

Data source

Exposed Acumatica entities

Published Generic Inquiries

Typical use

Order entry, customer updates, integrations

Reporting, dashboards, data extraction

Business processing

Entity operations invoke applicable business logic

Primarily read/query oriented

3. Choose based on the requirement

Choose REST API when:

  • Creating a Sales Order from an eCommerce platform.
  • Creating AP Bills or updating customer/vendor records.
  • Executing supported business actions that require Acumatica entity processing.
  • Returning the result of a transactional operation to the calling system.

Choose OData when:

  • Supplying order, customer, or inventory data to reporting tools.
  • Extracting selected GI columns for an external dashboard.
  • Filtering and paging through read-oriented datasets.
  • Providing a purpose-built data view without retrieving an entire business document.

Example: An online store needs to submit a new order—use REST API. A dashboard needs order number, date, customer, total, and status for analysis—consider a GI exposed through OData.

 

4. Practical endpoint examples

REST API – retrieve Sales Orders:

GET /entity/Default/25.200.001/SalesOrder?$filter=OrderType eq 'SO'

OData – query a published Generic Inquiry:

GET /t/production/api/odata/gi/CustomerDetails?$filter=Status eq 'Active'&$top=100

Note: Replace the endpoint, tenant, endpoint version, and GI name with values configured in your Acumatica environment. Confirm supported query options for the endpoint in use.

5. Performance and API-consumption best practices

  • Retrieve only the fields you need. Use $select where supported. Smaller responses reduce data transfer and parsing overhead.
  • Filter at the source. Use $filter rather than downloading all rows and filtering in your integration code.
  • Use pagination. Process large datasets in manageable pages. Follow the paging mechanism and continuation links provided by the endpoint; do not assume every endpoint behaves identically.
  • Monitor usage and failures. Track request volume, response times, errors, retries, and overlapping scheduled jobs. Use bounded retries with backoff for transient failures.
  • Test with realistic volumes. Measure response size and duration with representative data. A GI with complex joins or filters can also be expensive; OData is not automatically faster than REST.

6. Common mistakes to avoid

Using REST API for every reporting query, even when a focused GI is more suitable; expecting OData to create or update business documents; retrieving full records when only a few columns are needed; ignoring paging and repeatedly downloading unchanged data; and assuming there is one universal API request limit for every Acumatica deployment.

7. A simple decision guide

Question

Recommended approach

Need to create or update an Acumatica business document?

REST API

Need to query GI data for reporting or analytics?

OData

Need both transactional processing and reporting?

Use both, each for its intended purpose.

Final thoughts

REST API and OData are complementary—not competing—tools. Select the interface based on whether the requirement is a business transaction or a data query. Design integrations to retrieve only what they need, page through large results, avoid repeated calls, and monitor actual resource consumption. Check the capabilities and policies of the specific Acumatica version and deployment.

COMMUNITY members Which approach do you use most often—REST API, OData, or a combination? What has helped you reduce API calls and improve integration performance?

1 reply

JKurtz29
Semi-Pro I
Forum|alt.badge.img+1
  • Semi-Pro I
  • Oct 30, 2026 5:55 PM UTC

Some more points to also consider:

  • REST API use is subject to Acumatica’s API limits and throttling
  • OData currently does not count against your API limits
  • OData can also access data via DACs, not just GIs

A general rule of thumb we practice (and tell our customers) when building integrations is to always use OData for read operations and REST API for writes (or calling actions).  There may be the occasional exception, but for the most part, that rule stands true. 

It will be interesting to see how the AI implementation with the MCP server changes these suggestions.  For now, the MCP server is limited to exposed GIs, but when the write-back tools are introduced, the assumption is that they will flow through the same pipeline as the REST API.

Translate