# M1 Public API

**Canonical:** https://apis.io/apis/eci-solutions/eci-solutions-m1/  
**Provider:** ECI Solutions — https://apis.io/providers/eci-solutions/  
**Base URL:** https://api-m1.integrations.ecimanufacturing.com  
**Documentation:** https://integrations.ecimanufacturing.com/api.html?family=m1

M1 Public API is one of 15 APIs that [ECI Solutions](https://apis.io/providers/eci-solutions/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include ERP, Manufacturing, Inventory, Production, and Quality. The published artifact set on APIs.io includes an OpenAPI specification and an API reference.

The M1 ERP public REST API for hosted M1 customers, exposing roughly 1,200 operations across inventory, financial, CRM, production, quality, purchase orders, shipping, employee, sales orders, quotations, BOM and general ERP resources. OAuth 2.0 client-credentials with API users issued from the Integration Engine Management Console; supports M1Field[operator] filter expressions and pageSize paging, and returns both JSON and XML representations.

## Operations (60 of 1208)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/BOM/Core/GetPartClassesAll/{pageNo}/{pageSize}` | Returns list of all active part classes |
| GET | `/api/BOM/Core/GetPartGroupsAll/{pageNo}/{pageSize}` | Returns list of all active part groups |
| GET | `/api/BOM/Core/GetProcessesAll/{pageNo}/{pageSize}` | Returns list of all active processes |
| GET | `/api/BOM/Core/GetWorkCentersAll/{pageNo}/{pageSize}` | Returns list of all active workcenters |
| GET | `/api/BOM/Core/GetWarehousesAll/{pageNo}/{pageSize}` | Returns list of all active warehouses |
| GET | `/api/BOM/Core/GetWarehouseBinsAll/{pageNo}/{pageSize}` | Returns list of all active warehouse bins |
| GET | `/api/BOM/Job/GetJobGUIDs/{jobId}/{partId}` | Returns GUIDs for a given jobid and/or partid. Do not use special charactors or url reserved charactors for parameter values. |
| GET | `/api/BOM/Job/GetJobMethod/{jobId}` | Returns job details for a given M1 job id or GUID. Do not pass job id if it has special characters (other than Aa-Zz0-9.-) pass GUID instead |
| GET | `/api/BOM/Job/GetAllJobs/{pageSize}/{pageNumber}` | Returns a list of all BOM jobs with pagination. |
| GET | `/api/BOM/Job/GetJob/{jobId}` | Returns a specific BOM job based on the provided job ID. |
| POST | `/api/BOM/Job/PostJob` | Posts a new BOM job. |
| POST | `/api/BOM/Job/UpdateSchedulingDetails/{jobId}` | Updates the scheduling details for a specific job. |
| GET | `/api/BOM/Job/GetJobAssembly/{jobId}/{jobAssemblyId}` | Returns job assembly details for a given job and assembly id. |
| GET | `/api/BOM/Job/GetJobAssemblies/{jobId}` | Returns JobAssembly for a given JobAssembly id. |
| GET | `/api/BOM/Job/GetAllJobAssemblies/{pageSize}/{pageNumber}` | Returns all existing JobAssemblies with pagination. |
| POST | `/api/BOM/Job/PostJobAssembly` | Creates a job assembly based on input parameter. |
| DELETE | `/api/BOM/Job/DeleteJobAssembly/{jobId}/{jobAssemblyId}` | Deletes a job assembly based on input parameters. |
| GET | `/api/BOM/Job/GetJobMaterial/{jobId}/{jobAssemblyId}/{jobMaterialId}` | Returns job material details for a given job,assembly and material id. |
| GET | `/api/BOM/Job/GetAllJobMaterials/{pageSize}/{pageNumber}` | Returns all existing JobMaterials with pagination. |
| POST | `/api/BOM/Job/PostJobMaterial` | Posts a new JobMaterial. |
| DELETE | `/api/BOM/Job/DeleteJobMaterial/{jobId}/{jobAssemblyId}/{jobMaterialId}` | Deletes a job material based on input parameters. |
| GET | `/api/BOM/Job/GetJobOperation/{jobId}/{jobAssemblyId}/{jobOperationId}` | Returns job operation details for a given job,assembly and operation id. |
| GET | `/api/BOM/Job/GetAllJobOperations/{pageSize}/{pageNumber}` | Returns all existing JobOperations with pagination. |
| POST | `/api/BOM/Job/PostJobOperation` | Posts a new JobOperation. |
| DELETE | `/api/BOM/Job/DeleteJobOperation/{jobId}/{jobAssemblyId}/{jobOperationId}` | Deletes a job operation based on input parameters. |
| GET | `/api/BOM/Job/GetAllTimecardLines/{pageSize}/{pageNumber}` | Returns all existing TimecardLines with pagination. |
| GET | `/api/BOM/Job/GetTimecardLine/{timecardId}/{timecardLineId}` | Returns TimecardLine for a given Timecard id containing TimecardLine id. |
| GET | `/api/BOM/Job/GetAllTimecards/{pageSize}/{pageNumber}` | Returns all existing Timecards with pagination. |
| GET | `/api/BOM/Job/GetTimecard/{timecardId}` | Returns Timecard for a given Timecard id. |
| GET | `/api/BOM/Job/GetTimecard/{timecardId}/{employeeId}` | Returns Timecard for a given Timecard id and Employee id. |
| GET | `/api/BOM/Organization/GetAllOrganizations/{pageSize}/{pageNumber}` | Returns all existing organizations with pagination. |
| GET | `/api/BOM/Organization/GetOrganization/{organizationId}` | Returns organization for a given organization id. |
| GET | `/api/BOM/Organization/GetAllOrganizationContacts/{pageSize}/{pageNumber}` | Returns all existing OrganizationContacts with pagination. |
| GET | `/api/BOM/Organization/GetOrganizationContact/{organizationId}/{locationId}/{contactId}` | Returns OrganizationContact for a given Organization id, Location id and Contact id |
| POST | `/api/BOM/Organization/PostOrganizationContact` | Posts a new OrganizationContact. |
| GET | `/api/BOM/Organization/GetAllOrganizationLocations/{pageSize}/{pageNumber}` | Returns all existing OrganizationLocations with pagination. |
| GET | `/api/BOM/Organization/GetOrganizationLocation/{organizationId}/{organizationLocationId}` | Returns OrganizationLocation for a given Organization Id and OrganizationLocation id. |
| POST | `/api/BOM/Organization/PostOrganizationLocation` | Posts a new OrganizationLocation. |
| GET | `/api/BOM/Part/GetParts/{partId}` | Returns part details for a given M1 part id or GUID. Do not pass part id if it has special characters (other than Aa-Zz0-9.-) pass GUID instead |
| GET | `/api/BOM/Part/GetAllParts/{pageSize}/{pageNumber}` | Returns all existing parts with pagination. |
| POST | `/api/BOM/Part/PostParts` | Creates a part with the required attributes. |
| GET | `/api/BOM/Part/GetPartRevisions/{partId}` | Returns part and part revision details for a given M1 part id or GUID. Do not pass part id if it has special characters (other than Aa-Zz0-9.-) pass GUID ins... |
| POST | `/api/BOM/Part/PostPartRevisions` | Creates a part and relevant part revisions based on input parameter. |
| GET | `/api/BOM/Part/GetPartAssembly/{methodId}/{methodRevisionId}/{methodAssemblyId}` | Returns part and part assembly details for a given M1 method id, method revision id and method assembly id. Alternatively it can be used the method assembly ... |
| GET | `/api/BOM/Part/GetPartAssembly/{methodAsmGuid}` | Returns part and part assembly details for a given M1 method assembly GUID. |
| POST | `/api/BOM/Part/PostPartAssembly` | Creates a part assembly based on input parameter. |
| DELETE | `/api/BOM/Part/DeletePartAssembly/{methodId}/{methodRevisionId}/{methodAssemblyId}` | Deletes a part assembly for method id, method revision id and method assembly id. Do not use this method if you have special characters (other than Aa-Zz0-9.... |
| DELETE | `/api/BOM/Part/DeletePartAssembly/{methodAsmGuid}` | Deletes a part assembly for method assembly GUID. Use this method if you have special characters (other than Aa-Zz0-9.-) in key fields |
| POST | `/api/BOM/Part/PostPartOperation` | Creates a part operation based on input parameter. |
| DELETE | `/api/BOM/Part/DeletePartOperation/{methodId}/{methodRevisionId}/{methodAssemblyId}/{methodOperationId}` | Deletes a part operation for method id, method revision id, method assembly id and method operation id. Do not use this method if you have special characters... |
| DELETE | `/api/BOM/Part/DeletePartOperation/{methodOperationGuid}` | Deletes a part operation for method operation GUID. Use this method if you have special characters (other than Aa-Zz0-9.-) in key fields |
| GET | `/api/BOM/Part/GetPartMaterial/{methodId}/{methodRevisionId}/{methodAssemblyId}` | Returns all part materials for the given combination of identifiers: methodId, revisionId and assemblyId. |
| GET | `/api/BOM/Part/GetPartMaterial/{methodMaterialGuid}` | Returns part material for method material GUID. Use this method if you have special characters (other than Aa-Zz0-9.-) in key fields. |
| POST | `/api/BOM/Part/PostPartMaterial` | Creates a part material based on input parameter. |
| DELETE | `/api/BOM/Part/DeletePartMaterial/{methodId}/{methodRevisionId}/{methodAssemblyId}/{methodMaterialId}` | Deletes a part material for method id, method revision id, method assembly id and method material id. Do not use this method if you have special characters (... |
| DELETE | `/api/BOM/Part/DeletePartMaterial/{methodMaterialGuid}` | Deletes a part material for method material GUID. Use this method if you have special characters (other than Aa-Zz0-9.-) in key fields |
| GET | `/api/BOM/Part/GetPartMethodBOM/{partId}/{partRevisionId}/{partAssemblyId}` | Returns part method BOM details for a given M1 part,revision and assembly. Do not use this method if you have special characters (other than Aa-Zz0-9.-) in k... |
| GET | `/api/BOM/Part/GetPartMethodBOM/{partAssemblyGuid}` | Returns part method BOM details for a given part assembly guid. Use this method if you have special characters (other than Aa-Zz0-9.-) in part assembly key f... |
| GET | `/api/BOM/Part/GetPartMethodGUIDs/{partId}` | Returns part method GUIDs for a given part. Do not use special characters or url reserved characters for parameter values |
| GET | `/api/BOM/Part/GetPartBinDetails/{partId}` | Returns part and part bin details for a given M1 part id or GUID. Do not pass part id if it has special characters (other than Aa-Zz0-9.-) pass GUID instead |

…and 1148 more operations. The page lists the first 250; the full set of 1208 is in the OpenAPI linked below.

## Machine-readable artifacts (3)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/eci-solutions/refs/heads/main/openapi/eci-solutions-m1-openapi.json
- **APIReference** — https://integrations.ecimanufacturing.com/api.html?family=m1
- **Overlay** — https://raw.githubusercontent.com/api-evangelist/eci-solutions/refs/heads/main/overlays/eci-solutions-m1-overlay.yaml

## Other ECI Solutions APIs (12)

- [ECI Manufacturing ERP API](https://apis.io/apis/eci-solutions/eci-solutions-platform/)
- [JobBOSS² Public API](https://apis.io/apis/eci-solutions/eci-solutions-jobboss2/)
- [ECI MFG Integration Management API](https://apis.io/apis/eci-solutions/eci-solutions-integration-management/)
- [ECI Authentication API](https://apis.io/apis/eci-solutions/eci-solutions-authentication/)
- [ECI MFG Payment API](https://apis.io/apis/eci-solutions/eci-solutions-payment/)
- [ECI Financial Integration API](https://apis.io/apis/eci-solutions/eci-solutions-financial/)
- [ECI EvolutionX Ecommerce API](https://apis.io/apis/eci-solutions/eci-solutions-ecommerce/)
- [ECI Einvoice API](https://apis.io/apis/eci-solutions/eci-solutions-einvoice/)
- [ECI Shipping API](https://apis.io/apis/eci-solutions/eci-solutions-shipping/)
- [ECI Currency Data API](https://apis.io/apis/eci-solutions/eci-solutions-currency/)
- [ECI AP/AR Commerce Automation API](https://apis.io/apis/eci-solutions/eci-solutions-apar-commerce/)
- [ECI Office Integration API](https://apis.io/apis/eci-solutions/eci-solutions-office/)

## Tags

ERP, Manufacturing, Inventory, Production, Quality

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/eci-solutions/eci-solutions-m1/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/eci-solutions/.
