Skip to main content

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.

Looking for the other direction?

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 deploymentSolution
Multi-tenant M3, with IONDirect to Infor STS + ION API Gateway
Single-tenant M3, with ION — Infor hosts your M3 environment in AWS and provides full operations/support for itProxy to Infor STS + ION API Gateway
On-prem M3, with IONProxy to Infor STS + ION API Gateway
On-prem M3, without IONProxy directly to the M3 API
tip

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.

Diagram: Vince Platform requests a token directly from Infor STS and sends authorized requests directly to the ION API Gateway, with no proxy involved

Connection fields in Vince Platform​

FieldValue
Authentication TypeOAuth 2.0
Token URIInfor's public STS endpoint
Base URIInfor's public ION API Gateway endpoint
Grant Typeclient_credentials
Client ID / Client SecretIssued 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.

Diagram: Vince Platform requests a token and sends authorized requests through your proxy, which forwards each to the correct Infor origin — STS or ION API Gateway

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:

FieldValue
Authentication TypeOAuth 2.0
Token URIThe proxy's public path to the Infor STS endpoint
Base URIThe proxy's public path to the ION API Gateway endpoint
Grant Typeclient_credentials
Client ID / Client SecretIssued 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.

Diagram: Vince Platform sends a Basic auth request to your proxy, which forwards it to the M3 API endpoint

Last resort: firewall without a gateway

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​

FieldValue
Authentication TypeBasic
Base URIYour gateway's public URL for the M3 API endpoint
Username / PasswordThe M3 user credentials
Use Static IPRequired 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.

M3 API v1 will be retired in April 2028

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​