Connecting to Infor M3
This guide covers how to set up a Connection in Vince Platform so workflows can call out to the Infor M3 API — for example via the REST API component or the M3 API component.
This guide is about outbound calls from Vince Platform to M3. If you instead want M3 to trigger a Vince Platform workflow, see Infor ION for BOD-based triggers, or Receive M3 Table Events for table-level events via CMS049.
The right Connection setup depends entirely on how your M3 environment is deployed. Find your deployment in the table below, then follow its link to the matching solution and configure the Connection fields accordingly.
Find your deployment
| Your M3 deployment | Solution |
|---|---|
| Multi-tenant M3, with ION | Direct to Infor STS + ION API Gateway |
| Single-tenant M3, with ION — Infor hosts your M3 environment in AWS and provides full operations/support for it | Proxy to Infor STS + ION API Gateway |
| On-prem M3, with ION | Proxy to Infor STS + ION API Gateway |
| On-prem M3, without ION | Proxy directly to the M3 API |
Single-tenant and on-prem deployments with ION must proxy to reach Infor STS and the ION API Gateway — direct access to those endpoints isn't available the way it is for multi-tenant M3.
Solution 1 — Direct to Infor STS + ION API Gateway
Multi-tenant M3 with ION only.
No proxy is involved. Vince Platform authenticates directly against Infor's public STS endpoint, and makes authorized requests directly against the public ION API Gateway endpoint.
Connection fields in Vince Platform
| Field | Value |
|---|---|
| Authentication Type | OAuth 2.0 |
| Token URI | Infor's public STS endpoint |
| Base URI | Infor's public ION API Gateway endpoint |
| Grant Type | client_credentials |
| Client ID / Client Secret | Issued by Infor for the service account calling the API — see Infor ION API |
Solution 2 — Proxy to Infor STS + ION API Gateway
On-prem M3 with ION, or single-tenant M3 with ION (Infor-hosted in AWS, with Infor providing full operations/support for the environment).
Set up a proxy/gateway that forwards requests to both the Infor STS endpoint (used to obtain an access token) and the ION API Gateway endpoint (used for authorized requests). These two endpoints are usually on different origin servers, and possibly different ports — the proxy needs a route configured for each one.
You must initiate this setup with Infor yourself, to get your own proxy configured and routing to the Infor STS and ION API Gateway endpoints. Vince Software cannot assist with this technical setup — it is between you and Infor.
This proxy setup is separate from creating the Authorized App that issues your Client ID and Client Secret — that step is self-service in ION API and identical across all ION-enabled deployments. See Infor ION API.
Connection fields in Vince Platform
Once your proxy is in place, configure the Connection to point at its public paths:
| Field | Value |
|---|---|
| Authentication Type | OAuth 2.0 |
| Token URI | The proxy's public path to the Infor STS endpoint |
| Base URI | The proxy's public path to the ION API Gateway endpoint |
| Grant Type | client_credentials |
| Client ID / Client Secret | Issued by Infor for the service account calling the API — see Infor ION API |
Solution 3 — Proxy directly to the M3 API
On-prem M3 without ION only.
Put a reverse proxy or API gateway of your own in front of the M3 REST API, and point Vince Platform at it. The gateway may add its own authentication layer and security requirements, but authentication against M3 itself is always Basic (username and password).
The M3 endpoint the gateway forwards to must be served by a router in M3 Grid with ephemeral sessions enabled, so each M3 session is closed as soon as its request finishes instead of piling up and overloading the Grid. If you don't already have one, see Configure an Ephemeral Router.
We always recommend a reverse proxy or API gateway. Only if that isn't possible, expose the M3 endpoint through a firewall rule instead — and then the firewall must only admit Vince Platform's static IP, since the M3 API, protected only by Basic authentication, is otherwise open to the internet. Enable Use Static IP on the Connection so requests originate from that fixed IP.
Connection fields in Vince Platform
| Field | Value |
|---|---|
| Authentication Type | Basic |
| Base URI | Your gateway's public URL for the M3 API endpoint |
| Username / Password | The M3 user credentials |
| Use Static IP | Required when exposing M3 through a firewall without a gateway; otherwise as your gateway requires |
FAQ
Which M3 REST API version does Vince Platform need?
M3 REST API v2 (/m3api-rest/v2/execute). The
M3 API component, and the drag-and-drop workflow
building and design templates in VXL Live that rely on it, all require v2.
The ION API Gateway is enabled in our environment, but REST API v2 isn't. Is that enough?
No. The ION API Gateway is only one route Vince Platform can use to reach M3 (Solutions 1 and 2 above). Which REST API versions you can call depends on your M3 installation, not on the gateway.
Do we need the ION API Gateway at all for on-prem M3?
No. Vince Platform can call the on-prem M3 REST API directly (Solution 3), with Basic authentication as an M3 user. We recommend putting your own reverse proxy or API gateway in front of M3 for this. Exposing M3 through a firewall that only admits Vince Platform's static IP is a last resort.
Our M3 only has REST API v1. Can we still use Vince Platform?
Yes, for App Builder. App Builder workflows are usually simple, often a single M3 transaction, so they can call v1 directly through the REST API component. VXL Live can technically call v1 the same way, but we don't recommend it: the drag-and-drop building, design templates, and other features that rely on v2 don't work, and you're left with raw data dumps.
Infor plans to retire the M3 API v1 REST endpoints in April 2028 (Infor Knowledge Base article KB3676605 — Infor Customer Portal sign-in required).
If any of your solutions call M3 API v1 REST endpoints, review them now and plan your transition to the corresponding M3 API v2 REST endpoints well ahead of the retirement date. M3 API v2 has been available for many years and is Infor's recommended endpoint for existing integrations.
What's the practical difference between v1 and v2?
In v1, every transaction is a GET request with its input fields passed as query-string parameters
(/m3api-rest/execute/CRS610MI/LstByNumber?CUNO=…). That's fine for a hand-built call, but the M3 API
component and the VXL Live workflow builder are built on v2.
How do we check which version our M3 has?
Ask your M3 administrator, or call a simple transaction through both paths:
…/m3api-rest/v2/execute/CRS610MI/LstByNumber and …/m3api-rest/execute/CRS610MI/LstByNumber. If only the
second path responds, you have v1 only.
Further reading
- Connections — general Connection setup and field reference
- Infor ION API — obtain the Client ID and Client Secret used in Solutions 1 and 2
- Configure an Ephemeral Router — enable ephemeral sessions in M3 Grid, required for Solution 3
- OAuth 2.0 and Basic authentication
- REST API Component and M3 API Component — use the connection in a workflow
- Infor ION — for the reverse direction: triggering Vince Platform workflows from M3 BODs