Infor M3 API API

Infor M3 business API programs

OpenAPI Specification

infor-m3-api-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Infor ION API Gateway ION Documents M3 API API
  description: The Infor ION API Gateway provides a managed OAuth 2.0 API layer for integrating Infor CloudSuite applications (M3, LN, Baan, SunSystems, etc.) with third-party systems. The gateway exposes REST endpoints for ION Documents, ION Events, and ION API services with support for Authorization Code, Client Credentials, and SAML Bearer grant types.
  version: 1.0.0
  contact:
    name: Infor Support
    url: https://www.infor.com/support
  license:
    name: Infor License
    url: https://www.infor.com/en/about/legal
servers:
- url: https://{os}/{tenant}/{product}
  description: Infor ION API Gateway
  variables:
    os:
      default: mingledev01-ionapi.mingle.infor.com
      description: ION API gateway hostname
    tenant:
      default: INFOR_DEV
      description: Tenant ID
    product:
      default: M3
      description: Infor product code
security:
- OAuth2ClientCredentials: []
- OAuth2AuthorizationCode: []
tags:
- name: M3 API
  description: Infor M3 business API programs
paths:
  /api/{apiVersion}/{programId}:
    get:
      operationId: callM3ApiGet
      summary: Call M3 MI program (GET)
      description: Executes an Infor M3 MI (Management Interface) program transaction via the ION API Gateway. GET requests retrieve data from M3. The programId follows the pattern {ProgramName}/{TransactionName} (e.g., CRS610MI/GetBasicData).
      tags:
      - M3 API
      parameters:
      - name: apiVersion
        in: path
        required: true
        schema:
          type: string
          default: latest
        description: API version (e.g., "latest" or specific version number)
      - name: programId
        in: path
        required: true
        schema:
          type: string
        description: M3 MI program and transaction (e.g., "CRS610MI/GetBasicData")
      - name: CUNO
        in: query
        schema:
          type: string
        description: Customer number (example M3 input field)
      - name: maxrecs
        in: query
        schema:
          type: integer
          default: 10
        description: Maximum records to return
      - name: returncols
        in: query
        schema:
          type: string
        description: Comma-separated column names to return
      responses:
        '200':
          description: M3 API response returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/M3ApiResponse'
        '400':
          description: Invalid request or M3 error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/M3Error'
        '401':
          description: Unauthorized
        '404':
          description: M3 program not found
    post:
      operationId: callM3ApiPost
      summary: Call M3 MI program (POST)
      description: Executes an Infor M3 MI program transaction via POST. Used for write operations (Add, Change, Delete transactions).
      tags:
      - M3 API
      parameters:
      - name: apiVersion
        in: path
        required: true
        schema:
          type: string
          default: latest
      - name: programId
        in: path
        required: true
        schema:
          type: string
        description: M3 MI program and transaction (e.g., "CRS610MI/AddBasicData")
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/M3ApiRequest'
      responses:
        '200':
          description: M3 API response returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/M3ApiResponse'
        '400':
          description: M3 error or validation failure
components:
  schemas:
    M3ApiResponse:
      type: object
      description: Response from an M3 MI program transaction
      properties:
        Message:
          $ref: '#/components/schemas/M3Message'
        MIRecord:
          type: array
          items:
            $ref: '#/components/schemas/M3Record'
        Program:
          type: string
        Transaction:
          type: string
    M3Message:
      type: object
      properties:
        id:
          type: string
        text:
          type: string
        type:
          type: string
          enum:
          - Info
          - Warning
          - Error
        field:
          type: string
          description: Field name in error, if applicable
    M3ApiRequest:
      type: object
      description: Request payload for an M3 MI program transaction
      properties:
        company:
          type: string
          description: M3 company (division) number
        record:
          type: object
          description: Input field key-value pairs for the M3 transaction
          additionalProperties:
            type: string
    M3Error:
      type: object
      properties:
        errorMessage:
          type: string
        errorType:
          type: string
        program:
          type: string
        transaction:
          type: string
    M3Record:
      type: object
      description: A single data record returned from an M3 MI transaction
      properties:
        NameValue:
          type: array
          items:
            type: object
            properties:
              Name:
                type: string
              Value:
                type: string
  securitySchemes:
    OAuth2ClientCredentials:
      type: oauth2
      description: Infor ION API Client Credentials grant
      flows:
        clientCredentials:
          tokenUrl: https://inforos.infor.com/INFOR_DEV/as/token.oauth2
          scopes: {}
    OAuth2AuthorizationCode:
      type: oauth2
      description: Infor ION API Authorization Code grant
      flows:
        authorizationCode:
          authorizationUrl: https://inforos.infor.com/INFOR_DEV/as/authorization.oauth2
          tokenUrl: https://inforos.infor.com/INFOR_DEV/as/token.oauth2
          scopes: {}
externalDocs:
  description: Infor ION API SDK GitHub
  url: https://github.com/infor-cloud/ion-api-sdk