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.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fulcrum Public 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:
CommonEnumOperationTypeEnum:
enum:
- labor
- setup
- machine
- outsideProcessing
type: string
description: Operation type
CommonEnumCostBreakdownLineTypeEnum:
enum:
- material
- labor
- setup
- machine
- outsideProcessing
- componentMaterial
- componentLabor
- componentMachine
- componentOutsideProcessing
- nestPartMaterialUsage
- nestPartMaterialScrap
- overhead
- unknown
type: string
description: Cost breakdown types
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
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. 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.
JsonPatchOperation:
type: object
properties:
op:
type: string
value:
type: string
path:
type: string
ItemsAndInventoryRoutingsCostBreakdownType:
enum:
- estimated
- inProgressJob
- completedJob
- cancelledJob
type: string
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
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
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
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
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.
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.
CommonAccountingDetailsDto:
type: object
properties:
classId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Item class identifier. Please reference /api/item-classes endpoint.
incomeAccountId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Income account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
assetAccountId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Asset account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
expenseAccountId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Expense account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
cogsAccountId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: COGS account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
additionalProperties: false
description: An object that contains all accounting details.
CommonExternalReferenceDto:
required:
- externalId
type: object
properties:
type:
maxLength: 50
minLength: 0
type:
- string
- 'null'
description: Specifies the type of this identifier.
externalId:
maxLength: 500
minLength: 0
type: string
description: The external identifier
displayId:
maxLength: 500
minLength: 0
type:
- string
- 'null'
description: 'The id/number that a human sees. For a quote, this might be ''Q1000''. If this is null, the display
will fall back to the ExternalId'
status:
type:
- string
- 'null'
description: A status for the external reference
url:
type:
- string
- 'null'
description: An external url for the reference
modifiedUtc:
type:
- string
- 'null'
description: Date the external reference was modified
format: date-time
lastSyncedUtc:
type:
- string
- 'null'
description: 'Date the external system last successfully synced this reference. Set by integrations
on successful sync only; null means never synced or that the sync timestamp isn''t
maintained by the integration.'
format: date-time
additionalPropertie
# --- 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