Acumatica REST API URL Builder
Acumatica exposes ERP data through a contract-based REST API where every call is a URL made of the instance, an endpoint, a version and an entity. This builder assembles that URL, the OData-style query options and the login and logout calls so you can paste them straight into Postman or code.
Fill in
No trailing slash. Include the virtual directory for on-premise installs.
Check the Web Service Endpoints screen (SM207060) for versions on your tenant.
1. Login (store the session cookie)
POST https://mycompany.acumatica.com/entity/auth/login
Content-Type: application/json
{
"name": "apiuser",
"password": "<password>",
"tenant": "Company"
}2. Read records
GET https://mycompany.acumatica.com/entity/Default/24.200.001/StockItem?$filter=ItemStatus eq 'Active'&$select=InventoryID,Description,ItemClass,DefaultPrice&$expand=[$expand detail]&$top=100&$skip=0 Accept: application/json
3. Read one record by key
GET https://mycompany.acumatica.com/entity/Default/24.200.001/StockItem/<key value>?$select=InventoryID,Description,ItemClass,DefaultPrice Accept: application/json
4. Create or update (PUT)
PUT https://mycompany.acumatica.com/entity/Default/24.200.001/StockItem
Content-Type: application/json
{
"InventoryID": { "value": "WIDGET-100" },
"Description": { "value": "Widget, anodized" }
}5. Logout (release the API login slot)
POST https://mycompany.acumatica.com/entity/auth/logout
Remove the $expand parameter if you leave it blank. Field names and values in the PUT body are Acumatica contract names and must match your endpoint version. Acumatica limits concurrent API logins per license, so always log out. Verify against your version of the Web Service Endpoints.
Review my Acumatica integration plan
Optional: send us your endpoint list and we will point out rate limit, paging and session issues before you build.
Optional. The tool and every export work without this. No spam.
How to use the builder
Enter your instance base URL, the endpoint name and version, and the entity you want such as StockItem, SalesOrder or Customer. Add a filter, the fields you need and a page size. The output shows login, read, single-record read, create or update, and logout. Copy the blocks into your REST client, replace the password placeholder and run the login first. Acumatica returns a session cookie that every later call must send.
- Always login, call, then logout in one script
- Use $select to cut payload size on wide entities
- Page with $top and $skip instead of one huge pull
- Use the Default endpoint for standard entities, a custom endpoint for your own
How the URL is structured
The path pattern is /entity/{endpoint}/{version}/{entity}. The Default endpoint ships with Acumatica and covers customers, vendors, stock items, sales orders and many more. The version string follows the release, for example 24.200.001 for a 2024 R2 style build. Query options follow OData conventions: $filter uses operators such as eq, ne, gt and lt, strings use single quotes, and $expand pulls detail collections like warehouse details or order lines in the same call.
Reading the result and paging
A GET returns a JSON array where every field is an object with a value property, for example the InventoryID is returned as an object holding the actual string. Plan your parsing for that. For large tables, loop with $top set to a few hundred and increase $skip by the same amount until a page comes back short. Acumatica can also time out very large reads, so prefer narrow filters such as a last modified date.
Common mistakes
Most failures come from small details: forgetting to log out so the license slot stays occupied, using double quotes inside a filter, sending the wrong tenant name, or calling an entity that is not in the chosen endpoint version. A 500 response on a PUT usually means a required field or a key mismatch rather than a bad URL. Test reads first, then writes in a sandbox tenant.
Frequently Asked Questions
What is the Acumatica contract-based REST API?
It is a versioned web service where each endpoint defines a set of entities such as customers or sales orders with stable field names. Because the contract is versioned, your integration does not break when the underlying screens change between releases.
How do I authenticate to Acumatica REST?
You can post name, password and tenant to the auth login URL and reuse the session cookie, or use OAuth 2.0 with a connected application. The cookie method is simplest for scripts. Always call logout when finished to free the login.
Why does my $filter return nothing?
Check that field names match the contract exactly, string values use single quotes, and dates follow the datetimeoffset format. Also confirm the user has rights to the data. A silent empty result often means a misspelled field or a restrictive role.
Can I use this for custom fields?
Yes, but custom fields appear in the REST contract only after you add them to a custom endpoint or through the custom field mapping on the Default endpoint. Use the Web Service Endpoints screen to expose them, then reference them by the name you mapped.
If you are wiring Acumatica to MES, quality or reporting systems, we can build and test those integrations with your team, including read-only AI queries over the data.
Related Tools
Acumatica Generic Inquiry Design Template
A fill-in design specification for a Generic Inquiry (SM208000): purpose, tables and joins, result columns, parameters, access rights and test cases.
ERP Migration & SelectionAcumatica License Cost Calculator
Turn a vendor quote into a multi-year cost view: subscription with annual increases, implementation, training, integrations and internal time.
Other ERPsAcumatica Manufacturing Edition Setup Checklist
A group-by-group checklist covering the foundation, engineering data, shop floor, planning and costing setup for Acumatica Manufacturing.
More Developer Tools tools
See all- Acumatica Sales Order REST JSON Template
- Acumatica OData Generic Inquiry URL Builder
- Acumatica REST API Python Script Generator
- SAP Sales Order ABAP SELECT Generator (VBAK, VBAP, VBFA)
- SAP Sales Order Create BAPI ABAP Generator (BAPI_SALESORDER_CREATEFROMDAT2)
- SAP ABAP Open Items SELECT Generator
- SAP ACDOCA SQL Query Generator
- SAP QM Inspection Lot ABAP SELECT Generator
- SAP Quality Notification Pareto SQL Query Generator
Keep exploring
Free tools
- Acumatica OData Generic Inquiry URL BuilderGenerate the OData URL for an Acumatica generic inquiry, with $filter, $select, $orderby and $top, ready for Excel, Power BI or a script.
- Acumatica Sales Order REST JSON TemplateGenerate the PUT request URL and JSON body to create a sales order with two lines through Acumatica's contract-based REST API.
- Acumatica REST API Python Script GeneratorProduce a ready-to-run Python script for the Acumatica contract-based REST API: login, PUT a record, then logout.
ERP fixes and how-tos
- Acumatica REST API 401 Unauthorized and API Login Limit: How to FixFix Acumatica REST API 401 errors and API login limit failures: correct auth body, tenant name, OAuth connected app, and always log out to free API sessions.
- Acumatica Manufacturing Data Collection: Labor and Production EntryHow shop floor data collection works in Acumatica Manufacturing: clock, labor, move and material entry, who should enter what and how to keep data clean.
- How to Create a Generic Inquiry in AcumaticaStep-by-step guide to building an Acumatica Generic Inquiry: add tables, set join relations, add filters and results, then expose it as an inquiry, dashboard, or OData feed.
AI on your ERP
- AI for Acumatica Manufacturing Edition, Built on Your Own DataAdd AI to Acumatica Manufacturing Edition without giving up control of your shop and cost data. Private LLMs and agents grounded in your Acumatica instance.
- AI for Acumatica Inventory and Purchasing: Stock, Reorder and Vendor Questions AnsweredAI for Acumatica inventory and purchasing: reorder risk, receipts, vendor lead times and stock questions answered in plain English via the REST API, read-only.
Integrations
- How to add AI agents to AcumaticaHow to build AI agents on Acumatica: a tool layer over the contract-based REST API and Generic Inquiries, approval before writes, cloud or on-prem models.
- How to add WhatsApp to AcumaticaHow to add WhatsApp to Acumatica: Business Events, the contract-based REST API, template messages, opt-in rules and two-way replies for orders and approvals.