> ## Documentation Index
> Fetch the complete documentation index at: https://skulabs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Inventory - Calculate Free Map

> Calculate available inventory by subtracting reserved quantities from on-hand stock.



## OpenAPI

````yaml post /inventory/calculate_free_map
openapi: 3.0.3
info:
  title: SKULabs API
  description: >-
    Most API keys have "platformGeneric" and "platformApi" scopes included.
    Contact us to convert more routes from "platformUser" (only available to
    users) to "platformGeneric" (available to users and api keys) upon request.
  version: 4.5.0
servers:
  - url: https://api.skulabs.com
  - url: https://app.skulabs.com/s
security: []
tags:
  - name: batch
  - name: customer
    description: Manage customers, tags, and notes
  - name: cycle_count
  - name: distributor
  - name: inventory
    description: Query and modify inventory levels across locations
  - name: inventory_table
  - name: item
    description: Manage items, barcodes, serial numbers, and tags
  - name: kit
    description: Manage kits and their component items
  - name: listing
  - name: location
  - name: oauth
  - name: order
    description: Manage orders, shipments, tags, and statuses
  - name: purchase_order
    description: Manage purchase orders and receiving
  - name: run
  - name: shipments
  - name: shipping
  - name: store
  - name: tag
    description: Create, update, and remove tags
  - name: transfer_order
  - name: warehouse
    description: Manage warehouses and view statistics
  - name: webhook
    description: Manage webhook handlers
paths:
  /inventory/calculate_free_map:
    post:
      tags:
        - inventory
      summary: Inventory - Calculate Free Map
      description: >-
        Calculate available inventory by subtracting reserved quantities from
        on-hand stock.
      operationId: post_inventory_calculate_free_map
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items_ids:
                  type: array
                  items:
                    type: string
                  description: Array of item IDs
                warehouse_ids:
                  type: array
                  items:
                    type: string
                  description: Filter by warehouse IDs
              required:
                - items_ids
      responses:
        '200':
          description: >-
            Map of item IDs to free inventory quantities. When
            warehouse_linked_reserves is enabled, returns nested map by
            warehouse_id then item_id.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  anyOf:
                    - $ref: '#/components/schemas/FreeInventoryEntry'
                    - type: object
                      additionalProperties:
                        $ref: '#/components/schemas/FreeInventoryEntry'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Detailed error message
                      code:
                        type: string
                        description: Machine-readable error code
                      overview:
                        type: string
                        description: Short human-friendly description
                      statusCode:
                        type: number
                        description: HTTP status code
                      origin:
                        type: string
                        description: Error source
                      skulabsTraceId:
                        type: string
                        description: Trace ID for support
                      type:
                        type: string
                        enum:
                          - error
                          - notice
                          - success
                        description: Error severity for UI handling
                      user_error:
                        type: boolean
                        description: Whether the error was caused by user input
                      display:
                        type: string
                        enum:
                          - notification
                          - panel
                        description: Suggested UI display mode for the error
                    required:
                      - message
                      - statusCode
                required:
                  - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Detailed error message
                      code:
                        type: string
                        description: Machine-readable error code
                      overview:
                        type: string
                        description: Short human-friendly description
                      statusCode:
                        type: number
                        description: HTTP status code
                      origin:
                        type: string
                        description: Error source
                      skulabsTraceId:
                        type: string
                        description: Trace ID for support
                      type:
                        type: string
                        enum:
                          - error
                          - notice
                          - success
                        description: Error severity for UI handling
                      user_error:
                        type: boolean
                        description: Whether the error was caused by user input
                      display:
                        type: string
                        enum:
                          - notification
                          - panel
                        description: Suggested UI display mode for the error
                    required:
                      - message
                      - statusCode
                required:
                  - error
        '403':
          description: Forbidden. Insufficient permissions.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Detailed error message
                      code:
                        type: string
                        description: Machine-readable error code
                      overview:
                        type: string
                        description: Short human-friendly description
                      statusCode:
                        type: number
                        description: HTTP status code
                      origin:
                        type: string
                        description: Error source
                      skulabsTraceId:
                        type: string
                        description: Trace ID for support
                      type:
                        type: string
                        enum:
                          - error
                          - notice
                          - success
                        description: Error severity for UI handling
                      user_error:
                        type: boolean
                        description: Whether the error was caused by user input
                      display:
                        type: string
                        enum:
                          - notification
                          - panel
                        description: Suggested UI display mode for the error
                    required:
                      - message
                      - statusCode
                required:
                  - error
        '429':
          description: Too many requests. Rate limit exceeded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Detailed error message
                      code:
                        type: string
                        description: Machine-readable error code
                      overview:
                        type: string
                        description: Short human-friendly description
                      statusCode:
                        type: number
                        description: HTTP status code
                      origin:
                        type: string
                        description: Error source
                      skulabsTraceId:
                        type: string
                        description: Trace ID for support
                      type:
                        type: string
                        enum:
                          - error
                          - notice
                          - success
                        description: Error severity for UI handling
                      user_error:
                        type: boolean
                        description: Whether the error was caused by user input
                      display:
                        type: string
                        enum:
                          - notification
                          - panel
                        description: Suggested UI display mode for the error
                    required:
                      - message
                      - statusCode
                required:
                  - error
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Detailed error message
                      code:
                        type: string
                        description: Machine-readable error code
                      overview:
                        type: string
                        description: Short human-friendly description
                      statusCode:
                        type: number
                        description: HTTP status code
                      origin:
                        type: string
                        description: Error source
                      skulabsTraceId:
                        type: string
                        description: Trace ID for support
                      type:
                        type: string
                        enum:
                          - error
                          - notice
                          - success
                        description: Error severity for UI handling
                      user_error:
                        type: boolean
                        description: Whether the error was caused by user input
                      display:
                        type: string
                        enum:
                          - notification
                          - panel
                        description: Suggested UI display mode for the error
                    required:
                      - message
                      - statusCode
                required:
                  - error
      security:
        - SKULabsToken: []
      servers:
        - url: https://api.skulabs.com
components:
  schemas:
    FreeInventoryEntry:
      type: object
      properties:
        on_hand:
          type: number
          description: Total on-hand quantity
        reserved:
          type: number
          description: Reserved quantity
        free:
          type: number
          description: Free (available) quantity
      required:
        - on_hand
        - reserved
        - free
  securitySchemes:
    SKULabsToken:
      type: http
      scheme: bearer
      bearerFormat: JWT

````