A product-agnostic REST API for reading and writing data in ECI ERP products, currently supporting Deacom, M1, Macola and JobBOSS². The API user account determines which ERP product, customer and database instance is reached. Supports field selection, filter expressions, sort expressions, take/skip paging, relationship expansion and a rowVersion change cursor. Three concurrent versions are published (v1, v2, v2.1); OAuth 2.0 client-credentials tokens are issued by the Integration Engine Management API. Access must be activated by ECI before use.
ECI Manufacturing ERP API is one of 15 APIs that ECI Solutions publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include ERP, Manufacturing, Distribution, Inventory, and Business Management. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, API documentation, and a support channel.
This API exposes
146 operations
across 133 paths,
organized into 42 resource areas,
and defines 129 schemas.
It is described by OpenAPI 3.0.1, at version 3.5.585+b1e45fd230.
Requests are made against a single base URL, https://api-erp.integrations.ecimanufacturing.com:443.
146 operations133 paths129 schemas130 GET3 PATCH13 POST
Metadata
The identity and technical contract details declared by the specification.
ECI Manufacturing ERP API declares
1 security scheme
for authenticating requests.
It supports OAuth 2.0 (Bearer) using the clientCredentials flow, exposing 1 scope.
By default, every request must be authenticated.
Bearer — OAuth 2.0 Client Credentials Flow with API Users issued from Integration Engine Management Console
Paths & Operations 146
Across 133 paths, the API surfaces 146 operations — 130 GET, 3 PATCH, 13 POST. They span 42 resource areas, including Account, Contact, Department, Employee, GLCode, Job, JobAssembly, JobMaterial, and 34 more. Each is listed below with its method, path, parameters, and response codes.
Account 1
GET
/api/v2.1/user-info
Gets information about the current user accessing the API.
→ 200
Contact 3
POST
/api/v2.1/contacts
Create a new Contact in the ERP system.
body→ 201
GET
/api/v2.1/contacts
Get a list of Contacts from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/contacts/{id}
Get an Contact from the ERP system that matches the given unique ID.
1 param→ 200
Department 2
GET
/api/v2.1/departments
Get a list of Employees from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/departments/{id}
Get a Department from the ERP system that matches the given unique ID.
1 param→ 200
Employee 2
GET
/api/v2.1/employees
Get a list of Employees from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/employees/{id}
Get an Employee from the ERP system that matches the given unique ID.
1 param→ 200
GLCode 1
GET
/api/v2.1/gl-codes
Get a list of GLCodes from the ERP system that match the given filters.
6 params→ 200
Job 4
GET
/api/v2.1/jobs
Get a list of Jobs from the ERP system that match the given filters.
8 params→ 200
GET
/api/v2.1/jobs/{id}
Get a Job from the ERP system that matches the given unique ID.
1 param→ 200
PATCH
/api/v2.1/jobs/{id}
Update a job and its job operations in the ERP system.
1 parambody→ 200
POST
/api/v2.1/jobs/{uniqueID}/part-production
Register parts produced for a job.
1 parambody→ 200
JobAssembly 2
GET
/api/v2.1/job-assemblies
Get a list of Job Assemblies from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/job-assemblies/{id}
Get a Job Assembly from the ERP system that matches the given unique ID.
1 param→ 200
JobMaterial 2
GET
/api/v2.1/job-materials
Get a list of Job Materials from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/job-materials/{id}
Get a Job Material from the ERP system that matches the given unique ID.
1 param→ 200
JobOperation 3
GET
/api/v2.1/job-operations
Get a list of Job Operations from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/job-operations/{id}
Get a Job Operation from the ERP system that matches the given unique ID.
1 param→ 200
PATCH
/api/v2.1/job-operations/{id}
Update a job operation in the ERP system.
1 parambody→ 200
Location 3
POST
/api/v2.1/locations
Create a new Location in the ERP system.
body→ 201
GET
/api/v2.1/locations
Get a list of Locations from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/locations/{id}
Get a Location from the ERP system that matches the given unique ID.
1 param→ 200
Organization 3
POST
/api/v2.1/organizations
Create a new Organization in the ERP system.
body→ 201
GET
/api/v2.1/organizations
Get a list of Organizations from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/organizations/{id}
Get an Organization from the ERP system that matches the given unique ID.
1 param→ 200
OrganizationPart 2
GET
/api/v2.1/organization-parts
Get a list of OrganizationParts from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/organization-parts/{id}
Get an Organization Part from the ERP system that matches the given unique ID.
1 param→ 200
Part 3
POST
/api/v2.1/parts
Create a new Part in the ERP system.
body→ 201
GET
/api/v2.1/parts
Get a list of Parts from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/parts/{id}
Get a Part from the ERP system that match the given filters.
1 param→ 200
PartBins 1
GET
/api/v2.1/part-bins
Get a list of Part-Bins from the ERP system that match the given filters.
7 params→ 200
PartCost 1
GET
/api/v2.1/part-costs
Get a list of PartCosts from the ERP system that match the given filters.
7 params→ 200
PartCostBreak 1
GET
/api/v2.1/part-cost-breaks
Get a list of PartCostBreaks from the ERP system that match the given filters.
6 params→ 200
PartGroup 1
GET
/api/v2.1/part-groups
Get a list of PartGroups from the ERP system that match the given filters.
7 params→ 200
PartMaterial 2
GET
/api/v2.1/part-materials
Get a list of PartMaterials from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/part-materials/{id}
Get a PartMaterial from the ERP system that match the given filters.
1 param→ 200
PartOperation 2
GET
/api/v2.1/part-operations
Get a list of PartOperations from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/part-operations/{id}
Get a PartOperation from the ERP system that match the given filters.
1 param→ 200
PartPrice 1
GET
/api/v2.1/part-prices
Get a list of PartPrices from the ERP system that match the given filters.
7 params→ 200
PartPriceBreak 1
GET
/api/v2.1/part-price-breaks
Get a list of PartPriceBreaks from the ERP system that match the given filters.
6 params→ 200
PartRevision 3
POST
/api/v2.1/part-revisions
Create a new PartRevision in the ERP system.
body→ 201
GET
/api/v2.1/part-revisions
Get a list of PartRevisions from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/part-revisions/{id}
Get a PartRevisions from the ERP system that match the given filters.
1 param→ 200
PaymentTerm 1
GET
/api/v2.1/payment-terms
Get a list of PaymentTerm from the ERP system that match the given filters.
6 params→ 200
PurchaseOrder 2
GET
/api/v2.1/purchase-orders
Get a list of PurchaseOrders from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/purchase-orders/{id}
Get an Purchaseorders from the ERP system that matches the given unique ID.
1 param→ 200
PurchaseOrderLine 2
GET
/api/v2.1/purchase-order-lines
Get a list of PurchaseOrderLines from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/purchase-order-lines/{id}
Get a PurchaseOrderLine from the ERP system that matches the given unique ID.
1 param→ 200
Quote 2
GET
/api/v2.1/quotes
Get a list of Quotes from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/quotes/{id}
Get a Quote from the ERP system that matches the given unique ID.
1 param→ 200
QuoteLine 2
GET
/api/v2.1/quote-lines
Get a list of QuoteLines from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/quote-lines/{id}
Get a QuoteLine from the ERP system that matches the given unique ID.
1 param→ 200
QuoteQuantity 1
GET
/api/v2.1/quote-quantities
Get a list of Quote Quantities from the ERP system that match the given filters.
7 params→ 200
Reason 2
GET
/api/v2.1/reasons
Get a list of Reasons from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/reasons/{id}
Get a Reason from the ERP system that matches the given unique ID.
1 param→ 200
SalesAccount 1
GET
/api/v2.1/sales-accounts
Get a list of SalesAccounts from the ERP system that match the given filters.
6 params→ 200
SalesOrder 3
POST
/api/v2.1/sales-orders
Create a new SalesOrder in the ERP system.
body→ 201
GET
/api/v2.1/sales-orders
Get a list of SalesOrders from the ERP system that match the given filters.
8 params→ 200
GET
/api/v2.1/sales-orders/{id}
Get a SalesOrder from the ERP system that match the given filters.
1 param→ 200
SalesOrderJob 2
GET
/api/v2.1/sales-order-jobs
Get a list of SalesOrderJobs from the ERP system that match the given filters.
6 params→ 200
GET
/api/v2.1/sales-order-jobs/{id}
Get a SalesOrderJob from the ERP system that match the given filters.
1 param→ 200
SalesOrderLine 3
POST
/api/v2.1/sales-order-lines
Create a new SalesOrderLine in the ERP system.
body→ 201
GET
/api/v2.1/sales-order-lines
Get a list of SalesOrderLines from the ERP system that match the given filters.
8 params→ 200
GET
/api/v2.1/sales-order-lines/{id}
Get a SalesOrderLine from the ERP system that match the given filters.
1 param→ 200
Shift 2
GET
/api/v2.1/shifts
Get a list of Shift from the ERP system that match the given filters.
8 params→ 200
GET
/api/v2.1/shifts/{id}
Get a Shift from the ERP system that match the given filters.
1 param→ 200
TaxCode 1
GET
/api/v2.1/tax-codes
Get a list of TaxCodes from the ERP system that match the given filters.
6 params→ 200
Timecard 5
POST
/api/v2.1/timecards
Create a new Timecard in the ERP system.
body→ 201
GET
/api/v2.1/timecards
Get a list of Timecards from the ERP system that match the given filters.
8 params→ 200
GET
/api/v2.1/timecards/{id}
Get a Timecard from the ERP system that match the given unique ID.
1 param→ 200
POST
/api/v2.1/timecards/clock-in
Clock an employee into their shift. Creates an open clock session that must be closed via clock-out.
body→ 200
POST
/api/v2.1/timecards/clock-out
Clock an employee out of their shift. Closes the clock session identified by model.ClockSessionID.
body→ 200
TimecardLine 4
POST
/api/v2.1/timecard-lines
Create a new Timecard Line in the ERP system.
body→ 201
GET
/api/v2.1/timecard-lines
Get a list of Timecard Lines from the ERP system that match the given filters.
8 params→ 200
GET
/api/v2.1/timecard-lines/{id}
Get a TimecardLine from the ERP system that match the given unique ID.
1 param→ 200
PATCH
/api/v2.1/timecard-lines/{id}
Update an existing Timecard Line in the ERP system.
1 parambody→ 200
TimeZone 1
GET
/api/v2.1/timezones
Get a list of TimeZones from the ERP system that match the given filters.
6 params→ 200
ValidValues 3
GET
/api/v2.1/valid-values/organization-types
Gets the list of Organization Type codes.
→ 200
GET
/api/v2.1/valid-values/location-types
Gets the list of Location Type codes.
→ 200
GET
/api/v2.1/valid-values/operation-types
Gets the list of Operation Type codes.
→ 200
WorkCenter 3
POST
/api/v2.1/work-centers
Create a new WorkCenter in the ERP system.
body→ 201
GET
/api/v2.1/work-centers
Get a list of WorkCenters from the ERP system that match the given filters.
7 params→ 200
GET
/api/v2.1/work-centers/{id}
Get an WorkCenters from the ERP system that matches the given unique ID.
1 param→ 200
WorkCenterRateBreak 1
GET
/api/v2.1/work-center-rate-breaks
Get a list of WorkCenterRateBreaks from the ERP system that match the given filters.
The contract defines 129 schemas that model the data the API accepts and returns. The most detailed are JobOperation (47 properties), Job (43 properties), PartTransaction (40 properties), TimecardLine (34 properties). Each schema is shown below with its type and property counts.
APInvoice
object
19 properties
APInvoiceLine
object
16 properties
ARInvoice
object
18 properties
ARInvoiceSalesPerson
object
5 properties
ClockInModel
object
3 properties2 required
ClockOutModel
object
2 properties2 required
ClockSession
object
6 properties
Contact
object
11 properties
ContactCreateModel
object
A model used to create new contacts.
7 properties
ContactListResponse
object
2 properties
CycleCode
object
4 properties
Department
object
4 properties
DepartmentListResponse
object
2 properties
DmrClaim
object
14 properties
DmrClaimLine
object
17 properties
Employee
object
11 properties
EmployeeListResponse
object
2 properties
GLCode
object
5 properties
GLCodeListResponse
object
2 properties
InspectionLine
object
18 properties
Job
object
43 properties
JobAssembly
object
26 properties
JobAssemblyListResponse
object
2 properties
JobListResponse
object
2 properties
JobMaterial
object
15 properties
JobMaterialListResponse
object
2 properties
JobOperation
object
47 properties
JobOperationListResponse
object
2 properties
JobOperationUpdateModel
object
3 properties
JobOperationUpdateModelData
object
4 properties
JobPartProduction
object
11 properties2 required
JobUpdateModel
object
3 properties
Location
object
17 properties
LocationCreateModel
object
12 properties3 required
LocationListResponse
object
2 properties
LocationType
integer
Organization
object
20 properties
OrganizationCreateModel
object
A model used to create new organizations.
17 properties3 required
OrganizationListResponse
object
2 properties
OrganizationPart
object
8 properties
OrganizationPartCreateModel
object
A model used to create new organization parts.
2 properties2 required
OrganizationPartListResponse
object
2 properties
OrganizationType
integer
Part
object
11 properties
PartBin
object
15 properties
PartBinListResponse
object
2 properties
PartClass
object
5 properties
PartCost
object
7 properties
PartCostBreak
object
5 properties
PartCostBreakListResponse
object
2 properties
PartCostListResponse
object
2 properties
PartCreateModel
object
A model used to create new parts.
12 properties1 required
PartGroup
object
7 properties
PartGroupListResponse
object
2 properties
PartListResponse
object
2 properties
PartMaterial
object
11 properties
PartMaterialCreateModel
object
7 properties2 required
PartMaterialListResponse
object
2 properties
PartOperation
object
21 properties
PartOperationCreateModel
object
19 properties2 required
PartOperationListResponse
object
2 properties
PartPrice
object
8 properties
PartPriceBreak
object
7 properties
PartPriceBreakCreateModel
object
4 properties3 required
PartPriceBreakListResponse
object
2 properties
PartPriceCreateModel
object
3 properties2 required
PartPriceListResponse
object
2 properties
PartRevision
object
14 properties
PartRevisionCreateModel
object
A model used to create new part revisions.
6 properties3 required
PartRevisionListResponse
object
2 properties
PartTransaction
object
40 properties
PaymentTerm
object
4 properties
PaymentTermListResponse
object
2 properties
Plant
object
4 properties
Process
object
6 properties
ProductionCalendar
object
8 properties
Project
object
14 properties
PurchaseOrder
object
11 properties
PurchaseOrderLine
object
21 properties
PurchaseOrderLineListResponse
object
2 properties
PurchaseOrderListResponse
object
2 properties
Quote
object
29 properties
QuoteLine
object
14 properties
QuoteLineListResponse
object
2 properties
QuoteListResponse
object
2 properties
QuoteQuantity
object
10 properties
QuoteQuantityListResponse
object
2 properties
QuoteSalesPerson
object
8 properties
Reason
object
5 properties
ReasonListResponse
object
2 properties
RmaClaim
object
11 properties
RmaClaimLine
object
12 properties
RmaReceiptLine
object
20 properties
SalesAccount
object
5 properties
SalesAccountListResponse
object
2 properties
SalesOrder
object
16 properties
SalesOrderCreateModel
object
13 properties1 required
SalesOrderDelivery
object
12 properties
SalesOrderJob
object
7 properties
SalesOrderJobListResponse
object
2 properties
SalesOrderLine
object
28 properties
SalesOrderLineCreateModel
object
11 properties
SalesOrderLineListResponse
object
2 properties
SalesOrderListResponse
object
2 properties
SalesOrderSalesPerson
object
10 properties
Shift
object
6 properties
ShiftDay
object
6 properties
ShiftListResponse
object
2 properties
ShipmentLine
object
21 properties
TaxCode
object
5 properties
TaxCodeListResponse
object
2 properties
TimeZone
object
3 properties
TimeZoneListResponse
object
2 properties
Timecard
object
8 properties
TimecardCreateModel
object
4 properties2 required
TimecardLine
object
34 properties
TimecardLineCreateModel
object
14 properties1 required
TimecardLineDetailCreateModel
object
17 properties1 required
TimecardLineListResponse
object
2 properties
TimecardLineUpdateModel
object
2 properties
TimecardListResponse
object
2 properties
UserInfoResponse
object
11 properties
ValidValue
object
2 properties
ValidValueSet
object
4 properties
WorkCenter
object
13 properties
WorkCenterCreateModel
object
A model used to create new workcenters.
7 properties1 required
WorkCenterListResponse
object
2 properties
WorkCenterRateBreak
object
8 properties
WorkCenterRateBreakListResponse
object
2 properties
Specification
The full machine-readable OpenAPI contract behind this narrative.
Every API here is available over the API and to AI agents over MCP. APIs is not yet its own endpoint on the v1 API. Reach this content through network search and the tag graph, or the MCP server below.
Installs https://mcp.apievangelist.com/mcp in Claude, Cursor, VS Code and the rest — one button, every client.
MCP tools for apis
4 tools reach this content
search_api_evangelistSearch every content type across the network at once.
find_relatedThe shared-tag relevance graph — what else covers this.
get_tagEverything one tag labels, across all content types.
guide_topicPRO — a curated bundle for a topic: area, guidance, rules, papers, stories, services.
A second provider on the same verified email joins the account you already have.
Your account
ⓘWhere this information came from
This is an independent, third-party profile of ECI Manufacturing ERP API, published by
API Evangelist. We do not operate, host, resell, or
support these APIs, and we are not affiliated with or endorsed by the company unless stated above.
Everything here is built from publicly available information — the company's own site,
developer portal, documentation, public repositories, and the specifications it publishes for public use.
Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's
public API artifacts, scored against a published rubric. They are not certifications,
endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and
you do not need to justify the request. A removed company is recorded as unrated, never scored
zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy → On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.