Fulcrumpro Inventory API

The Inventory API from Fulcrumpro — 6 operation(s) for inventory.

OpenAPI Specification

fulcrumpro-inventory-api-openapi.yml Raw ↑
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