ECI Solutions ERP/PRODUCTION API

The ERP/PRODUCTION API from ECI Solutions — 66 operation(s) for erp/production.

Operations 122

GET /api/ERP/ChangeRequestGroups Returns all existing ChangeRequestGroups according to the filter, order by and… #
GET /api/ERP/ChangeRequestGroups/{key} Returns a single ChangeRequestGroup record for a given Unique Id #
GET /api/ERP/ChangeRequests Returns all existing ChangeRequests according to the filter, order by and… #
PUT /api/ERP/ChangeRequests Creates or updates a single ChangeRequest record #
GET /api/ERP/ChangeRequests/{key} Returns a single ChangeRequest record for a given Unique Id #
DELETE /api/ERP/ChangeRequests/{key} Deletes a single ChangeRequest record #
GET /api/ERP/ChangeRequestTypes Returns all existing ChangeRequestTypes according to the filter, order by and… #
PUT /api/ERP/ChangeRequestTypes Creates or updates a single ChangeRequestType record #
GET /api/ERP/ChangeRequestTypes/{key} Returns a single ChangeRequestType record for a given Unique Id #
DELETE /api/ERP/ChangeRequestTypes/{key} Deletes a single ChangeRequestType record #
GET /api/ERP/JobAssemblies Returns all existing JobAssemblies according to the filter, order by and… #
PUT /api/ERP/JobAssemblies Creates or updates a single JobAssembly record #
GET /api/ERP/JobAssemblies/{key} Returns a single JobAssembly record for a given Unique Id #
DELETE /api/ERP/JobAssemblies/{key} Deletes a single JobAssembly record #
GET /api/ERP/JobCosts Returns all existing JobCosts according to the filter, order by and pagination… #
PUT /api/ERP/JobCosts Creates or updates a single JobCost record #
GET /api/ERP/JobCosts/{key} Returns a single JobCost record for a given Unique Id #
DELETE /api/ERP/JobCosts/{key} Deletes a single JobCost record #
GET /api/ERP/JobMaterialComponents Returns all existing JobMaterialComponents according to the filter, order by… #
PUT /api/ERP/JobMaterialComponents Creates or updates a single JobMaterialComponent record #
GET /api/ERP/JobMaterialComponents/{key} Returns a single JobMaterialComponent record for a given Unique Id #
DELETE /api/ERP/JobMaterialComponents/{key} Deletes a single JobMaterialComponent record #
GET /api/ERP/JobMaterials Returns all existing JobMaterials according to the filter, order by and… #
PUT /api/ERP/JobMaterials Creates or updates a single JobMaterial record #
GET /api/ERP/JobMaterials/{key} Returns a single JobMaterial record for a given Unique Id #
DELETE /api/ERP/JobMaterials/{key} Deletes a single JobMaterial record #
GET /api/ERP/JobMemos Returns all existing JobMemos according to the filter, order by and pagination… #
PUT /api/ERP/JobMemos Creates or updates a single JobMemo record #
GET /api/ERP/JobMemos/{key} Returns a single JobMemo record for a given Unique Id #
DELETE /api/ERP/JobMemos/{key} Deletes a single JobMemo record #
GET /api/ERP/JobOperations Returns all existing JobOperations according to the filter, order by and… #
PUT /api/ERP/JobOperations Creates or updates a single JobOperation record #
GET /api/ERP/JobOperations/{key} Returns a single JobOperation record for a given Unique Id #
DELETE /api/ERP/JobOperations/{key} Deletes a single JobOperation record #
GET /api/ERP/JobPriorities Returns all existing JobPriorities according to the filter, order by and… #
PUT /api/ERP/JobPriorities Creates or updates a single JobPriority record #
GET /api/ERP/JobPriorities/{key} Returns a single JobPriority record for a given Unique Id #
DELETE /api/ERP/JobPriorities/{key} Deletes a single JobPriority record #
GET /api/ERP/Jobs Returns all existing Jobs according to the filter, order by and pagination… #
PUT /api/ERP/Jobs Creates or updates a single Job record #
GET /api/ERP/Jobs/{key} Returns a single Job record for a given Unique Id #
DELETE /api/ERP/Jobs/{key} Deletes a single Job record #
GET /api/ERP/JobScenarios Returns all existing JobScenarios according to the filter, order by and… #
PUT /api/ERP/JobScenarios Creates or updates a single JobScenario record #
GET /api/ERP/JobScenarios/{key} Returns a single JobScenario record for a given Unique Id #
DELETE /api/ERP/JobScenarios/{key} Deletes a single JobScenario record #
GET /api/ERP/MRPDemands Returns all existing MRPDemands according to the filter, order by and… #
PUT /api/ERP/MRPDemands Creates or updates a single MRPDemand record #
GET /api/ERP/MRPDemands/{key} Returns a single MRPDemand record for a given Unique Id #
DELETE /api/ERP/MRPDemands/{key} Deletes a single MRPDemand record #
GET /api/ERP/MRPJobDetails Returns all existing MRPJobDetails according to the filter, order by and… #
PUT /api/ERP/MRPJobDetails Creates or updates a single MRPJobDetail record #
GET /api/ERP/MRPJobDetails/{key} Returns a single MRPJobDetail record for a given Unique Id #
DELETE /api/ERP/MRPJobDetails/{key} Deletes a single MRPJobDetail record #
GET /api/ERP/MRPLines Returns all existing MRPLines according to the filter, order by and pagination… #
PUT /api/ERP/MRPLines Creates or updates a single MRPLine record #
GET /api/ERP/MRPLines/{key} Returns a single MRPLine record for a given Unique Id #
DELETE /api/ERP/MRPLines/{key} Deletes a single MRPLine record #
GET /api/ERP/MRPSessions Returns all existing MRPSessions according to the filter, order by and… #
PUT /api/ERP/MRPSessions Creates or updates a single MRPSession record #
GET /api/ERP/MRPSessions/{key} Returns a single MRPSession record for a given Unique Id #
DELETE /api/ERP/MRPSessions/{key} Deletes a single MRPSession record #
GET /api/ERP/MRPSupply Returns all existing MRPSupply according to the filter, order by and pagination… #
PUT /api/ERP/MRPSupply Creates or updates a single MRPSupply record #
GET /api/ERP/MRPSupply/{key} Returns a single MRPSupply record for a given Unique Id #
DELETE /api/ERP/MRPSupply/{key} Deletes a single MRPSupply record #
GET /api/ERP/PlantDepartments Returns all existing PlantDepartments according to the filter, order by and… #
PUT /api/ERP/PlantDepartments Creates or updates a single PlantDepartment record #
GET /api/ERP/PlantDepartments/{key} Returns a single PlantDepartment record for a given Unique Id #
DELETE /api/ERP/PlantDepartments/{key} Deletes a single PlantDepartment record #
GET /api/ERP/Plants Returns all existing Plants according to the filter, order by and pagination… #
PUT /api/ERP/Plants Creates or updates a single Plant record #
GET /api/ERP/Plants/{key} Returns a single Plant record for a given Unique Id #
DELETE /api/ERP/Plants/{key} Deletes a single Plant record #
GET /api/ERP/Priorities Returns all existing Priorities according to the filter, order by and… #
PUT /api/ERP/Priorities Creates or updates a single Priority record #
GET /api/ERP/Priorities/{key} Returns a single Priority record for a given Unique Id #
DELETE /api/ERP/Priorities/{key} Deletes a single Priority record #
GET /api/ERP/Processes Returns all existing Processes according to the filter, order by and pagination… #
PUT /api/ERP/Processes Creates or updates a single Process record #
GET /api/ERP/Processes/{key} Returns a single Process record for a given Unique Id #
DELETE /api/ERP/Processes/{key} Deletes a single Process record #
GET /api/ERP/ProductionCalendarDays Returns all existing ProductionCalendarDays according to the filter, order by… #
GET /api/ERP/ProductionCalendarDays/{key} Returns a single ProductionCalendarDay record for a given Unique Id #
GET /api/ERP/ProductionCalendars Returns all existing ProductionCalendars according to the filter, order by and… #
GET /api/ERP/ProductionCalendars/{key} Returns a single ProductionCalendar record for a given Unique Id #
GET /api/ERP/ProductionCalendarWorkCenters Returns all existing ProductionCalendarWorkCenters according to the filter… #
GET /api/ERP/ProductionCalendarWorkCenters/{key} Returns a single ProductionCalendarWorkCenter record for a given Unique Id #
GET /api/ERP/ProductionDepartments Returns all existing ProductionDepartments according to the filter, order by… #
PUT /api/ERP/ProductionDepartments Creates or updates a single ProductionDepartment record #
GET /api/ERP/ProductionDepartments/{key} Returns a single ProductionDepartment record for a given Unique Id #
DELETE /api/ERP/ProductionDepartments/{key} Deletes a single ProductionDepartment record #
GET /api/ERP/ToolCategories Returns all existing ToolCategories according to the filter, order by and… #
GET /api/ERP/ToolCategories/{key} Returns a single ToolCategory record for a given Unique Id #
GET /api/ERP/ToolMemos Returns all existing ToolMemos according to the filter, order by and pagination… #
PUT /api/ERP/ToolMemos Creates or updates a single ToolMemo record #
GET /api/ERP/ToolMemos/{key} Returns a single ToolMemo record for a given Unique Id #
DELETE /api/ERP/ToolMemos/{key} Deletes a single ToolMemo record #
GET /api/ERP/ToolMovements Returns all existing ToolMovements according to the filter, order by and… #
PUT /api/ERP/ToolMovements Creates or updates a single ToolMovement record #
GET /api/ERP/ToolMovements/{key} Returns a single ToolMovement record for a given Unique Id #
DELETE /api/ERP/ToolMovements/{key} Deletes a single ToolMovement record #
GET /api/ERP/Tools Returns all existing Tools according to the filter, order by and pagination… #
PUT /api/ERP/Tools Creates or updates a single Tool record #
GET /api/ERP/Tools/{key} Returns a single Tool record for a given Unique Id #
DELETE /api/ERP/Tools/{key} Deletes a single Tool record #
GET /api/ERP/WorkCenterMachines Returns all existing WorkCenterMachines according to the filter, order by and… #
PUT /api/ERP/WorkCenterMachines Creates or updates a single WorkCenterMachine record #
GET /api/ERP/WorkCenterMachines/{key} Returns a single WorkCenterMachine record for a given Unique Id #
DELETE /api/ERP/WorkCenterMachines/{key} Deletes a single WorkCenterMachine record #
GET /api/ERP/WorkCenterMemos Returns all existing WorkCenterMemos according to the filter, order by and… #
PUT /api/ERP/WorkCenterMemos Creates or updates a single WorkCenterMemo record #
GET /api/ERP/WorkCenterMemos/{key} Returns a single WorkCenterMemo record for a given Unique Id #
DELETE /api/ERP/WorkCenterMemos/{key} Deletes a single WorkCenterMemo record #
GET /api/ERP/WorkCenters Returns all existing WorkCenters according to the filter, order by and… #
PUT /api/ERP/WorkCenters Creates or updates a single WorkCenter record #
GET /api/ERP/WorkCenters/{key} Returns a single WorkCenter record for a given Unique Id #
DELETE /api/ERP/WorkCenters/{key} Deletes a single WorkCenter record #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eci-solutions-erp-production-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eci-solutions-erp-production-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: M1 Public ERP/PRODUCTION API
  description: '## Developer Notes for the M1 Public API (ERP resource):


    ### Hosted Environment


    If you are using the public API for a hosted M1 customer, you must connect to the public API using the Integration Engine.'
  contact:
    name: ECI Software Solutions - M1
    url: https://www.ecisolutions.com/manufacturers-and-job-shops/m1
  version: v1
