openapi: 3.0.4 info: title: Fulcrum Public Accounting Code Inventory API version: v1 servers: - url: https://api.fulcrumpro.com tags: - name: Inventory paths: /api/inventory/list: post: tags: - Inventory summary: Find inventory based on search parameters. operationId: ListInventory 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/InventoryRequestFindParameters' application/json: schema: $ref: '#/components/schemas/InventoryRequestFindParameters' text/json: schema: $ref: '#/components/schemas/InventoryRequestFindParameters' application/*+json: schema: $ref: '#/components/schemas/InventoryRequestFindParameters' responses: '200': description: List of locations matching the filters content: application/json: schema: type: array items: $ref: '#/components/schemas/InventoryDto' application/problem+json: schema: type: array items: $ref: '#/components/schemas/InventoryDto' x-c4-required-permissions: - ItemsAndInventory-Items-View Inventory /api/inventory/byItem: get: tags: - Inventory summary: 'Returns on hand counts by item. Excludes reserved inventory counts by default, but can be included by passing in the ```includeReserved``` query parameter. NOTE: If the response does not contain an item identifier, it means there is no quantity on hand.' operationId: OnHandByItem parameters: - name: includeReserved in: query description: Whether to included reserved inventory into the counts schema: type: boolean default: false responses: '200': description: OK content: application/json: schema: type: object additionalProperties: type: number format: double application/problem+json: schema: type: object additionalProperties: type: number format: double x-c4-required-permissions: - ItemsAndInventory-Items-View Inventory /api/inventory/override: post: tags: - Inventory summary: Override an inventory's quantity. operationId: OverrideInventory requestBody: description: The parameters for the request content: application/json-patch+json: schema: $ref: '#/components/schemas/InventoryOverrideDto' application/json: schema: $ref: '#/components/schemas/InventoryOverrideDto' text/json: schema: $ref: '#/components/schemas/InventoryOverrideDto' application/*+json: schema: $ref: '#/components/schemas/InventoryOverrideDto' required: true responses: '200': description: Inventory override was successfully processed '400': description: Validation issues with the request '500': description: An unspecified error occurred with the request x-c4-mutation: true x-c4-required-permissions: - ItemsAndInventory-Inventory-Adjust Inventory /api/inventory/pick: post: tags: - Inventory summary: Pick inventory against a specific item. operationId: PickInventory requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/InventoryPickDto' application/json: schema: $ref: '#/components/schemas/InventoryPickDto' text/json: schema: $ref: '#/components/schemas/InventoryPickDto' application/*+json: schema: $ref: '#/components/schemas/InventoryPickDto' required: true responses: '200': description: Inventory transaction processed '400': description: Validation issues with input x-c4-mutation: true x-c4-required-permissions: - ItemsAndInventory-Inventory-Adjust Inventory /api/inventory/availableByItem: get: tags: - Inventory summary: 'Returns quantity available by item. This is the on hand + incoming supply - demand. NOTE: If the response does not contain an item identifier, it means there is no quantity on hand.' operationId: QuantityAvailableByItem responses: '200': description: OK content: application/json: schema: type: object additionalProperties: type: number format: double application/problem+json: schema: type: object additionalProperties: type: number format: double x-c4-required-permissions: - ItemsAndInventory-Items-View Inventory /api/inventory/receive: post: tags: - Inventory summary: Receive inventory for a specific item. operationId: ReceiveInventory requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/InventoryReceiveDto' application/json: schema: $ref: '#/components/schemas/InventoryReceiveDto' text/json: schema: $ref: '#/components/schemas/InventoryReceiveDto' application/*+json: schema: $ref: '#/components/schemas/InventoryReceiveDto' required: true responses: '200': description: Inventory transaction processed '400': description: Validation issues with input x-c4-mutation: true x-c4-required-permissions: - ItemsAndInventory-Inventory-Adjust Inventory components: schemas: InventoryRequestFindParameters: type: object properties: lotIds: type: array items: type: string description: Filter inventory based on lot ids. nullable: true itemIds: type: array items: type: string description: Filter inventory based on item ids. nullable: true locationIds: type: array items: type: string description: Filter inventory based on location ids. nullable: true additionalProperties: false description: Parameters used for searching/finding inventory. InventoryReceiveDto: required: - itemId - quantity - secondaryType type: object properties: itemId: maxLength: 24 minLength: 24 type: string description: Item identifier. Please reference /api/items endpoint. secondaryType: $ref: '#/components/schemas/InventoryReceiveEventSecondaryType' quantity: type: number description: Quantity of the item to receive. format: double locationId: maxLength: 24 minLength: 24 type: string description: Location id that inventory is received into. Please reference /api/locations endpoint nullable: true lotId: maxLength: 24 minLength: 24 type: string description: Lot identifier for this block of inventory. Please reference /api/inventory-lots endpoint nullable: true lotNumber: maxLength: 200 minLength: 1 type: string description: Lot name. nullable: true note: maxLength: 2000 minLength: 1 type: string description: Notes associated to this transaction. nullable: true laborValue: minimum: 0 type: number description: Labor value associated (per unit). format: double nullable: true machineValue: minimum: 0 type: number description: Machine value associated (per unit). format: double nullable: true outsideProcessingValue: minimum: 0 type: number description: Outside processing value associated (per unit). format: double nullable: true materialValue: minimum: 0 type: number description: Material value associated (per unit). format: double nullable: true additionalProperties: false description: Receive event for item inventory. InventoryReceiveEventSecondaryType: enum: - receive - found - stockAdjustmentIncrease - otherIncrease type: string description: Secondary event type specifically for receiving. InventoryOverrideDto: required: - itemId - quantity type: object properties: itemId: maxLength: 24 minLength: 24 type: string description: Item identifier. quantity: type: number description: The quantity to set the item's inventory level to. format: double lotId: type: string description: The lot identifier to apply this override to nullable: true locationId: type: string description: The location identifier to apply this override to. ```null``` signifies no location. nullable: true note: type: string description: The note to add to the override transaction. nullable: true additionalProperties: false description: Override event for item inventory InventoryDto: required: - id - itemId - itemNumber - onHandQuantity - quantity type: object properties: id: maxLength: 24 minLength: 24 type: string description: Unique id associated to this entity. lotId: maxLength: 24 minLength: 24 type: string description: The lot Iid associated to this entity. nullable: true locationId: maxLength: 24 minLength: 24 type: string description: The location id associated to this entity. nullable: true quantity: minimum: 0 type: number description: The quantity of items in this inventory. format: double onHandQuantity: minimum: 0 type: number description: The on-hand quantity of items in this inventory. format: double itemId: maxLength: 24 minLength: 24 type: string description: The item id associated to this entity. itemNumber: maxLength: 200 minLength: 1 type: string description: The number/sku/short name of the item. itemDescription: maxLength: 2000 minLength: 0 type: string description: The description of the item nullable: true additionalProperties: false description: An item inventory record. InventoryPickDto: required: - itemId - quantity - secondaryType type: object properties: itemId: maxLength: 24 minLength: 24 type: string description: Item identifier. Please reference /api/items endpoint. secondaryType: $ref: '#/components/schemas/InventoryPickEventSecondaryType' quantity: type: number description: Quantity of the item to pick. format: double locationId: maxLength: 24 minLength: 24 type: string description: Location id that inventory is picked from. Please reference /api/locations endpoint nullable: true lotId: maxLength: 24 minLength: 24 type: string description: Lot identifier for this block of inventory. Please reference /api/inventory-lots endpoint nullable: true note: maxLength: 2000 minLength: 1 type: string description: Notes associated to this transaction. nullable: true additionalProperties: false description: Pick event for item inventory. CommonEnumSortDirectionEnum: enum: - ascending - descending type: string description: Specify sorting direction. InventoryPickEventSecondaryType: enum: - pick - consume - scrap - stockAdjustmentDecrease - otherDecrease type: string description: Secondary event type specifically for picking. securitySchemes: bearer: type: http description: Your API bearer token generated in System Data > Advanced > Public API Setup scheme: bearer bearerFormat: JWT x-tagGroups: - name: Accounting Code tags: - Accounting Code - name: Attachment tags: - Attachment - Attachment Certification - name: Auth tags: - Auth - name: CAPAs tags: - CAPAs - name: Chart Of Accounts tags: - Chart Of Accounts - name: Company Info tags: - Company Info - name: Custom Field tags: - Custom Field - name: Customer tags: - Customer - Customer Address - Customer Contact - name: Customer Tier tags: - Customer Tier - name: Department tags: - Department - name: Equipment tags: - Equipment - name: Gauge Code tags: - Gauge Code - name: Grade Code tags: - Grade Code - name: InProcessTrackingFieldType tags: - InProcessTrackingFieldType - name: Inventory tags: - Inventory - name: Inventory Event tags: - Inventory Event - Inventory Event Details - name: Inventory Lot tags: - Inventory Lot - name: Inventory Transactions tags: - Inventory Transactions - name: Invoice tags: - Invoice - Invoice Deposit Adjustment Line Item - Invoice Deposit Line Item - Invoice Discount Line Item - Invoice Fee Line Item - Invoice Line Item - Invoice Note - Invoice Part Line Item - Invoice Refund Line Item - Invoice Shipping Charge Line Item - Invoice Tax Line Item - name: Item tags: - Item - Item Custom Fields - Item Customer - Item Material Vendor - Item PriceBreaks - Item Routing - Item Vendor - name: Item Category tags: - Item Category - name: Item Class tags: - Item Class - name: Item Tag tags: - Item Tag - name: Job tags: - Job - Job Custom Fields - Job Full Routing - Job Part Line Item Full Routing - Job Item To Make - Job Item To Make Operation - Job Operation - name: Job Tracking Timers tags: - Job Tracking Timers - name: Location tags: - Location - name: Material tags: - Material - Material Vendor - name: Material Code tags: - Material Code - name: NCRs tags: - NCRs - name: Note tags: - Note - name: Operation tags: - Operation - name: Payment Term tags: - Payment Term - name: Purchase Order tags: - Purchase Order - Purchase Order Custom Fields - Purchase Order Discount Line Item - Purchase Order Fee Line Item - Purchase Order Line Item - Purchase Order Outside Processing Line Item - Purchase Order Part Line Item - Purchase Order Tax Line Item - Purchase Order Vendor Credit Line Item - name: Quote tags: - Quote - Quote Custom Fields - Quote Discount Line Item - Quote Fee Line Item - Quote Part Line Item - Quote Part Line Item Custom Fields - Quote Part Line Item Full Routing - Quote Tax Line Item - name: Receiving tags: - Receiving Receipt - Receiving Receipt Line Item - name: Refund Reason Code tags: - Refund Reason Code - name: Reporting tags: - Reporting - name: Sales Order tags: - Sales Order - Sales Order Blanket Line Item - Sales Order Custom Fields - Sales Order Discount Line Item - Sales Order Fee Line Item - Sales Order Line Item - Sales Order Part Line Item - Sales Order Part Line Item Custom Fields - Sales Order Part Line Item Full Routing - Sales Order Refund Line Item - Sales Order Shipping Charge Line Item - Sales Order Tax Line Item - name: ScrapReport tags: - ScrapReport - name: Shape Code tags: - Shape Code - name: Shipment Line Items (V3) tags: - Shipment Line Items (V3) - name: Shipment tags: - Shipment Custom Fields - name: Shipments tags: - Shipments - name: Shipping Method tags: - Shipping Method - name: Tag tags: - Tag - name: Tax Rate tags: - Tax Rate - name: Time Clock Timers tags: - Time Clock Timers - name: Timer tags: - Timer - name: User tags: - User - User Status - name: Vendor tags: - Vendor - Vendor Address - Vendor Contact - name: Work Order tags: - Work Order - name: WorkCenter tags: - WorkCenter