AdvancedInfor M3M3 SDK / MI APIs / REST

Infor M3 SDK, MI APIs and REST API Documentation Guide

Question
infor m3 sdk

Also searched as

  • sdk infor m3
  • infor m3 rest api documentation
  • m3 mi programs list
  • m3 api developer guide

Short answer

There is no single M3 SDK. Developers use a set of tools: MI programs (the API layer over Business Engine), the REST endpoint that exposes them, the H5 client SDK for scripts and extensions, and the Grid and ION tooling around them. Start with MI programs and REST, and use the official Infor documentation for the transaction list.

Applies to: Infor M3 Business Engine, on-prem and CloudSuite. Endpoint paths and authentication differ between on-prem and cloud.

Make your first M3 API call

  1. 1Find the MI program for the business object, for example one for items, one for customers. The names end in MI, such as a program per master data area.
  2. 2Open the transaction list for that program in the API documentation or the M3 API metadata programs, and read input and output fields and which are mandatory.
  3. 3Get credentials. In the cloud, create an ION API authorized app and a service account and download the credential file. On-prem, check how your Grid is secured.
  4. 4Request an access token with OAuth 2.0 where ION API is used, and send it as a bearer token.
  5. 5Call the execute endpoint with program, transaction and parameters, as a GET for reads.
  6. 6Parse the JSON, which returns the records in a list and an error block with the message when a transaction fails.
  7. 7Handle paging and limits for list transactions, and log the full error text.

The pieces of the developer surface

MI programs are the supported API. Each program has transactions, with named input and output fields, that wrap Business Engine logic so that validation rules still run. They are the right way to read and write M3 data from outside.

The REST interface exposes MI transactions over HTTP with JSON. The H5 client has its own scripting SDK for personalization and extensions in the UI. Event Analytics, Grid applications and MEC for EDI are separate tools around the core.

Example REST call shape

The URL shape below is the commonly documented pattern. Your base host, tenant segment and version prefix depend on your deployment, so copy the base URL from your ION API or Grid configuration.

Read calls are GET requests with the field values as query parameters. Write calls use the same pattern with the add, change or delete transaction names.

GET https://<host>/<tenant>/M3/m3api-rest/v2/execute/MMS200MI/GetItmBasic?ITNO=ITEM-123
Authorization: Bearer <access token>
Accept: application/json

Rules that save time

Use a dedicated service user whose roles allow only the programs needed. An unauthorized program returns a not-authorized error rather than data.

Send dates as YYYYMMDD and numbers without locale separators. For list transactions set a maximum returned records value and page through the result.

Prefer MI transactions to direct SQL for writes. For reads at scale, use a reporting replica or the data lake rather than hammering the API.

Try it here, free

M3 MI API Batch Load Time Estimator

Open full tool

Estimate how long a bulk load through M3 APIs will run and how added parallel threads change it, using your own measured response time.

Common pitfalls

  • !Writing to M3 tables with SQL instead of MI transactions.
  • !Using a personal account for integrations, so the role or password change breaks the flow.
  • !Ignoring the error block and treating HTTP 200 as success.
  • !Missing mandatory fields because the documentation was for another version.
  • !Not paging list transactions and silently truncating results.

How an ERP-grounded AI assistant handles this

Agents that act on M3 should call MI transactions under a narrow service role and ask for human approval on writes. Netray builds such tool layers, typically with an open-weight model served on your own GPUs, so prompts and records stay inside your network.

Frequently asked questions

Is there a download called the M3 SDK?

Infor ships several development components rather than one package. Which you need depends on whether you are calling APIs, extending the H5 UI or building Grid applications. Check the Infor documentation library for your version.

Where is the REST API documentation?

In the Infor documentation library and the ION API section of your tenant, plus the API metadata inside M3 for the transaction list and fields of each MI program.

Can I call M3 APIs without ION API?

On-prem installations can expose the endpoints through Grid with their own authentication. In the cloud, ION API is the supported route.

Related

Advanced

How to Call M3 API (MI Programs) Through ION API

Calling M3 from an external system today almost always means going through ION API rather than the older direct MvxAPI SOAP endpoint: you create an ION API authorized app or service account in the ION API portal, download its .ionapi credential file, obtain an OAuth 2.0 access token, and call the M3 MI program transaction through the m3api-rest execute endpoint with that token.

Advanced

Paging M3 API MI List Transactions Past the Default Record Limit

M3 List transactions (the read/browse transaction most MI programs expose, such as CRS610MI.LstByNumber or OIS100MI.LstOrderHead) cap the rows returned per call using the MaxReturnedRecords input field, and by default many clients leave it low or unset, which looks like the API silently truncating results. Set MaxReturnedRecords explicitly, then loop the call using the last key values from the previous page as the starting position until fewer rows than the limit come back.

How-to

How to Add a Personalization Script to an M3 H5 Panel

M3 H5 lets an administrator attach a JavaScript personalization script to a specific panel of a specific program, using the MForms client API to read fields, react to panel and field events, and adjust the UI (hide fields, set defaults, validate input) without modifying the underlying M3 program. Scripts are written and attached through Personalization mode in H5, saved against the panel/program combination, and deployed to the users or roles who should see the behavior.

Error fix

M3 API Error: Not Authorized to Program

Not authorized to program (or the equivalent transaction-level authorization error) means the M3 user ID the integration authenticates as can log in fine but has not been granted access to that specific MI program, transaction, or company/division through its authority group. Fixing it means adding the program/transaction to the integration user's authority group in M3, not changing anything in the calling code.

Error fix

M3 API Error: Record already exist

Record already exist means the MI Add transaction you called is trying to insert a key that is already present in the target M3 table, most often because a prior call succeeded and was retried, or because the key fields you built do not match what you think they match. Read the errorField and errorFieldGroup attributes on the response to see exactly which key field M3 flagged, then either switch to the matching Chg (change) transaction or fix the key construction in the caller.

How-to

How to Build a Grid Mapping in M3 Enterprise Collaborator (MEC)

M3 Enterprise Collaborator (MEC) moves data between an external format (EDI, flat file, XML) and M3's own API by chaining a collection step (getting the document in), a grid mapping step (field-level transformation from source structure to M3 API call structure), and a delivery step (executing the mapped MI transaction). Building a new mapping means defining the source document structure, building the grid that maps each source field to its M3 API field, and testing with representative sample documents before going live.

AI for ERP

Infor M3 AI: A Practical Path from MI Programs to a Private Assistant

Infor M3 AI explained: grounded natural-language answers over MI programs and MEC, agents for distribution and manufacturing, on-prem or EU private cloud.

Stuck on Infor M3?

Talk to engineers who work inside Infor M3 every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

Guides

AI on your ERP

Integrations

Software