Infor M3 MI API Program List for Integrations
This reference lists the M3 Business Engine 13.x MI programs integrations call most, with the M3 program each one mirrors, confirmed transaction names and the main tables behind them. Use it to find the right API before you open MRS001 or write a call.
| MI program | Business object | M3 program it mirrors | Common transactions | Main table(s) | Typical use | Notes |
|---|---|---|---|---|---|---|
MMS200MI | Item | MMS001 Item. Open | GetItmBasic, GetItmWhsBasic, GetItmFac, AddItmViaItmTyp | MITMAS, MITBAL, MITFAC | Read item master data, create items from an item type template | Full list in MRS002 for MMS200MI |
MMS060MI | Balance identity | MMS060 Balance Identity | List in MRS002 | MITLOC | On-hand by location, lot and container | Also used by warehouse interfaces to download aggregated on-hand balances |
MMS100MI | Distribution order | MMS100 Distribution Order | List in MRS002 | MGHEAD, MGLINE | Create and read distribution orders between warehouses | |
MMS850MI | Stock messages (inventory transactions) | MMS850 | AddAdjust, AddMove, AddReclass (full list in MRS002) | MITTRA, MITLOC | Upload adjustments, moves and reclassifications from a WMS or scanner | Messages are queued and processed asynchronously; check MRS002 for the process transaction on your version |
MHS850MI | Received order transactions | MHS850 | AddCOPick, AddPOReceipt, AddMOReceipt, AddDOPick, AddDOReceipt, PrcWhsTran | MITTRA and the order tables | Report picks and receipts for CO, PO, MO and DO from an external WMS | Add transactions queue messages; PrcWhsTran processes the queued package |
MHS810MI | Picking lists | Picking list | List in MRS002 | Picking list tables | Download picking lists to an external warehouse system | |
MWS410MI | Delivery | MWS410 Delivery Toolbox | GetHead (full list in MRS002) | MHDISH, MHDISL | Read delivery numbers, packages and addresses for shipping systems | |
OIS100MI | Customer order | OIS100 Customer Order. Open | AddBatchHead, AddBatchLine, Confirm | OOHEAD, OOLINE | Create customer orders from e-commerce or EDI: header, lines, then Confirm | Batch entry: nothing becomes a real order until Confirm succeeds |
OIS320MI | Customer pricing | Price inquiry | List in MRS002 | Price list tables | Get the M3 price for customer, item and quantity before ordering | Use it rather than reading price list tables, so price logic is applied |
CRS610MI | Customer | CRS610 Customer. Open | GetBasicData (full list in MRS002) | OCUSMA | Read customer master data | Full list in MRS002 for CRS610MI |
CRS620MI | Supplier | CRS620 Supplier. Open | List in MRS002 | CIDMAS, CIDVEN | Read and maintain supplier master data | |
CRS175MI | General codes | CRS175 General Code | LstGeneralCode | CSYTAB | List CSYTAB values for a constant | |
CRS045MI | Country | CRS045 Country | GetBasicData | CSYTAB | Country basic data | |
MNS100MI | Division | MNS100 Company / division | GetBasicData | CMNDIV | Division basic data | |
PPS200MI | Purchase order | PPS200 Purchase Order. Open | GetHead, GetLine, LstLine | MPHEAD, MPLINE | Read PO headers and lines | Check MRS002 for create transactions on your version |
PPS300MI | Purchase order receiving | PPS300 Purchase Order. Receive Goods | List in MRS002 | MPLINE, MITTRA | Report goods receipts from a dock or scanner app | |
PMS100MI | Manufacturing order | PMS100 Manufacturing Order. Open | List in MRS002 | MWOHED, MWOMAT, MWOOPE | Read or create manufacturing orders from MES | |
PMS050MI | MO receipt reporting | PMS050 Report Receipt | List in MRS002 | MWOHED, MITTRA | Report finished quantity from the shop floor | |
PMS070MI | MO operation reporting | PMS070 Report Operations | List in MRS002 | MWOOPE | Report time and quantity per operation from MES | |
APS450MI | Supplier invoice batch | APS450 Supplier Invoice Batch | List in MRS002 | Supplier invoice batch tables | Load supplier invoices from scanning or AP automation | |
GLS840MI | GL batch | GL batch upload | List in MRS002 | General ledger batch tables | Upload journals from payroll or a subledger | |
MNS150MI | User | MNS150 User. Open | List in MRS002 | CMNUSR | Read users for provisioning and access reviews | |
EXPORTMI | Generic SQL-like export | - | Select | Any table | Read data with a select statement when no business MI covers it | Read only and returns data unformatted; prefer business MIs where they exist |
MDBREADMI | Generic index read | - | Get / Lst transactions per table and index (list in MRS002) | Tables with a configured read transaction | Fast keyed reads of a specific table | Only the table and index combinations configured on your system are available; check MRS002 |
CMS100MI | Custom lists | - | Transactions created per custom list | Joined tables in the list definition | Custom joined lists without code | Each custom list gets its own Lst transaction |
Only transaction names confirmed in Infor documentation are listed; where a cell says List in MRS002, open MI Programs (MRS001), select the program and use the transactions option (MRS002) to see every transaction with its input and output fields on your 13.x system. Cloud-only XtendM3 APIs are not included.
Get your M3 API design checked
Send us the flows you plan and the MI programs you picked, and we will check transactions, error handling and volumes for your 13.x release.
Optional. The tool and every export work without this. No spam.
How to use it
Search by area (item, order, purchase), by MI program or by table. Program names follow a simple rule: the MI program carries the code of the interactive program it serves plus MI, so MMS200MI works on items like MMS001 and OIS100MI on customer orders like OIS100. When a row says List in MRS002, the transaction names vary enough by version that you should read them from your own system. Transactions follow naming patterns: Get returns one record, Lst returns many, Add creates, Upd or Chg updates and Dlt deletes.
Where this lives in M3
MI Programs (MRS001) lists every MI program on the system. Transactions (MRS002) shows each transaction, whether it is single or multiple record output, and the input and output field list with lengths and mandatory flags. Calls go through the M3 API, ION API gateway or MI test tools. Generic readers sit beside the business MIs: EXPORTMI runs a select, MDBREADMI uses keyed read transactions per table and index, and CMS100MI exposes custom lists. Business MIs apply M3 logic; generic readers only read.
- Use business MIs for anything that writes
- Use MDBREADMI or CMS100MI for read patterns no standard MI offers
- Check field lengths in MRS002; truncated keys fail silently in some tools
- Respect max record count on Lst transactions
Worked example: order from a web shop
A web shop posts an order. The integration calls CRS610MI GetBasicData to check the customer, MMS200MI GetItmBasic for each item, then OIS100MI AddBatchHead with customer and order type, AddBatchLine for each line with item, quantity, warehouse and requested delivery date, and Confirm to create the real order in OOHEAD and OOLINE. If Confirm reports errors, the batch order stays unconfirmed and the error is returned, so the integration logs it and retries after the data is fixed. Pricing checks can come first through OIS320MI.
Version differences and gotchas
Transaction lists grow with each 13.x release and with cloud editions; never assume a transaction exists without checking MRS002. Date fields are YYYYMMDD and quantities are in the basic unit of measure unless the transaction takes an alternate unit field. EXPORTMI has limits on output length and is not meant for bulk extracts; use data lake or replication for that. Warehouse interface MIs (MHS850MI, MMS850MI) are asynchronous: they queue messages that M3 processes later, so check for errors after processing, not only the API return.
Frequently Asked Questions
Where is the list of all M3 APIs?
On your M3 system, MI Programs (MRS001) lists every MI program and Transactions (MRS002) lists each transaction with its fields. Infor also publishes API documentation on docs.infor.com. This page highlights the programs integrations use most.
How do I create a customer order through the M3 API?
Use OIS100MI: AddBatchHead creates the order header in batch entry, AddBatchLine adds each line, and Confirm turns it into a real customer order. Check the input fields in MRS002 for your version and handle errors returned by Confirm.
What is the difference between EXPORTMI and MDBREADMI?
EXPORTMI Select runs a select statement you pass in and returns rows as text; it is flexible but not tuned for volume. MDBREADMI calls keyed read transactions for a specific table and index, which is faster and more controlled. Check MRS002 for the MDBREADMI transactions configured on your system.
Can I write to any M3 table with an API?
No. Writes go through business MI programs that apply M3 logic, such as OIS100MI, MMS200MI or PPS300MI. Generic readers are read only. If no standard MI does what you need, the usual options are a custom MI or an extension, not direct database writes.
If you want your team to ask M3 about items, orders and stock in plain English on your own servers, we can build that layer on the MI APIs you already use.
Related Tools
Infor M3 MI API Transaction Call Generator
Fill in program, transaction and parameters to get a ready M3 REST call as URL, curl and a JavaScript fetch snippet.
Infor M3 & CloudSuiteInfor M3 OOHEAD and OOLINE Customer Order Columns Reference
Column-level reference for M3 customer order tables OOHEAD and OOLINE and the delivery tables they join to, with keys, joins and the OIS100MI fields that fill them.
Infor M3 & CloudSuiteInfor M3 Inventory and Allocation Tables Reference (MITBAL, MITLOC, MITALO, MITTRA)
Column-level reference for M3 stock, balance identity, allocation, material plan and transaction tables, with keys, joins and the programs that maintain them.
Infor M3 & CloudSuiteInfor 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.
More Infor M3 & CloudSuite tools
See all- Infor M3 Customer Order Status Tracking Worksheet
- Infor M3 Item Master Upload Worksheet
- Infor M3 MEC Mapping Design Template
- Infor M3 H5 Script Review Checklist
- 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
Keep exploring
Free tools
- Infor M3 MI API Transaction Call GeneratorFill in program, transaction and parameters to get a ready M3 REST call as URL, curl and a JavaScript fetch snippet.
- Infor M3 MI API and ION API Gateway Security ChecklistSecurity checklist for on-prem M3 13.x integrations using MI programs over REST and the ION API gateway: accounts, authorization, transport, monitoring and lifecycle.
- M3 MI API Batch Load Time EstimatorEstimate how long a bulk load through M3 APIs will run and how added parallel threads change it, using your own measured response time.
ERP fixes and how-tos
- Private AI Layer for Infor M3 On-Prem: Reference ArchitectureReference architecture to add a private AI assistant to Infor M3 on-prem: data access paths, retrieval, permissions, sizing and rollout, no cloud needed.
- Paging M3 API MI List Transactions Past the Default Record LimitM3 MI List transactions cap results by default. Use MaxReturnedRecords and the returned continuation key to page through the full result set correctly.
- M3 API Error: Record already existM3 MI Add transaction returning Record already exist. Read the errorType/errorField response, find the real duplicate key, and fix the calling program.
Guides
- Infor M3 API Integration with MI Programs and RESTInfor M3 API integration guide covering MI programs, the m3api-rest v2 endpoint, ION API gateway OAuth, Event Hub, and error handling for reliable interfaces.
- Infor M3 API Performance Optimization GuideOptimize Infor M3 API performance. MI program tuning, API call batching, caching strategies, and connection pool management for high-volume integrations.
- Infor M3 API Toolkit: A Developer's Guide to MI Programs and MvxAPIBuild robust integrations with the Infor M3 API toolkit. Learn MI programs, MvxAPI patterns, and transaction handling for M3 13.4+ environments.
Integrations
- How to add AI agents to Infor M3How to add AI agents to Infor M3: a tool layer over MI programs and ION, read-first workflows for POs, MO and CO exceptions, and human approval on writes.
- How to build an MCP server for Infor M3How to build a Model Context Protocol server for Infor M3: which read-only tools to expose over MI programs, ION or on-prem auth, transports, scoping and audit.