openapi: 3.2.0
info:
title: JobBOSS² Public Quote Line Items API
description: Provides a common API surface for accessing ECI ERP JobBOSS².
version: v1
servers:
- url: https://api-jb2.integrations.ecimanufacturing.com:443
description: API Host
security:
- Bearer: []
tags:
- name: Quote Line Items
paths:
/api/v1/quote-line-items:
get:
tags:
- Quote Line Items
summary: Gets a list of Quote Line Items
description: 'By default a quote line item response will include only the fields: commissionPercent, delivery, description, discountPercent, FOB, isTaxable, itemNumber, jobNotes, jobNumber, lastModDate, lastModUser, miscCharge, miscChargeForeign, miscDescription, partNumber, price1, price2, price3, price4, price5, price6, price7, price8, priceForeign1, priceForeign2, priceForeign3, priceForeign4, priceForeign5, priceForeign6, priceForeign7, priceForeign8, quantity1, quantity2, quantity3, quantity4, quantity5, quantity6, quantity7, quantity8, quoteNumber, quotePart, revision, status, uniqueID, unit1, unit2, unit3, unit4, unit5, unit6, unit7, unit8, workCode. You may specify the exact fields to return using the fields parameter.'
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 field to sort by. See the Sort Expressions section for more information.
schema:
type: string
- name: filters
in: query
description: Filters must be provided as query string parameters as defined in the Filter Expressions section.
schema:
type: object
additionalProperties:
type: string
examples:
No filters: {}
Filter by SalesID:
value:
quoteNumber: '1814'
- name: skip
in: query
description: The number of records at the start of the result set to skip over.
schema:
type: string
- name: take
in: query
description: The number of records to retrieve.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteLineItemListSuccessResponse'
example:
Data:
- commissionPercent: 0
delivery: string
description: string
discountPercent: 0
FOB: string
isTaxable: false
itemNumber: 0
jobNotes: string
jobNumber: string
lastModDate: '2026-09-06T17:13:12.0000000+00:00'
lastModUser: string
miscCharge: 0
miscChargeForeign: 0
miscDescription: string
partNumber: string
price1: 0
price2: 0
price3: 0
price4: 0
price5: 0
price6: 0
price7: 0
price8: 0
priceForeign1: 0
priceForeign2: 0
priceForeign3: 0
priceForeign4: 0
priceForeign5: 0
priceForeign6: 0
priceForeign7: 0
priceForeign8: 0
quantity1: 0
quantity2: 0
quantity3: 0
quantity4: 0
quantity5: 0
quantity6: 0
quantity7: 0
quantity8: 0
quoteNumber: string
quotePart: false
revision: string
status: string
uniqueID: 0
unit1: string
unit2: string
unit3: string
unit4: string
unit5: string
unit6: string
unit7: string
unit8: string
user_Currency1: 0
user_Currency2: 0
user_Date1: '2026-09-06T17:13:12.0000000+00:00'
user_Date2: '2026-09-06T17:13:12.0000000+00:00'
user_Memo1: string
user_Number1: 0
user_Number2: 0
user_Number3: 0
user_Number4: 0
user_Text1: string
user_Text2: string
user_Text3: string
user_Text4: string
workCode: string
operationId: getApiV1QuoteLineItems
x-operation-id-source: derived
/api/v1/quotes/{quoteNumber}/quote-line-item/{itemNumber}:
get:
tags:
- Quote Line Items
summary: Gets a Quote Line Item
description: 'By default a quote line item response will include only the fields: commissionPercent, delivery, description, discountPercent, FOB, isTaxable, itemNumber, jobNotes, jobNumber, lastModDate, lastModUser, miscCharge, miscChargeForeign, miscDescription, partNumber, price1, price2, price3, price4, price5, price6, price7, price8, priceForeign1, priceForeign2, priceForeign3, priceForeign4, priceForeign5, priceForeign6, priceForeign7, priceForeign8, quantity1, quantity2, quantity3, quantity4, quantity5, quantity6, quantity7, quantity8, quoteNumber, quotePart, revision, status, uniqueID, unit1, unit2, unit3, unit4, unit5, unit6, unit7, unit8, workCode. You may specify the exact fields to return using the fields parameter.'
parameters:
- name: quoteNumber
in: path
required: true
schema:
type: string
- name: itemNumber
in: path
required: true
schema:
type: string
- name: fields
in: query
description: A comma separated list of fields to include in the result.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteLineItemSuccessResponse'
example:
Data:
commissionPercent: 0
delivery: string
description: string
discountPercent: 0
FOB: string
isTaxable: false
itemNumber: 0
jobNotes: string
jobNumber: string
lastModDate: '2026-09-06T17:13:12.0000000+00:00'
lastModUser: string
miscCharge: 0
miscChargeForeign: 0
miscDescription: string
partNumber: string
price1: 0
price2: 0
price3: 0
price4: 0
price5: 0
price6: 0
price7: 0
price8: 0
priceForeign1: 0
priceForeign2: 0
priceForeign3: 0
priceForeign4: 0
priceForeign5: 0
priceForeign6: 0
priceForeign7: 0
priceForeign8: 0
quantity1: 0
quantity2: 0
quantity3: 0
quantity4: 0
quantity5: 0
quantity6: 0
quantity7: 0
quantity8: 0
quoteNumber: string
quotePart: false
revision: string
status: string
uniqueID: 0
unit1: string
unit2: string
unit3: string
unit4: string
unit5: string
unit6: string
unit7: string
unit8: string
user_Currency1: 0
user_Currency2: 0
user_Date1: '2026-09-06T17:13:12.0000000+00:00'
user_Date2: '2026-09-06T17:13:12.0000000+00:00'
user_Memo1: string
user_Number1: 0
user_Number2: 0
user_Number3: 0
user_Number4: 0
user_Text1: string
user_Text2: string
user_Text3: string
user_Text4: string
workCode: string
operationId: getApiV1QuotesByQuoteNumberQuoteLineItemByItemNumber
x-operation-id-source: derived
/api/v1/quotes/{quoteNumber}/quote-line-items:
post:
tags:
- Quote Line Items
summary: Creates a Quote Line Item
description: Please see the currency fields documentation for information about the `price#`/`price#Foreign` and `miscCharge`/`miscChargeForeign` fields.
parameters:
- name: quoteNumber
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteLineItemCreate'
example:
commissionPercent: 0
delivery: string
description: string
discountPercent: 0
FOB: string
itemNumber: 0
jobNotes: string
jobNumber: string
miscCharge: 0
miscChargeForeign: 0
miscDescription: string
partNumber: string
price1: 0
price2: 0
price3: 0
price4: 0
price5: 0
price6: 0
price7: 0
price8: 0
priceForeign1: 0
priceForeign2: 0
priceForeign3: 0
priceForeign4: 0
priceForeign5: 0
priceForeign6: 0
priceForeign7: 0
priceForeign8: 0
quantity1: 0
quantity2: 0
quantity3: 0
quantity4: 0
quantity5: 0
quantity6: 0
quantity7: 0
quantity8: 0
revision: string
status: string
uniqueID: 0
unit1: string
unit2: string
unit3: string
unit4: string
unit5: string
unit6: string
unit7: string
unit8: string
user_Currency1: 0
user_Currency2: 0
user_Date1: '2026-09-06T17:13:12.0000000+00:00'
user_Date2: '2026-09-06T17:13:12.0000000+00:00'
user_Memo1: string
user_Number1: 0
user_Number2: 0
user_Number3: 0
user_Number4: 0
user_Text1: string
user_Text2: string
user_Text3: string
user_Text4: string
workCode: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteLineItem'
example:
commissionPercent: 0
delivery: string
description: string
discountPercent: 0
FOB: string
isTaxable: false
itemNumber: 0
jobNotes: string
jobNumber: string
lastModDate: '2026-09-06T17:13:12.0000000+00:00'
lastModUser: string
miscCharge: 0
miscChargeForeign: 0
miscDescription: string
partNumber: string
price1: 0
price2: 0
price3: 0
price4: 0
price5: 0
price6: 0
price7: 0
price8: 0
priceForeign1: 0
priceForeign2: 0
priceForeign3: 0
priceForeign4: 0
priceForeign5: 0
priceForeign6: 0
priceForeign7: 0
priceForeign8: 0
quantity1: 0
quantity2: 0
quantity3: 0
quantity4: 0
quantity5: 0
quantity6: 0
quantity7: 0
quantity8: 0
quoteNumber: string
quotePart: false
revision: string
status: string
uniqueID: 0
unit1: string
unit2: string
unit3: string
unit4: string
unit5: string
unit6: string
unit7: string
unit8: string
user_Currency1: 0
user_Currency2: 0
user_Date1: '2026-09-06T17:13:12.0000000+00:00'
user_Date2: '2026-09-06T17:13:12.0000000+00:00'
user_Memo1: string
user_Number1: 0
user_Number2: 0
user_Number3: 0
user_Number4: 0
user_Text1: string
user_Text2: string
user_Text3: string
user_Text4: string
workCode: string
operationId: postApiV1QuotesByQuoteNumberQuoteLineItems
x-operation-id-source: derived
/api/v1/quotes/{quoteNumber}/quote-line-items/{itemNumber}:
patch:
tags:
- Quote Line Items
summary: Updates a Quote Line Item
description: Please see the currency fields documentation for information about the `price#`/`price#Foreign` and `miscCharge`/`miscChargeForeign` fields.
parameters:
- name: quoteNumber
in: path
required: true
schema:
type: string
- name: itemNumber
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteLineItemUpdate'
example:
commissionPercent: 0
delivery: string
description: string
discountPercent: 0
FOB: string
itemNumber: 0
jobNotes: string
jobNumber: string
miscCharge: 0
miscChargeForeign: 0
miscDescription: string
partNumber: string
price1: 0
price2: 0
price3: 0
price4: 0
price5: 0
price6: 0
price7: 0
price8: 0
priceForeign1: 0
priceForeign2: 0
priceForeign3: 0
priceForeign4: 0
priceForeign5: 0
priceForeign6: 0
priceForeign7: 0
priceForeign8: 0
quantity1: 0
quantity2: 0
quantity3: 0
quantity4: 0
quantity5: 0
quantity6: 0
quantity7: 0
quantity8: 0
revision: string
status: string
uniqueID: 0
unit1: string
unit2: string
unit3: string
unit4: string
unit5: string
unit6: string
unit7: string
unit8: string
user_Currency1: 0
user_Currency2: 0
user_Date1: '2026-09-06T17:13:12.0000000+00:00'
user_Date2: '2026-09-06T17:13:12.0000000+00:00'
user_Memo1: string
user_Number1: 0
user_Number2: 0
user_Number3: 0
user_Number4: 0
user_Text1: string
user_Text2: string
user_Text3: string
user_Text4: string
workCode: string
responses:
'204':
description: Success
operationId: patchApiV1QuotesByQuoteNumberQuoteLineItemsByItemNumber
x-operation-id-source: derived
components:
schemas:
QuoteLineItemUpdate:
type: object
properties:
commissionPercent:
type:
- number
- 'null'
format: double
delivery:
type:
- string
- 'null'
description:
type:
- string
- 'null'
discountPercent:
type:
- number
- 'null'
format: double
FOB:
type:
- string
- 'null'
itemNumber:
type:
- integer
- 'null'
format: int32
jobNotes:
type:
- string
- 'null'
jobNumber:
type:
- string
- 'null'
miscCharge:
type:
- number
- 'null'
format: double
miscChargeForeign:
type:
- number
- 'null'
format: double
miscDescription:
type:
- string
- 'null'
partNumber:
type:
- string
- 'null'
price1:
type:
- number
- 'null'
format: double
price2:
type:
- number
- 'null'
format: double
price3:
type:
- number
- 'null'
format: double
price4:
type:
- number
- 'null'
format: double
price5:
type:
- number
- 'null'
format: double
price6:
type:
- number
- 'null'
format: double
price7:
type:
- number
- 'null'
format: double
price8:
type:
- number
- 'null'
format: double
priceForeign1:
type:
- number
- 'null'
format: double
priceForeign2:
type:
- number
- 'null'
format: double
priceForeign3:
type:
- number
- 'null'
format: double
priceForeign4:
type:
- number
- 'null'
format: double
priceForeign5:
type:
- number
- 'null'
format: double
priceForeign6:
type:
- number
- 'null'
format: double
priceForeign7:
type:
- number
- 'null'
format: double
priceForeign8:
type:
- number
- 'null'
format: double
quantity1:
type:
- integer
- 'null'
format: int32
quantity2:
type:
- integer
- 'null'
format: int32
quantity3:
type:
- integer
- 'null'
format: int32
quantity4:
type:
- integer
- 'null'
format: int32
quantity5:
type:
- integer
- 'null'
format: int32
quantity6:
type:
- integer
- 'null'
format: int32
quantity7:
type:
- integer
- 'null'
format: int32
quantity8:
type:
- integer
- 'null'
format: int32
revision:
type:
- string
- 'null'
status:
type:
- string
- 'null'
uniqueID:
type: integer
format: int32
unit1:
type:
- string
- 'null'
unit2:
type:
- string
- 'null'
unit3:
type:
- string
- 'null'
unit4:
type:
- string
- 'null'
unit5:
type:
- string
- 'null'
unit6:
type:
- string
- 'null'
unit7:
type:
- string
- 'null'
unit8:
type:
- string
- 'null'
user_Currency1:
type:
- number
- 'null'
format: double
user_Currency2:
type:
- number
- 'null'
format: double
user_Date1:
type:
- string
- 'null'
format: date-time
user_Date2:
type:
- string
- 'null'
format: date-time
user_Memo1:
type:
- string
- 'null'
user_Number1:
type:
- number
- 'null'
format: double
user_Number2:
type:
- number
- 'null'
format: double
user_Number3:
type:
- number
- 'null'
format: double
user_Number4:
type:
- number
- 'null'
format: double
user_Text1:
type:
- string
- 'null'
user_Text2:
type:
- string
- 'null'
user_Text3:
type:
- string
- 'null'
user_Text4:
type:
- string
- 'null'
workCode:
type:
- string
- 'null'
additionalProperties: false
QuoteLineItemListSuccessResponse:
type: object
properties:
Data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/QuoteLineItem'
additionalProperties: false
QuoteLineItemCreate:
type: object
properties:
commissionPercent:
type:
- number
- 'null'
format: double
delivery:
type:
- string
- 'null'
description:
type:
- string
- 'null'
discountPercent:
type:
- number
- 'null'
format: double
FOB:
type:
- string
- 'null'
itemNumber:
type:
- integer
- 'null'
format: int32
jobNotes:
type:
- string
- 'null'
jobNumber:
type:
- string
- 'null'
miscCharge:
type:
- number
- 'null'
format: double
miscChargeForeign:
type:
- number
- 'null'
format: double
miscDescription:
type:
- string
- 'null'
partNumber:
type:
- string
- 'null'
price1:
type:
- number
- 'null'
format: double
price2:
type:
- number
- 'null'
format: double
price3:
type:
- number
- 'null'
format: double
price4:
type:
- number
- 'null'
format: double
price5:
type:
- number
- 'null'
format: double
price6:
type:
- number
- 'null'
format: double
price7:
type:
- number
- 'null'
format: double
price8:
type:
- number
- 'null'
format: double
priceForeign1:
type:
- number
- 'null'
format: double
priceForeign2:
type:
- number
- 'null'
format: double
priceForeign3:
type:
- number
- 'null'
format: double
priceForeign4:
type:
- number
- 'null'
format: double
priceForeign5:
type:
- number
- 'null'
format: double
priceForeign6:
type:
- number
- 'null'
format: double
priceForeign7:
type:
- number
- 'null'
format: double
priceForeign8:
type:
- number
- 'null'
format: double
quantity1:
type:
- integer
- 'null'
format: int32
quantity2:
type:
- integer
- 'null'
format: int32
quantity3:
type:
- integer
- 'null'
format: int32
quantity4:
type:
- integer
- 'null'
format: int32
quantity5:
type:
- integer
- 'null'
format: int32
quantity6:
type:
- integer
- 'null'
format: int32
quantity7:
type:
- integer
- 'null'
format: int32
quantity8:
type:
- integer
- 'null'
format: int32
revision:
type:
- string
- 'null'
status:
type:
- string
- 'null'
uniqueID:
type: integer
format: int32
unit1:
type:
- string
- 'null'
unit2:
type:
- string
- 'null'
unit3:
type:
- string
- 'null'
unit4:
type:
- string
- 'null'
unit5:
type:
- string
- 'null'
unit6:
type:
- string
- 'null'
unit7:
type:
- string
- 'null'
unit8:
type:
- string
- 'null'
user_Currency1:
type:
- number
- 'null'
format: double
user_Currency2:
type:
- number
- 'null'
format: double
user_Date1:
type:
- string
- 'null'
format: date-time
user_Date2:
type:
- string
- 'null'
format: date-time
user_Memo1:
type:
- string
- 'null'
user_Number1:
type:
- number
- 'null'
format: double
user_Number2:
type:
- number
- 'null'
format: double
user_Number3:
type:
- number
- 'null'
format: double
user_Number4:
type:
- number
- 'null'
format: double
user_Text1:
type:
- string
- 'null'
user_Text2:
type:
- string
- 'null'
user_Text3:
type:
- string
- 'null'
user_Text4:
type:
- string
- 'null'
workCode:
type:
- string
- 'null'
additionalProperties: false
QuoteLineItemSuccessResponse:
type: object
properties:
Data:
$ref: '#/components/schemas/QuoteLineItem'
additionalProperties: false
QuoteLineItem:
type: object
properties:
commissionPercent:
type:
- number
- 'null'
format: double
readOnly: true
delivery:
type:
- string
- 'null'
readOnly: true
description:
type:
- string
- 'null'
readOnly: true
discountPercent:
type:
- number
- 'null'
format: double
readOnly: true
FOB:
type:
- string
- 'null'
readOnly: true
isTaxable:
type: boolean
readOnly: true
itemNumber:
type:
- integer
- 'null'
format: int32
readOnly: true
jobNotes:
type:
- string
- 'null'
readOnly: true
jobNumber:
type:
- string
- 'null'
readOnly: true
lastModDate:
type:
- string
- 'null'
format: date-time
readOnly: true
lastModUser:
type:
- string
- 'null'
readOnly: true
miscCharge:
type:
- number
- 'null'
format: double
readOnly: true
miscChargeForeign:
type:
- number
- 'null'
format: double
readOnly: true
miscDescription:
type:
- string
- 'null'
readOnly: true
partNumber:
type:
- string
- 'null'
readOnly: true
price1:
type:
- number
- 'null'
format: double
readOnly: true
price2:
type:
- number
- 'null'
format: double
readOnly: true
price3:
type:
- number
- 'null'
format: double
readOnly: true
price4:
type:
- number
- 'null'
format: double
readOnly: true
price5:
type:
- number
- 'null'
format: double
readOnly: true
price6:
type:
- number
- 'null'
format: double
readOnly: true
price7:
type:
- number
- 'null'
format: double
readOnly: true
price8:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign1:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign2:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign3:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign4:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign5:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign6:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign7:
type:
- number
- 'null'
format: double
readOnly: true
priceForeign8:
type:
- number
- 'null'
format: double
readOnly: true
quantity1:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity2:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity3:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity4:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity5:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity6:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity7:
type:
- integer
- 'null'
format: int32
readOnly: true
quantity8:
type:
- integer
- 'null'
format: int32
readOnly: true
quoteNumber:
type:
- string
- 'null'
readOnly: true
quotePart:
type: boolean
readOnly: true
revision:
type:
- string
- 'null'
readOnly: true
status:
type:
- string
- 'null'
readOnly: true
uniqueID:
type: integer
format: int32
readOnly: true
unit1:
type:
- string
- 'null'
readOnly: true
unit2:
type:
- string
- 'null'
readOnly: true
unit3:
type:
- string
- 'null'
readOnly: true
unit4:
type:
- string
- 'null'
readOnly: true
unit5:
type:
- string
- 'null'
readOnly: true
unit6:
type:
- string
- 'null'
readOnly: true
unit7:
type:
- string
- 'null'
readOnly: true
unit8:
type:
- string
- 'null'
readOnly: true
user_Currency1:
type:
- number
- 'null'
format: double
readOnly: true
user_Currency2:
type:
- number
- 'null'
format: double
readOnly: true
user_Date1:
type:
- string
- 'null'
format: date-time
readOnly: true
user_Date2:
type:
- string
- 'null'
format: date-time
readOnly: true
user_Memo1:
type:
- string
- 'null'
readOnly: true
user_Number1:
type:
- number
- 'null'
format: double
readOnly: true
user_Number2:
type:
- number
- 'null'
format: double
readOnly: true
user_Number3:
type:
- number
- 'null'
format: double
readOnly: true
user_Number4:
type:
- number
- 'null'
format: double
readOnly: true
user_Text1:
type:
- string
- 'null'
readOnly: true
user_Text2:
type:
- string
- 'null'
readOnly: true
user_Text3:
type:
- string
- 'null'
readOnly: true
user_Text4:
type:
- string
- 'null'
readOnly: true
workCode:
type:
- string
- 'null'
readOnly: true
additionalProperties: false
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