Infor M3 MI API Transaction Call Generator (REST URL, curl and JavaScript)
Calling an M3 MI program over REST is easy once you have the URL right and hard to remember when you only do it twice a month. This generator builds the call for any program and transaction as a raw request, curl and a JavaScript fetch snippet.
Fill in
Request URL (ION API, v2 execute)
GET https://mingle-ionapi.eu1.inforcloudsuite.com/ACME_PRD/M3/m3api-rest/v2/execute/MMS200MI/GetItmBasic?CONO=100&ITNO=A-1001 Authorization: Bearer <access token from ION API> Accept: application/json
curl
curl -s -H "Authorization: Bearer $TOKEN" -H "Accept: application/json" \ "https://mingle-ionapi.eu1.inforcloudsuite.com/ACME_PRD/M3/m3api-rest/v2/execute/MMS200MI/GetItmBasic?CONO=100&ITNO=A-1001"
JavaScript (fetch)
const url = "https://mingle-ionapi.eu1.inforcloudsuite.com/ACME_PRD/M3/m3api-rest/v2/execute/MMS200MI/GetItmBasic?CONO=100&ITNO=A-1001";
const res = await fetch(url, {
headers: { Authorization: "Bearer " + token, Accept: "application/json" }
});
if (!res.ok) throw new Error("M3 API error " + res.status);
const data = await res.json();
console.log(data.results);Reading the response
// Typical shape of a successful response:
// { "program": "MMS200MI", "transaction": "GetItmBasic",
// "results": [ { "records": [ { "ITNO": "A-1001", ... } ] } ] }
// On failure M3 returns an error message field (often named errorMessage or message). Log it as is.The URL pattern shown is the ION API form used by Infor cloud tenants. On-premise or older setups may use a different base path, for example the m3api-rest/execute form on the M3 server. Parameter names, mandatory fields and the CONO requirement differ per transaction, so check the transaction in the API repository (M3 API Tool or program documentation) before calling. Use read transactions (Get, Lst) first. Never put tokens in source control.
Safe AI access to M3 APIs
Optional: a short note on how read-only M3 API access for an AI assistant can be set up with approvals on writes.
Optional. The tool and every export work without this. No spam.
How to use the generator
Enter your ION API gateway host and tenant, then the MI program and transaction, for example MMS200MI and GetItmBasic or CRS610MI and GetBasicData. Add the key field of the transaction and its value. Copy the snippet that matches your tool, set a valid token and run it. The default values are samples only and will not return data from your tenant.
How MI programs work
An MI program is a published interface onto an M3 business object. Each has transactions with input and output fields, named by verb: Get returns one record, Lst returns a list, Add creates, Upd changes, Del removes. Calls run under the authority of the user behind the token, so M3 security and the user company and division defaults apply. Many transactions require CONO or the division to be set when the default does not match.
- Prefer Get and Lst while you learn a transaction
- Check mandatory fields in the API repository, not by trial and error
- Test Add and Upd calls only in a non-production tenant
- Handle maximum record limits on Lst transactions by paging
Common mistakes
Typical problems are a wrong tenant name in the path, an expired token, sending a field name from the screen rather than the API field name, and forgetting that M3 returns HTTP 200 for some business errors with the error inside the body. Always inspect the response body and log it. Another trap is writing through the API in bulk without a rollback plan: Add and Upd calls take effect immediately.
Frequently Asked Questions
What is an M3 MI program?
An MI (M3 Interface) program is a published API for a business object such as items, customers or customer orders. Each MI program exposes transactions like Get, Lst, Add and Upd that you can call from outside M3 over REST or SOAP.
Which authentication does the call need?
On Infor cloud tenants you call through ION API with an OAuth 2.0 access token obtained from an ION API service account. The token determines which M3 user the call runs as, which in turn controls what data and functions are allowed.
How do I find the fields of a transaction?
Use the M3 API repository, the M3 API Tool in the Infor documentation set, or the API metadata of your tenant. They list mandatory inputs and returned fields per transaction. Field names are the four- or five-letter M3 field codes such as ITNO or CUNO.
Is this tool calling my M3?
No. It only builds text in your browser. Nothing is sent to M3 or to Netray. You run the generated call yourself from curl, Postman or your own code.
If you are building repeatable integrations or want an assistant that can look up M3 data safely, Netray can help design it with approval steps on any write.
Related Tools
Infor M3 Program Reference (MMS001, OIS100, PMS100)
Searchable lookup of frequently used Infor M3 programs by code, area and purpose, so you stop hunting through menus.
Infor M3 & CloudSuiteInfor M3 Item Master Upload Worksheet
Collect and validate item master data for an M3 load, with status checks and a ready-to-export Excel or CSV layout.
Infor M3 & CloudSuiteInfor M3 MEC Mapping Design Template
A fill-in design document for an M3 Enterprise Collaborator mapping, from partner and flow to field rules and error handling.
Infor M3 & CloudSuiteInfor M3 H5 Script Review Checklist
A review checklist for H5 Client scripts covering design, coding, security, testing and upgrade risk.
More Infor M3 & CloudSuite tools
See all- Infor M3 Customer Order Status Tracking Worksheet
- Infor M3 Upgrade Test Checklist
- Infor M3 Facility and Warehouse Structure Worksheet
- Infor M3 Fit-Gap Analysis Worksheet
- Infor M3 Interface and Integration Inventory Worksheet
- Infor M3 Functional Specification Template
- Infor M3 User Acceptance Test Script Template
- Infor M3 Implementation Effort Estimator
- Infor M3 Go-Live Readiness Checklist