Fulcrumpro Sales Order Part Line Item API
The Sales Order Part Line Item API from Fulcrumpro — 5 operation(s) for sales order part line item.
The Sales Order Part Line Item API from Fulcrumpro — 5 operation(s) for sales order part line item.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fulcrumpro-sales-order-part-line-item-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Fulcrum Public Accounting Code Sales Order Part Line Item API
version: v1
servers:
- url: https://api.fulcrumpro.com
tags:
- name: Sales Order Part Line Item
paths:
/api/sales-orders/{salesOrderId}/part-line-items:
post:
tags:
- Sales Order Part Line Item
summary: Create a part line item on a sales order
operationId: CreateSalesOrderPartLineItem
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateDto'
application/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateDto'
text/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateDto'
required: true
responses:
'200':
description: Part line item added to sales order
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
'400':
description: Validation issues with input
x-c4-mutation: true
x-c4-required-permissions:
- Orders-SalesOrders-Edit Sales Order
/api/sales-orders/{salesOrderId}/part-line-items/batch:
post:
tags:
- Sales Order Part Line Item
summary: Create one or more part line items on a sales order
operationId: CreateSalesOrderPartLineItemBatch
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateBatchDto'
application/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateBatchDto'
text/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateBatchDto'
application/*+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemCreateBatchDto'
required: true
responses:
'200':
description: Part line items added to sales order
content:
application/json:
schema:
$ref: '#/components/schemas/BatchCreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/BatchCreatedResponseDto'
'400':
description: Validation issues with input
x-c4-mutation: true
x-c4-required-permissions:
- Orders-SalesOrders-Edit Sales Order
/api/sales-orders/{salesOrderId}/part-line-items/{lineItemId}:
get:
tags:
- Sales Order Part Line Item
summary: Get a specific part line item for a sales order
operationId: GetSalesOrderPartLineItem
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: includeCostBreakdown
in: query
schema:
type: boolean
default: false
responses:
'200':
description: Part line item
content:
application/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
'404':
description: Sales order or line items did not exist
x-c4-required-permissions:
- Orders-SalesOrders-View Sales Order
patch:
tags:
- Sales Order Part Line Item
summary: Partially update a specific part line item for an salesOrder
operationId: PatchSalesOrderPartLineItem
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/JsonPatchDocument'
responses:
'200':
description: Part line item
content:
application/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
'404':
description: SalesOrder or line item did not exist
x-c4-mutation: true
x-c4-required-permissions:
- Orders-SalesOrders-Edit Sales Order
put:
tags:
- Sales Order Part Line Item
summary: Update a specific part line item for a sales order
operationId: UpdateSalesOrderPartLineItem
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemUpdateDto'
application/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemUpdateDto'
required: true
responses:
'200':
description: Part line item
content:
application/json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
'404':
description: Sales order or line items did not exist
x-c4-mutation: true
x-c4-required-permissions:
- Orders-SalesOrders-Edit Sales Order
delete:
tags:
- Sales Order Part Line Item
summary: Delete a specific part line item for a sales order
operationId: DeleteSalesOrderPartLineItem
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: Success
'204':
description: Part line item did not exist
'404':
description: Sales order did not exist
/api/sales-orders/{salesOrderId}/part-line-items/list:
post:
tags:
- Sales Order Part Line Item
summary: Get a list of part lines items for a sales order
operationId: ListSalesOrderPartLineItem
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: includeCostBreakdown
in: query
schema:
type: boolean
default: false
responses:
'200':
description: List of part line items for the given sales order id
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/SalesOrderPartLineItemDto'
'404':
description: The sales order did not exist
x-c4-required-permissions:
- Orders-SalesOrders-View Sales Order
/api/sales-orders/{salesOrderId}/part-line-items/{lineItemId}/cost-breakdown:
get:
tags:
- Sales Order Part Line Item
summary: Get the cost breakdown for a specific part line item for a sales order
operationId: GetSalesOrderPartLineItemCostBreakdown
parameters:
- name: salesOrderId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: lineItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: Part line item
content:
application/json:
schema:
$ref: '#/components/schemas/CommonCostBreakdownDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CommonCostBreakdownDto'
'404':
description: Sales order or line items did not exist
x-c4-required-permissions:
- Orders-SalesOrders-View Sales Order
- Pricing-Margins-View Margins
components:
schemas:
ItemsAndInventoryRoutingsCostBreakdownType:
enum:
- estimated
- inProgressJob
- completedJob
- cancelledJob
type: string
CommonCostBreakdownLineDto:
required:
- cost
- costType
- name
type: object
properties:
costType:
$ref: '#/components/schemas/CommonEnumCostBreakdownLineTypeEnum'
operationType:
$ref: '#/components/schemas/CommonEnumOperationTypeEnum'
name:
minLength: 1
type: string
description: Decription of this line.
cost:
minimum: 0
type: number
description: Cost.
format: double
quantity:
minimum: 0
type:
- number
- 'null'
description: Quantity (if applicable)
format: double
itemId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Id of the item that was picked. Please reference /api/items endpoint.
itemName:
type:
- string
- 'null'
description: The name of the item that was picked.
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Accounting code affected. Please reference /api/accounting-codes endpoint.
operationInformation:
$ref: '#/components/schemas/CommonCostBreakdownOperationDto'
additionalProperties: false
description: Cost breakdown line information.
CommonCostBreakdownOperationDto:
required:
- operationId
type: object
properties:
operationId:
maxLength: 24
minLength: 24
type: string
description: Operation id. Please reference /api/operations
name:
type:
- string
- 'null'
description: Operation name.
timeInSeconds:
minimum: 0
type:
- number
- 'null'
description: Time in seconds.
format: double
readOnly: true
timeInHours:
minimum: 0
type:
- number
- 'null'
description: Time in hours
format: double
ratePerSecond:
minimum: 0
type:
- number
- 'null'
description: Rate per second
format: double
readOnly: true
ratePerHour:
minimum: 0
type:
- number
- 'null'
description: Rate per hour
format: double
additionalProperties: false
description: Operation information
CommonUrlDto:
required:
- uri
type: object
properties:
uri:
minLength: 1
type: string
description: The uri to save. e.g. https://fulcrumpro.com
format: uri
name:
maxLength: 200
minLength: 1
type:
- string
- 'null'
description: ''
additionalProperties: false
description: A URL along with a name description of the link
SalesOrderPartLineItemDto:
required:
- accountingDetails
- discountedPrice
- id
- isTaxable
- itemId
- name
- preDiscountSubTotal
- price
- quantity
- subTotal
type: object
properties:
id:
maxLength: 36
minLength: 36
type: string
description: Unique id associated to this entity.
name:
maxLength: 200
minLength: 1
type: string
description: The line item name.
quantity:
minimum: 0
type: number
description: The line item quantity
format: double
price:
minimum: 0
type: number
description: The line item price.
format: double
discountedPrice:
minimum: 0
type: number
description: The discounted line item price.
format: double
dueDate:
type:
- string
- 'null'
description: Customer delivery date
format: date-time
isTaxable:
type: boolean
description: Dictate if this line item is taxable.
overrideTaxRate:
type:
- boolean
- 'null'
description: Dictate if the tax rate is overridden.
taxCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Tax code key identifier. Please reference /api/tax-rates endpoint.
taxRate:
minimum: 0
type:
- number
- 'null'
description: Tax rate to use for this entity. If a FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemDto.TaxCodeId is provided, the provided FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemDto.TaxRate will supercede the defined tax rate.
format: double
itemId:
maxLength: 24
minLength: 24
type: string
description: Item id associated with this line item.
description:
maxLength: 2000
minLength: 0
type:
- string
- 'null'
description: The part line item description. Defaults to the item's description if none specified.
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
internalNotes:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: The line item internal notes. Aka production notes.
externalReferences:
type:
- object
- 'null'
additionalProperties:
$ref: '#/components/schemas/CommonExternalReferenceDto'
description: Arbitrary key-value-pair like data that can be used to later on search for this line item.
isPercentageDiscount:
type:
- boolean
- 'null'
description: Indicates whether FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemDto.DiscountAmount discount is percentage based (else, it's an absolute amount).
discountAmount:
type:
- number
- 'null'
description: The amount of the discount.
format: double
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CommonUrlDto'
description: List of links associated with the line item
customFields:
type:
- object
- 'null'
additionalProperties: {}
description: Custom fields that have been defined for the part line item;
parentLineId:
maxLength: 36
minLength: 36
type:
- string
- 'null'
description: Identifier pointing to the parent line item (if this part line was sourced from a blanket line item). Please reference /api/sales-order/{salesOrderId}/blanket-line-items/list endpoint.
subTotal:
minimum: 0
type: number
description: Total line item cost, including applicable discounts
format: double
preDiscountSubTotal:
minimum: 0
type: number
description: Total line item cost, before discounts
format: double
customerPartNumber:
maxLength: 200
minLength: 1
type:
- string
- 'null'
description: The customer's known part line item number.
customerPartDescription:
maxLength: 2000
minLength: 0
type:
- string
- 'null'
description: The customer's known part line item description.
number:
type: integer
description: Line number
format: int32
accountingDetails:
$ref: '#/components/schemas/CommonAccountingDetailsDto'
isFullyInvoiced:
type: boolean
description: Indicate if this item has been fully invoiced.
isInvoiced:
type: boolean
description: Indicate if this item has ANY invoices.
quantityInvoiced:
minimum: 0
type:
- number
- 'null'
description: Indicate the total quantity that have been invoiced (issued/paid).
format: double
quantityOnInvoices:
minimum: 0
type:
- number
- 'null'
description: Indicate the total quantity that exists on any invoice (including open).
format: double
costBreakdown:
$ref: '#/components/schemas/CommonCostBreakdownDto'
additionalProperties: false
description: Represents a part line item on a sales order.
BatchCreatedResponseDto:
required:
- ids
type: object
properties:
ids:
type: array
items:
type: string
description: The ids of the created records
additionalProperties: false
description: Response for a batch created record
JsonPatchOperation:
type: object
properties:
op:
type: string
value:
type: string
path:
type: string
CreatedResponseDto:
required:
- id
type: object
properties:
id:
minLength: 1
type: string
description: The id of the created record
additionalProperties: false
description: Response for a created record
SalesOrderPartLineItemCreateDto:
required:
- itemId
type: object
properties:
itemId:
maxLength: 24
minLength: 24
type: string
description: Item id associated with this line item.
quantity:
minimum: 0
type: number
description: The line item quantity
format: double
price:
minimum: 0
type:
- number
- 'null'
description: 'The line item price.
Note, if a price break exists for the item being added (vendor price breaks, item price breaks, etc), this value will be ignored
as it is quantity-driven based on the price breaks that do/will exist.
If this value is not provided and no price breaks exist, the default will be 0.'
format: double
isTaxable:
type:
- boolean
- 'null'
description: Dictate if this line item is taxable.
taxCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Tax code key identifier. Please reference /api/tax-rates endpoint.
taxRate:
minimum: 0
type:
- number
- 'null'
description: Tax rate to use for this entity. If a FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemCreateDto.TaxCodeId is provided, the provided FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemCreateDto.TaxRate will supercede the defined tax rate.
format: double
overrideTaxRate:
type:
- boolean
- 'null'
description: Indicate if the tax supplied is intended to be an override.
description:
maxLength: 2000
minLength: 0
type:
- string
- 'null'
description: The part line item description. Defaults to the item's description if none specified.
internalNotes:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: The line item internal notes
itemNotes:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: The line item notes (visible in job tracking).
externalReferences:
type:
- object
- 'null'
additionalProperties:
$ref: '#/components/schemas/CommonExternalReferenceDto'
description: Arbitrary key-value-pair like data that can be used to later on search for this line item.
isPercentageDiscount:
type:
- boolean
- 'null'
description: Indicates whether FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemCreateDto.DiscountAmount discount is percentage based (else, it's an absolute amount).
discountAmount:
type:
- number
- 'null'
description: The amount of the discount.
format: double
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CommonUrlDto'
description: A list of links/urls to associated with the line item.
deliveryDate:
type:
- string
- 'null'
description: 'The delivery date for the line item.
Only the calendar date is used, exactly as written; any time or UTC offset is ignored.'
format: date-time
unitOfMeasureName:
type:
- string
- 'null'
description: The unit of measure to apply. If left blank, the default unit of measure for the item will be applied.
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: 'Accounting code key identifier. Please reference /api/accounting-codes endpoint.
If this value is not provided and the name matches a defined "default fee", the accounting code
on the "default fee" will be used.'
isCustomerItem:
type:
- boolean
- 'null'
description: Determines whether or not to display the customer part number and customer part description.
customerPartNumber:
type:
- string
- 'null'
description: Used for the part number on customer facing documents when IsCustomerItem is true
customerPartDescription:
maxLength: 2000
minLength: 0
type:
- string
- 'null'
description: Used for the description on customer facing documents when IsCustomerItem is true
additionalProperties: false
description: Represents a part line item on a sales order.
JsonPatchDocument:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
description: Array of operations to perform
CommonCostBreakdownDto:
required:
- calculatedOn
- componentLabor
- componentMachine
- componentMaterial
- componentOutsideProcessing
- cumulative
- cumulativeLabor
- cumulativeMachine
- cumulativeMaterial
- cumulativeOutsideProcessing
- id
- itemLabor
- itemMachine
- itemMaterial
- itemOutsideProcessing
- lines
- quantity
- shopRateMachine
- shopRateRun
- shopRateSetup
- time
- type
type: object
properties:
id:
maxLength: 36
minLength: 24
type: string
description: The id of the parent item.
type:
$ref: '#/components/schemas/ItemsAndInventoryRoutingsCostBreakdownType'
quantity:
minimum: 0
type: integer
description: Number of units.
format: int32
quantityScrapped:
minimum: 0
type:
- integer
- 'null'
description: Number of units scrapped.
format: int32
calculatedOn:
type: string
description: When was this cost breakdown last calculated/aggregated.
format: date-time
time:
$ref: '#/components/schemas/CommonTimeDto'
cumulative:
$ref: '#/components/schemas/CommonCostDto'
cumulativeMaterial:
$ref: '#/components/schemas/CommonCostDto'
cumulativeLabor:
$ref: '#/components/schemas/CommonCostDto'
cumulativeMachine:
$ref: '#/components/schemas/CommonCostDto'
cumulativeOutsideProcessing:
$ref: '#/components/schemas/CommonCostDto'
itemMaterial:
$ref: '#/components/schemas/CommonCostDto'
itemLabor:
$ref: '#/components/schemas/CommonCostDto'
itemMachine:
$ref: '#/components/schemas/CommonCostDto'
itemOutsideProcessing:
$ref: '#/components/schemas/CommonCostDto'
shopRateSetup:
$ref: '#/components/schemas/CommonCostDto'
shopRateRun:
$ref: '#/components/schemas/CommonCostDto'
shopRateMachine:
$ref: '#/components/schemas/CommonCostDto'
componentMaterial:
$ref: '#/components/schemas/CommonCostDto'
componentLabor:
$ref: '#/components/schemas/CommonCostDto'
componentMachine:
$ref: '#/components/schemas/CommonCostDto'
componentOutsideProcessing:
$ref: '#/components/schemas/CommonCostDto'
lines:
type: array
items:
$ref: '#/components/schemas/CommonCostBreakdownLineDto'
description: Cost breakdown line details.
additionalProperties: false
description: Cost breakdown
CommonTimeDto:
required:
- labor
- machine
- setup
type: object
properties:
labor:
minimum: 0
type: number
description: Total
format: double
machine:
minimum: 0
type: number
description: Cost per unit
format: double
setup:
minimum: 0
type: number
description: Cost per unit
format: double
additionalProperties: false
description: Time information
CommonCostDto:
required:
- perUnit
- total
type: object
properties:
total:
minimum: 0
type: number
description: Total
format: double
perUnit:
minimum: 0
type: number
description: Cost per unit
format: double
additionalProperties: false
description: Cost information
SalesOrderPartLineItemUpdateDto:
type: object
properties:
quantity:
minimum: 0
type: number
description: The line item quantity
format: double
price:
minimum: 0
type:
- number
- 'null'
description: 'The line item price.
Note, if a price break exists for the item being added (vendor price breaks, item price breaks, etc), this value will be ignored
as it is quantity-driven based on the price breaks that do/will exist.
If this value is not provided and no price breaks exist, the default will be 0.'
format: double
isTaxable:
type:
- boolean
- 'null'
description: Dictate if this line item is taxable.
taxCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Tax code key identifier. Please reference /api/tax-rates endpoint.
taxRate:
minimum: 0
type:
- number
- 'null'
description: Tax rate to use for this entity. If a FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemUpdateDto.TaxCodeId is provided, the provided FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemUpdateDto.TaxRate will supercede the defined tax rate.
format: double
overrideTaxRate:
type:
- boolean
- 'null'
description: Indicate if the tax supplied is intended to be an override.
description:
maxLength: 2000
minLength: 0
type:
- string
- 'null'
description: The part line item description. Defaults to the item's description if none specified.
internalNotes:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: The line item internal notes. Aka production notes.
itemNotes:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: The line item notes (visible in job tracking).
externalReferences:
type:
- object
- 'null'
additionalProperties:
$ref: '#/components/schemas/CommonExternalReferenceDto'
description: Arbitrary key-value-pair like data that can be used to later on search for this line item.
isPercentageDiscount:
type:
- boolean
- 'null'
description: Indicates whether FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemUpdateDto.DiscountAmount discount is percentage based (else, it's an absolute amount).
discountAmount:
type:
- number
- 'null'
description: The amount of the discount.
format: double
links:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CommonUrlDto'
description: List of links associated with the line item.
deliveryDate:
type:
- string
- 'null'
description: 'The Delivery Date for the line item.
Only the calendar date is used, exactly as written; any time or UTC offset is ignored.'
format: date-time
unitOfMeasureName:
type:
- string
- 'null'
description: The unit of measure to apply. If left blank, the existing unit of measure on the line item will be retained.
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: 'Accounting code key identifier. Ple
# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fulcrumpro/refs/heads/main/openapi/fulcrumpro-sales-order-part-line-item-api-openapi.yml