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