servers:
- url: https://api-m1.integrations.ecimanufacturing.com
  description: API Host
security:
- oauth2: []
tags:
- name: ERP/PRODUCTION
paths:
  /api/ERP/ChangeRequestGroupLinks:
    get:
      tags:
      - ERP/PRODUCTION
      summary: Returns all existing ChangeRequestGroupLinks according to the filter, order by…
      description: 'When passing the filter parameter, the following operators are supported: [eq, ne, gt, lt]. Multiple filters can be specified as separate query parameters in the format M1Field[operator]value. eg. `impPartID[eq]CLIP`. An invalid filter will return a 400 Bad Request response.


        When passing the orderBy parameter, the following operators are supported: [Asc, Desc]. The format must be M1Field[Asc],M1Field[Desc]. eg. `impPartID[Asc],impPartType[Desc]`. An invalid orderBy will return a 400 Bad Request response.


        Custom fields are returned in the response as their full field name, they are also filterable and sortable. The format should be `M1CustomField[operator]value`. eg. `uimpCustomField1[eq]12`.'
      operationId: ERPChangeRequestGroupLinks_GetAllChangeRequestGroupLinkAsync
      parameters:
      - name: pageSize
        in: query
        description: Specifies the number of items per page. Defaults to 1000 which is also the maximum.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: Specifies the page number to retrieve. Defaults to 0, which corresponds to the first page.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: filter
        in: query
        description: Applies a filter to the returned data. The format should be `M1Field[operator]value`.
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: orderBy
        in: query
        description: Specifies the sorting criteria for the returned data. The format should be `M1Field[Asc],M1Field[Desc]`.
        style: form
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupLinkDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupLinkDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupLinkDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupLinkDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    put:
      tags:
      - ERP/PRODUCTION
      summary: Creates or updates a single ChangeRequestGroupLink record
      description: 'When a record does not exist, a new record will be created. When a record exists, the record will be updated.


        When updating an existing record, all fields must be provided, even if they are not changing. Upon update, the UniqueID, Created By/Date and M1 Keys (eg. cmoOrganizationID) will not be updated.


        Custom fields should be sent in the request as their full field name and should be prefixed with `u`. eg. `uimpCustomField1`.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPChangeRequestGroupLinks_PutChangeRequestGroupLinkAsync
      requestBody:
        description: The fully populated {M1.API.DTOs.ERP.ERPChangeRequestGroupLinkDto} model.
        content:
          text/json:
            schema:
              $ref: '#/components/schemas/ERPChangeRequestGroupLinkDto'
          application/json:
            schema:
              $ref: '#/components/schemas/ERPChangeRequestGroupLinkDto'
        required: true
        x-bodyName: changeRequestGroupLink
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
        '201':
          description: Created
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/ChangeRequestGroupLinks/{key}:
    get:
      tags:
      - ERP/PRODUCTION
      summary: Returns a single ChangeRequestGroupLink record for a given Unique Id
      description: This endpoint retrieves a ChangeRequestGroupLink based on its identifier. If the record does not exist, a 404 Not Found response will be returned.
      operationId: ERPChangeRequestGroupLinks_GetChangeRequestGroupLinkAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be retrieved
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    delete:
      tags:
      - ERP/PRODUCTION
      summary: Deletes a single ChangeRequestGroupLink record
      description: 'If the record is not found, a 404 Not Found response will be returned.


        If the record is successfully deleted, a 200 OK response will be returned.


        If the record is being used anywhere in the M1 system, a 400 Bad Request response will be returned.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPChangeRequestGroupLinks_DeleteChangeRequestGroupLinkAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be deleted
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupLinkDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/ChangeRequestGroups:
    get:
      tags:
      - ERP/PRODUCTION
      summary: Returns all existing ChangeRequestGroups according to the filter, order by and…
      description: 'When passing the filter parameter, the following operators are supported: [eq, ne, gt, lt]. Multiple filters can be specified as separate query parameters in the format M1Field[operator]value. eg. `impPartID[eq]CLIP`. An invalid filter will return a 400 Bad Request response.


        When passing the orderBy parameter, the following operators are supported: [Asc, Desc]. The format must be M1Field[Asc],M1Field[Desc]. eg. `impPartID[Asc],impPartType[Desc]`. An invalid orderBy will return a 400 Bad Request response.


        Custom fields are returned in the response as their full field name, they are also filterable and sortable. The format should be `M1CustomField[operator]value`. eg. `uimpCustomField1[eq]12`.'
      operationId: ERPChangeRequestGroups_GetAllChangeRequestGroupAsync
      parameters:
      - name: pageSize
        in: query
        description: Specifies the number of items per page. Defaults to 1000 which is also the maximum.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: Specifies the page number to retrieve. Defaults to 0, which corresponds to the first page.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: filter
        in: query
        description: Applies a filter to the returned data. The format should be `M1Field[operator]value`.
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: orderBy
        in: query
        description: Specifies the sorting criteria for the returned data. The format should be `M1Field[Asc],M1Field[Desc]`.
        style: form
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestGroupDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/ChangeRequestGroups/{key}:
    get:
      tags:
      - ERP/PRODUCTION
      summary: Returns a single ChangeRequestGroup record for a given Unique Id
      description: This endpoint retrieves a ChangeRequestGroup based on its identifier. If the record does not exist, a 404 Not Found response will be returned.
      operationId: ERPChangeRequestGroups_GetChangeRequestGroupAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be retrieved
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestGroupDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/ChangeRequests:
    get:
      tags:
      - ERP/PRODUCTION
      summary: Returns all existing ChangeRequests according to the filter, order by and…
      description: 'When passing the filter parameter, the following operators are supported: [eq, ne, gt, lt]. Multiple filters can be specified as separate query parameters in the format M1Field[operator]value. eg. `impPartID[eq]CLIP`. An invalid filter will return a 400 Bad Request response.


        When passing the orderBy parameter, the following operators are supported: [Asc, Desc]. The format must be M1Field[Asc],M1Field[Desc]. eg. `impPartID[Asc],impPartType[Desc]`. An invalid orderBy will return a 400 Bad Request response.


        Custom fields are returned in the response as their full field name, they are also filterable and sortable. The format should be `M1CustomField[operator]value`. eg. `uimpCustomField1[eq]12`.'
      operationId: ERPChangeRequests_GetAllChangeRequestAsync
      parameters:
      - name: pageSize
        in: query
        description: Specifies the number of items per page. Defaults to 1000 which is also the maximum.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: Specifies the page number to retrieve. Defaults to 0, which corresponds to the first page.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: filter
        in: query
        description: Applies a filter to the returned data. The format should be `M1Field[operator]value`.
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: orderBy
        in: query
        description: Specifies the sorting criteria for the returned data. The format should be `M1Field[Asc],M1Field[Desc]`.
        style: form
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPChangeRequestDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    put:
      tags:
      - ERP/PRODUCTION
      summary: Creates or updates a single ChangeRequest record
      description: 'When a record does not exist, a new record will be created. When a record exists, the record will be updated.


        When updating an existing record, all fields must be provided, even if they are not changing. Upon update, the UniqueID, Created By/Date and M1 Keys (eg. cmoOrganizationID) will not be updated.


        Custom fields should be sent in the request as their full field name and should be prefixed with `u`. eg. `uimpCustomField1`.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPChangeRequests_PutChangeRequestAsync
      requestBody:
        description: The fully populated {M1.API.DTOs.ERP.ERPChangeRequestDto} model.
        content:
          text/json:
            schema:
              $ref: '#/components/schemas/ERPChangeRequestDto'
          application/json:
            schema:
              $ref: '#/components/schemas/ERPChangeRequestDto'
        required: true
        x-bodyName: changeRequest
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
        '201':
          description: Created
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPChangeRequestDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            appl

# --- truncated at 32 KB (565 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eci-solutions/refs/heads/main/openapi/eci-solutions-erp-production-api-openapi.yml