Fulcrumpro Item API
The Item API from Fulcrumpro — 8 operation(s) for item.
The Item API from Fulcrumpro — 8 operation(s) for item.
openapi: 3.0.4
info:
title: Fulcrum Public Accounting Code Item API
version: v1
servers:
- url: https://api.fulcrumpro.com
tags:
- name: Item
paths:
/api/items/{itemId}/revision:
post:
tags:
- Item
summary: Add a revision to an item
operationId: AddRevisionItem
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRequestAddRevision'
application/json:
schema:
$ref: '#/components/schemas/ItemRequestAddRevision'
text/json:
schema:
$ref: '#/components/schemas/ItemRequestAddRevision'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRequestAddRevision'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
'404':
description: Item did not exist
'409':
description: Item revision already exists
x-c4-mutation: true
x-c4-required-permissions:
- ItemsAndInventory-Items-Edit Item
/api/items:
post:
tags:
- Item
summary: Create a new item
operationId: CreateItem
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemCreateDto'
required: true
responses:
'200':
description: Item created
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:
- ItemsAndInventory-Items-Edit Item
/api/items/{itemId}:
get:
tags:
- Item
summary: Get a specific item
operationId: GetItem
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
responses:
'200':
description: The item for the given id
content:
application/json:
schema:
$ref: '#/components/schemas/ItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemDto'
'404':
description: Item did not exist
x-c4-required-permissions:
- ItemsAndInventory-Items-View Item
patch:
tags:
- Item
summary: Partially update an item
operationId: PatchItem
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/JsonPatchDocument'
responses:
'200':
description: Item
content:
application/json:
schema:
$ref: '#/components/schemas/ItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemDto'
'404':
description: Item did not exist
x-c4-mutation: true
x-c4-required-permissions:
- ItemsAndInventory-Items-Edit Item
put:
tags:
- Item
summary: Update a specific item
operationId: UpdateItem
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemUpdateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemUpdateDto'
required: true
responses:
'200':
description: Item
content:
application/json:
schema:
$ref: '#/components/schemas/ItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemDto'
'404':
description: Item did not exist
/api/items/{itemId}/can-make:
get:
tags:
- Item
summary: 'Get the can-make quantities for an item. Returns how much of this item can be produced
from current subcomponent inventory (on-hand and available).'
operationId: GetItemCanMake
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
responses:
'200':
description: The can-make quantities for the given item
content:
application/json:
schema:
$ref: '#/components/schemas/ItemCanMakeDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemCanMakeDto'
'404':
description: Item id provided was not found
'400':
description: Item is not a make item
x-c4-required-permissions:
- ItemsAndInventory-Items-View Item
/api/items/list:
post:
tags:
- Item
summary: TO BE REMOVED 11/02/2023 - Find items based on search parameters.
description: Use V2 which includes a list of number filters
operationId: ListItem
parameters:
- name: Sort.Field
in: query
description: Sort field
schema:
minLength: 1
type: string
- name: Sort.Dir
in: query
description: Sort direction
schema:
$ref: '#/components/schemas/CommonEnumSortDirectionEnum'
- name: Skip
in: query
description: Number of records to skip.
schema:
minimum: 0
type: integer
format: int32
- name: Take
in: query
description: Number of records to return (maximum)
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRequestFindParameters'
application/json:
schema:
$ref: '#/components/schemas/ItemRequestFindParameters'
text/json:
schema:
$ref: '#/components/schemas/ItemRequestFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRequestFindParameters'
responses:
'200':
description: List of items matching the filters
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemDto'
deprecated: true
/api/items/list/v2:
post:
tags:
- Item
summary: Find items based on search parameters.
operationId: ListItemV2
parameters:
- name: Sort.Field
in: query
description: Sort field
schema:
minLength: 1
type: string
- name: Sort.Dir
in: query
description: Sort direction
schema:
$ref: '#/components/schemas/CommonEnumSortDirectionEnum'
- name: Skip
in: query
description: Number of records to skip.
schema:
minimum: 0
type: integer
format: int32
- name: Take
in: query
description: Number of records to return (maximum)
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRequestFindParametersV2'
application/json:
schema:
$ref: '#/components/schemas/ItemRequestFindParametersV2'
text/json:
schema:
$ref: '#/components/schemas/ItemRequestFindParametersV2'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRequestFindParametersV2'
responses:
'200':
description: List of items matching the filters
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemListDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemListDto'
x-c4-required-permissions:
- ItemsAndInventory-Items-View Item
/api/items/{itemId}/inventory/pick:
post:
tags:
- Item
summary: TO BE REMOVED 10/13/2023 - Pick inventory against a specific item.
description: Use /inventory/pick API instead
operationId: PickItemInventory
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryPickEvent'
application/json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryPickEvent'
text/json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryPickEvent'
application/*+json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryPickEvent'
required: true
responses:
'200':
description: Inventory transaction processed
'400':
description: Validation issues with input
deprecated: true
/api/items/{itemId}/inventory/receive:
post:
tags:
- Item
summary: TO BE REMOVED 10/13/2023 - Receive inventory against a specific item.
description: Use /inventory/receive API instead
operationId: ReceiveItemInventory
parameters:
- name: itemId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryReceiveEvent'
application/json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryReceiveEvent'
text/json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryReceiveEvent'
application/*+json:
schema:
$ref: '#/components/schemas/InventoryRequestItemInventoryReceiveEvent'
required: true
responses:
'200':
description: Inventory transaction processed
'400':
description: Validation issues with input
deprecated: true
components:
schemas:
ItemShippingDto:
type: object
properties:
class:
type: string
description: The item shipping class
nullable: true
nmfc:
type: string
description: The National Motor Freight Classification
nullable: true
isHazmat:
type: boolean
description: Whether the item is hazardous to ship
unitWeight:
type: number
description: The unit weight in lbs.
format: double
nullable: true
tariffCode:
type: string
description: The item tariff code
nullable: true
countryOfOrigin:
type: string
description: The country of origin
nullable: true
additionalProperties: false
description: Item Shipping Properties
ItemCustomerDto:
required:
- customerId
- id
- priceBreaks
type: object
properties:
id:
maxLength: 36
minLength: 36
type: string
description: The id of the item-customer association. Use this value for update and delete operations.
customerId:
maxLength: 24
minLength: 24
type: string
description: Customer id associated to this entity. Please reference /api/customers endpoint.
customerItemNumber:
maxLength: 200
minLength: 1
type: string
description: The item number for this customer.
nullable: true
customerItemName:
maxLength: 200
minLength: 1
type: string
description: The item name for this customer.
nullable: true
unitOfMeasureName:
minLength: 1
type: string
description: The unit of measure name. This can be standard unit measurement names (Piece, Square foot, etc) or a custom measurement name.
nullable: true
priceBreaks:
type: array
items:
$ref: '#/components/schemas/CommonPriceBreakDto'
description: Price breaks.
additionalProperties: false
description: Customer with additional context for an item.
ItemRequestAddRevision:
required:
- revision
type: object
properties:
revision:
maxLength: 200
minLength: 1
type: string
description: The revision to be created.
archiveSourceItem:
type: boolean
description: Indicate whether we should archive the source item. This will default to false.
nullable: true
additionalProperties: false
description: Add an item revision.
InventoryEnumEventSourceType:
enum:
- purchaseOrder
- job
- shipment
- shipmentLineItem
- shipping
- receiving
- item
- workOrder
- salesOrder
- jobOperation
- workOrderOperation
- fulfillment
- itemToMakeMaterialRemnant
- poRcvValueAdj
type: string
description: Indicator for the initial source of the event.
CommonCustomFieldSearchDto:
required:
- key
- value
type: object
properties:
key:
minLength: 1
type: string
description: Key/identifier for the custom field
value:
minLength: 1
type: string
description: Underlying value of the custom field
additionalProperties: false
description: Custom field associated to an entity.
ItemsAndInventoryDataQualityPlanStatus:
enum:
- needsApproval
- approved
type: string
ItemRequestFilterMode:
enum:
- equal
- startsWith
- contains
type: string
description: How item numbers are matched against the search string
ItemCanMakeDto:
type: object
properties:
canMakeFromOnHand:
type: number
description: 'The quantity that can be made from on-hand inventory of subcomponents of this item.
Null if the planning cache has not yet been computed.'
format: double
nullable: true
canMakeFromAvailable:
type: number
description: 'The quantity that can be made from available inventory (on-hand + incoming supply) of subcomponents of this item.
Null if the planning cache has not yet been computed.'
format: double
nullable: true
additionalProperties: false
description: 'Indicates how much of this item can be produced from its subcomponent inventory.
Only applicable to make items.'
ItemMaterialVendorDto:
required:
- id
- vendorId
type: object
properties:
id:
maxLength: 36
minLength: 36
type: string
description: Id
vendorId:
maxLength: 24
minLength: 24
type: string
description: Vendor id associated to this entity. Please reference /api/vendors endpoint.
vendorItemNumber:
maxLength: 200
minLength: 1
type: string
description: The item number for this vendor.
nullable: true
vendorItemName:
maxLength: 200
minLength: 1
type: string
description: The item name for this vendor.
nullable: true
notes:
maxLength: 2000
minLength: 1
type: string
description: Notes to the vendor.
nullable: true
additionalProperties: false
description: Material vendor with additional context for an item.
CommonUnitOfMeasureConversionDto:
required:
- destinationQuantity
- destinationUnitOfMeasureName
- sourceQuantity
type: object
properties:
sourceQuantity:
type: number
description: This value signifies the quantity of the item's source unit of measure.
format: double
destinationQuantity:
type: number
description: This value signifies the quantity of the "destination" unit of measure.
format: double
destinationUnitOfMeasureName:
minLength: 1
type: string
description: The destination unit of measure.
isCustom:
type: boolean
description: Indicate if this is a custom (not out-of-the-box) unit of measure.
isDefault:
type: boolean
description: Indicate if this is the default unit of measure
multiplier:
type: number
description: Indicates the conversion factor used to calculate source to converted units.
format: double
readOnly: true
additionalProperties: false
description: Unit of measure conversion definition
ItemUpdateDto:
type: object
properties:
description:
maxLength: 2000
minLength: 0
type: string
description: Item description.
nullable: true
accountingCodeId:
maxLength: 24
minLength: 24
type: string
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
nullable: true
accountingCode2Id:
maxLength: 24
minLength: 24
type: string
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
nullable: true
materialCodeId:
maxLength: 24
minLength: 24
type: string
description: Item material code key identifier. Please reference /api/material-codes endpoint.
nullable: true
gradeId:
maxLength: 24
minLength: 24
type: string
description: Item grade code key identifier. Please reference /api/grade-codes endpoint.
nullable: true
shapeId:
maxLength: 24
minLength: 24
type: string
description: Item shape code key identifier. Please reference /api/shape-codes endpoint.
nullable: true
gaugeId:
maxLength: 24
minLength: 24
type: string
description: Item gauge code key identifier. Please reference /api/gauge-codes endpoint.
nullable: true
categoryId:
maxLength: 24
minLength: 24
type: string
description: Item category code key identifier. Please reference /api/item-categories endpoint.
nullable: true
width:
minimum: 0
type: number
description: Item width
format: double
nullable: true
height:
minimum: 0
type: number
description: Item height
format: double
nullable: true
length:
minimum: 0
type: number
description: Item length
format: double
nullable: true
weight:
minimum: 0
type: number
description: Item weight
format: double
nullable: true
minimumStockOnHand:
minimum: 0
type: number
description: Item minimum stock on hand.
format: double
nullable: true
minimumProductionQuantity:
minimum: 0
type: number
description: Item minimum production quantity for a manufacturing run.
format: double
nullable: true
internalNotes:
maxLength: 2000
minLength: 1
type: string
description: Internal item notes.
nullable: true
salesUnitOfMeasureConversions:
type: array
items:
$ref: '#/components/schemas/CommonUnitOfMeasureConversionDto'
description: Unit of measure conversions for sellable items.
nullable: true
isTaxable:
type: boolean
description: Whether or not this item is taxable (default)
nullable: true
externalReferences:
type: object
additionalProperties:
$ref: '#/components/schemas/CommonExternalReferenceDto'
description: Arbitrary key-value-pair like data that can be used to later on search for this line item.
nullable: true
additionalProperties: false
description: Represents an update on an Item.
ItemDto:
required:
- accountingDetails
- description
- id
- itemOrigin
- number
- unitOfMeasureName
- unitTypeName
type: object
properties:
id:
maxLength: 24
minLength: 24
type: string
description: Id
number:
maxLength: 200
minLength: 1
type: string
description: The number to give the item.
description:
maxLength: 2000
minLength: 0
type: string
description: The description to give the item.
itemOrigin:
$ref: '#/components/schemas/DomainItemsAndInventoryItemOrigin'
unitTypeName:
minLength: 1
type: string
description: 'The unit of measure type, ex: Piece, Volume or Weight'
unitOfMeasureName:
minLength: 1
type: string
description: The unit of measure name. Options available depend on the selected UnitTypeName. For Pieces, you might have a UOM of Piece, Set or Case. For Volume, options include Liter, Milliliter, etc.
revision:
$ref: '#/components/schemas/ItemRevisionDto'
barCodeNumber:
maxLength: 200
minLength: 1
type: string
description: The barcode number to give the item.
nullable: true
isSellable:
type: boolean
description: Define if this item is able to be sold/sellable.
isArchived:
type: boolean
description: Indicate if this item is archived.
isNonInventory:
type: boolean
description: Indicate if this item is considered a non-inventory item.
accountingCodeId:
maxLength: 24
minLength: 24
type: string
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
nullable: true
accountingCode2Id:
maxLength: 24
minLength: 24
type: string
description: Accounting code 2 key identifier. Please reference /api/accounting-codes endpoint.
nullable: true
materialCodeId:
maxLength: 24
minLength: 24
type: string
description: Item material code key identifier. Please reference /api/material-codes endpoint.
nullable: true
gradeId:
maxLength: 24
minLength: 24
type: string
description: Item grade code key identifier. Please reference /api/grade-codes endpoint.
nullable: true
shapeId:
maxLength: 24
minLength: 24
type: string
description: Item shape code key identifier. Please reference /api/shape-codes endpoint.
nullable: true
gaugeId:
maxLength: 24
minLength: 24
type: string
description: Item gauge code key identifier. Please reference /api/gauge-codes endpoint.
nullable: true
categoryId:
type: string
description: Item category code key identifier. Please reference /api/item-categories endpoint.
nullable: true
width:
minimum: 0
type: number
description: Item width
format: double
nullable: true
height:
minimum: 0
type: number
description: Item height
format: double
nullable: true
length:
minimum: 0
type: number
description: Item length
format: double
nullable: true
weight:
minimum: 0
type: number
description: Item weight
format: double
nullable: true
materialWeight:
minimum: 0
type: number
description: The weight of material item (calculated)
format: double
nullable: true
minimumStockOnHand:
minimum: 0
type: number
description: Item minimum stock on hand.
format: double
nullable: true
minimumProductionQuantity:
minimum: 0
type: number
description: Item minimum production quantity for a manufacturing run.
format: double
nullable: true
customFields:
type: object
additionalProperties: {}
description: Custom fields that have been defined on this entity.
nullable: true
tags:
type: array
items:
$ref: '#/components/schemas/TagDto'
description: Item tags.
internalNotes:
maxLength: 2000
minLength: 1
type: string
description: Internal item notes.
nullable: true
salesUnitOfMeasureConversions:
type: array
items:
$ref: '#/components/schemas/CommonUnitOfMeasureConversionDto'
description: Sales unit of measurements
nullable: true
externalReferences:
type: object
additionalProperties:
$ref: '#/components/schemas/CommonExternalReferenceDto'
description: External references associated with this entity.
nullable: true
isTaxable:
type: boolean
description: Whether this item is taxable
nullable: true
buildToOrder:
type: boolean
description: Whether or not this item is build to order (jobs are made from sales orders, not overall demand)
nullable: true
buildToStock:
type: boolean
description: Whether or not this item is build to stock (jobs are created from overall demand, not sales orders)
nullable: true
isSingleUseItem:
type: boolean
description: Indicate if this item is intended for single use.
nullable: true
isLotTracked:
type: boolean
description: Indicate if this item is lot-tracked.
nullable: true
shipping:
$ref: '#/components/schemas/ItemShippingDto'
createdUtc:
type: string
description: The date the item was created
format: date-time
modifiedUtc:
type: string
description: The date the item was last modified
format: date-time
customerTiers:
type: array
items:
$ref: '#/components/schemas/ItemCustomerTierDto'
description: Customer tiers associated with this item.
materialDetails:
$ref: '#/components/schemas/ItemMaterialDetailsDto'
accountingDetails:
$ref: '#/components/schemas/CommonAccountingDetailsDto'
materialVendorDetails:
type: array
items:
$ref: '#/components/schemas/ItemMaterialVendorDto'
description: Includes vendor (purchasing) details for this item. This is specific to material-based items.
nullable: true
vendorDetails:
type: array
items:
$ref: '#/components/schemas/ItemVendorDto'
description: Includes vendor (purchasing) details for this item.
nullable: true
customerDetails:
type: array
items:
$ref: '#/components/schemas/ItemCustomerDto'
description: Includes customer (selling) details for this item.
nullable: true
qualityPlanStatus:
$ref: '#/components/schemas/ItemsAndInventoryDataQualityPlanStatus'
additionalProperties: false
description: An item
JsonPatchDocument:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
description: Array of operations to perform
FulcrumProductMaterialsFulcrumLengthUnits:
enum:
- inch
- foot
- yard
- millimeter
- centimeter
- meter
type: string
CommonEnumTagTypeEnum:
enum:
- item
- accountingCode
- itemCategory
- itemShape
- itemMaterial
- itemGrade
- itemGauge
- itemShippingContainer
- itemClass
- breakReasonCode
- refundReasonCode
- vendorOrderIssueCode
- chartOfAccounts
type: string
description: What the tag is used for (can be many).
TagDto:
required:
- id
- name
- style
- types
type: object
properties:
id:
maxLength: 24
minLength: 24
type: string
description: Unique Id associated to the referenced object
name:
maxLength: 200
minLength: 1
type: string
description: Descriptive name associated to the object
style:
$ref: '#/components/schemas/CommonEnumStyleEnum'
description:
maxLength: 200
minLength: 1
type: string
description: Descriptive name associated to the object
nullable: true
types:
type: array
items:
$ref: '#/components/schemas/CommonEnumTagTypeEnum'
description: Represents where/how this tag is used.
deleted:
type: boolean
description: Indicate if this tag has been deleted.
nullable: true
additionalProperties: false
description: Represents a tag
ItemCreateDto:
required:
- itemOrigin
- number
- unitOfMeasureName
- unitTypeName
type: object
properties:
number:
maxLength: 200
minLength: 1
type: string
description: The name to give the item. Must be uniqu
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fulcrumpro/refs/heads/main/openapi/fulcrumpro-item-api-openapi.yml