openapi: 3.2.0
info:
title: ERP API v2.1 Reason API
description: Provides a common API surface for accessing ECI ERP products.
contact:
name: ECI Manufacturing Division Integration Team
url: https://www.ecisolutions.com/support/
version: 3.5.585+b1e45fd230
servers:
- url: https://api-erp.integrations.ecimanufacturing.com:443
description: Production
security:
- Bearer: []
tags:
- name: Reason
paths:
/api/v2.1/reasons:
get:
tags:
- Reason
summary: Get a list of Reasons from the ERP system that match the given filters
description: 'Gets a list of Reason.
## Supported ERPs
- M1
- Macola
- JobBOSS²
## Resource Features
Feature |Supported |Notes
------------|------------|------------
Filter Expressions|**Yes**|
Sort Expressions|**Yes**
Field Selection|**Yes**
Pagination|**Yes**
UniqueID|uniqueID|
## Features by Field
Field |Filterable |Sortable |Supported ERPs
------------|------------|------------|------------
reasonID|Yes|Yes|M1, Macola, JobBOSS²
description|No|Yes|M1, Macola, JobBOSS²
name|Yes|Yes|JobBOSS²
uniqueID|Yes|Yes|M1, Macola, JobBOSS²
rowVersion|Yes|Yes|M1, Macola, JobBOSS²'
parameters:
- name: fields
in: query
description: A comma-separated list of fields to include in the result.
schema:
type: string
- name: sort
in: query
description: A comma-separated list of sort expressions.
schema:
type: string
- name: take
in: query
description: Limit the number of results being returned
schema:
minimum: 0
type: integer
- name: skip
in: query
description: The number of results to skip. Combine with 'take' to fetch records in pages
schema:
minimum: 0
type: integer
- name: count
in: query
description: 'Data and count response behavior '
schema:
maximum: 2
minimum: 0
type: integer
- name: filters
in: query
description: See Filter Expressions for query string syntax. The Test UI and any generated code tool may expose filter parameters as a dictionary of name/value pairs, but if creating a raw HTTP request, they must be provided on the querystring as defined in the Filter Expression section.
style: form
schema:
type: object
additionalProperties:
type: string
examples:
Empty:
description: No filters applied
'Example #1':
description: A dictionary of name/value pairs that will be serialized as querystring parameters in the format ```name[operator]=value```
value:
reasonID[eq]: abc123
name[eq]: abc123
uniqueID[eq]: cc90686b-399e-4094-b431-fa462f84b0a8
rowVersion[gte]: 123
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/ReasonListResponse'
application/json:
schema:
$ref: '#/components/schemas/ReasonListResponse'
text/json:
schema:
$ref: '#/components/schemas/ReasonListResponse'
operationId: getApiV21Reasons
x-operation-id-source: derived
/api/v2.1/reasons/{id}:
get:
tags:
- Reason
summary: Get a Reason from the ERP system that matches the given unique ID
description: 'Gets a Reason by unique ID.
## Supported ERPs
- M1
- Macola
- JobBOSS²
## Features by Field
Field |Supported ERPs
------------|------------
reasonID||M1, Macola, JobBOSS²
description||M1, Macola, JobBOSS²
name||JobBOSS²
uniqueID||M1, Macola, JobBOSS²
rowVersion||M1, Macola, JobBOSS²'
parameters:
- name: id
in: path
description: The ID of the Reason
required: true
schema:
type: string
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/WorkCenter'
application/json:
schema:
$ref: '#/components/schemas/WorkCenter'
text/json:
schema:
$ref: '#/components/schemas/WorkCenter'
operationId: getApiV21ReasonsById
x-operation-id-source: derived
components:
schemas:
WorkCenter:
title: WorkCenter
type: object
properties:
workCenterID:
type: string
shortDesc:
type: string
deptID:
type: string
overHeadRate:
type: string
quoteRate:
type: string
processID:
type: string
parentWorkCenterID:
type: string
shiftID:
type: string
uniqueID:
type: string
rowVersion:
type: integer
format: int64
laborRate:
type: string
departments:
type: array
items:
$ref: '#/components/schemas/Department'
shifts:
type: array
items:
$ref: '#/components/schemas/Shift'
Department:
title: Department
type: object
properties:
deptID:
type: string
shortDesc:
type: string
uniqueID:
type: string
rowVersion:
type: integer
format: int64
Reason:
title: Reason
type: object
properties:
reasonID:
type: string
description:
type: string
name:
type: string
uniqueID:
type: string
rowVersion:
type: integer
format: int64
ReasonListResponse:
type: object
properties:
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Reason'
readOnly: true
resultCount:
type: integer
format: int32
additionalProperties: false
ShiftDay:
title: ShiftDay
type: object
properties:
shiftID:
type: number
format: float
shiftDay:
type: number
format: float
startTime:
type: string
endTime:
type: string
uniqueID:
type: string
rowVersion:
type: integer
format: int64
Shift:
title: Shift
type: object
properties:
shiftID:
type: number
format: float
shortDesc:
type: string
inactiveDate:
type: string
format: date-time
uniqueID:
type: string
rowVersion:
type: integer
format: int64
shiftDays:
type: array
items:
$ref: '#/components/schemas/ShiftDay'
securitySchemes:
Bearer:
type: oauth2
description: OAuth 2.0 Client Credentials Flow with API Users issued from Integration Engine Management Console
flows:
clientCredentials:
tokenUrl: https://api-user.integrations.ecimanufacturing.com/oauth2/api-user/token
scopes:
openid: openid