Epicor BAQ OData REST URL Builder (api/v2 BaqSvc and Erp.BO)
Epicor REST v2 follows a predictable URL pattern, but typos in the instance, company or BAQ segment waste hours. This builder assembles the URL, headers and a curl equivalent so you can test in Postman or a script in seconds.
Fill in
BAQ call (GET)
GET https://erp.example.com/KineticProd/api/v2/odata/EPIC06/BaqSvc/ZOpenJobs/Data?$top=100&$filter=JobHead_PartNum eq 'BRK-1001' Authorization: Basic <base64 of user:password> x-api-key: <your API key> Accept: application/json
Business object call (GET)
GET https://erp.example.com/KineticProd/api/v2/odata/EPIC06/Erp.BO.PartSvc/Parts?$top=100&$select=PartNum,PartDescription Authorization: Basic <base64 of user:password> x-api-key: <your API key> Accept: application/json
Same BAQ call as curl
curl -G "https://erp.example.com/KineticProd/api/v2/odata/EPIC06/BaqSvc/ZOpenJobs/Data" \ --data-urlencode "$top=100" \ --data-urlencode "$filter=JobHead_PartNum eq 'BRK-1001'" \ -H "x-api-key: YOUR_API_KEY" \ -u "user:password" \ -H "Accept: application/json"
Replace placeholder credentials; never commit real keys. Check your Epicor version and whether your site uses basic auth, token auth or both, and that the REST API and the BAQ are enabled for the API key. BAQ column names in filters usually take the form Table_Column; confirm in the BAQ designer.
Review my Epicor integration design
Optional: a short expert review of an Epicor REST integration approach.
Optional. The tool and every export work without this. No spam.
How to use the builder
Fill in the server, instance, company and BAQ ID, then copy the BAQ call. Paste into Postman, add your credentials and the x-api-key header, and send. For business objects, set the service and entity set, for example Erp.BO.PartSvc and Parts, and use $select to return only the columns you need. Adjust $top to page through large results, with $skip for the next page.
Anatomy of the URL
The path is host, instance, api/v2/odata, company, then either BaqSvc and the BAQ ID or a business object service and entity set. BAQs are called with /Data at the end. Queries use standard OData options.
- $top and $skip: paging
- $filter: row restriction, for example Field eq 'value'
- $select: limit returned columns
- $orderby: sort, for example DueDate desc
- Headers: Authorization and x-api-key for v2
Common mistakes
Calling a BAQ that is not published or not shared with the API user returns an authorization or not found error. Using single quotes incorrectly in $filter, forgetting to URL-encode spaces, or pulling an entire table with no $top causes timeouts. Remember that a BAQ with required parameters needs those parameters supplied. Keep keys in a vault, and test against a non-production instance first.
Frequently Asked Questions
Is an API key required for REST v2?
Epicor Kinetic REST v2 uses an API key sent in the x-api-key header along with normal credentials. Keys are created in the Epicor administration area and can be restricted. Check your version's documentation for the exact setup.
How do I page through more than 100 rows?
Use $top for the page size and $skip for the offset, increasing $skip by the page size each call. Keep the sort stable with $orderby so rows do not move between pages.
Can I use this for updates?
The builder shows GET calls. Updates use POST, PATCH or business object method calls with a JSON body, and they fire BPMs and security. Test thoroughly in a non-production instance before writing data.
Why do I get 404 on my BAQ?
Typical causes are a wrong BAQ ID, wrong company or instance segment, or a BAQ that is not exposed to REST. Verify the BAQ name in Query Builder and confirm the URL pattern against a working call.
If you are building many integrations on Epicor REST, Netray can help design read-only access patterns and AI layers on top of them.
Related Tools
Epicor Business Object Service Reference
Lookup table of common Erp.BO services with their main table, primary key and standard method names.
EpicorEpicor Open Jobs BAQ SQL Generator
Generates a read-only T-SQL query listing open, released jobs from Erp.JobHead with optional due-date and part filters.
EpicorEpicor BPM Custom Code Block Generator
Generates a C# custom code block for an Epicor method directive that validates a field on a temp table and raises an error or message.
EpicorEpicor BPM Directive Types Reference
Lookup table of Epicor BPM directive types, when each runs, whether it can stop a save, and typical use.
More Epicor tools
See all- Epicor Kinetic Customization Change Request Form Template
- Epicor Kinetic Go-Live Cutover Plan Template
- Epicor Kinetic User Access Request Form Template
- Epicor Kinetic BPM Directive Inventory Worksheet
- Epicor Kinetic Scheduled Task Register Worksheet
- Epicor Kinetic Custom Report Inventory Worksheet
- Epicor Kinetic Data Migration Mapping Worksheet
- Epicor Kinetic Data Load Effort Calculator
- Epicor Business Object Services Reference
New to Epicor ERP? Start with the Epicor ERP guide and toolkit, or plan with Training Path Builder, ERP Certification Study Planner, Upgrade Path Planner.
Keep exploring
Free tools
- Epicor REST API v2 URL BuilderFill in server, instance, company and service to get a ready OData URL, a curl command and the required headers for the Epicor REST API v2.
- Epicor BAQ Query Template GeneratorFill in company, days back and status filters to get a starter SQL for an open jobs BAQ, plus a design checklist for the Query Builder.
- Epicor BAQ Performance Tuning ChecklistWork through a practical list of checks when a BAQ, dashboard or BPM lookup runs slowly in Epicor Kinetic.
ERP fixes and how-tos
- Epicor Kinetic API Documentation: Where It Lives and How the URLs WorkWhere the Epicor Kinetic REST API documentation lives, the v1 and v2 URL patterns, how authentication works, and what to use instead of an SDK.
- Epicor REST API v2: OData Filter, Select and Expand ExamplesWorking Epicor Kinetic REST v2 OData examples: URL format, filter, select, top, expand, BAQ endpoints, the API key header and paging, with common error causes.
- How to Add AI to Epicor Kinetic On-Premises Without Moving Your DataReference architecture for a private AI assistant on Epicor Kinetic on-premises: BAQ and REST v2 access, SQL replica, local LLM, roles, audit and rollout.
AI on your ERP
- Private AI for Epicor Kinetic Cloud, Outside the Multi-Tenant BoundaryRun a private LLM on Epicor Kinetic private cloud or Kinetic Cloud data via BAQs, REST v2 and Data Fabric, keeping sensitive manufacturing data off shared AI.
- AI for Epicor Kinetic, Beyond What Prism CoversAdd AI to Epicor Kinetic beyond Prism: private LLM over BAQs, BPM data, and REST v2, on-prem or private cloud, with honest guidance on when Prism already covers you.
Integrations
- How to add Slack to Epicor KineticConnect Slack to Epicor Kinetic with a Slack app, slash commands, interactive approvals and BPM-driven alerts, using the Kinetic REST API and BAQs.
- How to connect Power BI to Epicor KineticConnect Power BI to Epicor Kinetic using BAQ OData feeds, a data warehouse or a SQL replica, with an on-prem gateway, key dashboards and natural-language Q&A.