LeafLink Inventory Query API

The inventory-query API from LeafLink — 10 operation(s) for inventory-query.

Business capability
Inventory Allocation Management BC-530.30

Operations 10

GET /inventory/buyers/{buyer_id}/allocations List allocations for a buyer #
GET /inventory/groups/{group_id}/allocations List allocations for a group #
GET /inventory/measurements/by-batch List measurements by batch #
GET /inventory/measurements/by-facility List measurements by facility #
GET /inventory/measurements/by-facility-and-batch List measurements by facility and batch #
GET /inventory/measurements/by-product List measurements by product #
GET /inventory/measurements/by-product-and-batch List measurements by product and batch #
GET /inventory/measurements/by-product-and-facility List measurements by product and facility #
GET /inventory/measurements/by-product-facility-and-batch List measurements by product, facility, and batch #
GET /inventory/orders/{order_id}/reservations List reservations for an order #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leaflink-inventory-query-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

leaflink-inventory-query-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LeafLink Inventory Query API
  version: '2022-10-31'
  description: 'This reference specification outlines all the available HTTP operations of the LeafLink API.


    See the [LeafLink Developer Hub](/api) for guides, how-to, and general information of the API.

    '
  termsOfService: https://www.leaflink.com/terms-and-conditions/
  contact:
    email: support@leaflink.com
servers:
- url: https://api.leaflink.com
  description: LeafLink API production URL.
- url: https://staging-api.leaflink.com
  description: LeafLink API staging URL.
security:
- bearerAuth: []
tags:
- name: inventory-query
paths:
  /inventory/buyers/{buyer_id}/allocations:
    get:
      operationId: inventory_buyers_allocations_list
      description: Return all inventory allocations associated with the given buyer.
      summary: List allocations for a buyer
      parameters:
      - in: path
        name: buyer_id
        schema:
          type: integer
        description: The buyer ID to retrieve allocations for
        required: true
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Allocation'
          description: List of allocation items
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/groups/{group_id}/allocations:
    get:
      operationId: inventory_groups_allocations_list
      description: Return all inventory allocations associated with the given customer group.
      summary: List allocations for a group
      parameters:
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: path
        name: group_id
        schema:
          type: integer
        description: The customer group ID to retrieve allocations for
        required: true
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Allocation'
          description: List of allocation items
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-batch:
    get:
      operationId: inventory_measurements_by_batch_retrieve
      description: Inventory measurements grouped by batch. Optional filter by batch_id.
      summary: List measurements by batch
      parameters:
      - in: query
        name: batch_id
        schema:
          type: string
        description: Comma-separated batch IDs to filter by
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BatchMeasurementResponse'
          description: List of measurements per batch
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-facility:
    get:
      operationId: inventory_measurements_by_facility_retrieve
      description: Inventory measurements grouped by facility. Optional filter by facility_id.
      summary: List measurements by facility
      parameters:
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: query
        name: facility_id
        schema:
          type: string
        description: Comma-separated facility IDs to filter by
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityMeasurementResponse'
          description: List of measurements per facility
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-facility-and-batch:
    get:
      operationId: inventory_measurements_by_facility_and_batch_retrieve
      description: Inventory measurements grouped by facility and batch. Optional filter by facility_id, batch_id.
      summary: List measurements by facility and batch
      parameters:
      - in: query
        name: batch_id
        schema:
          type: string
        description: Comma-separated batch IDs to filter by
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: query
        name: facility_id
        schema:
          type: string
        description: Comma-separated facility IDs to filter by
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityBatchMeasurementResponse'
          description: List of measurements per facility and batch
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-product:
    get:
      operationId: inventory_measurements_by_product_retrieve
      description: Inventory measurements grouped by product. Optional filter by product_id.
      summary: List measurements by product
      parameters:
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: query
        name: product_id
        schema:
          type: string
        description: Comma-separated product IDs to filter by
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductMeasurementResponse'
          description: List of measurements per product
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-product-and-batch:
    get:
      operationId: inventory_measurements_by_product_and_batch_retrieve
      description: Inventory measurements grouped by product and batch. Optional filter by product_id, batch_id.
      summary: List measurements by product and batch
      parameters:
      - in: query
        name: batch_id
        schema:
          type: string
        description: Comma-separated batch IDs to filter by
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: query
        name: product_id
        schema:
          type: string
        description: Comma-separated product IDs to filter by
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductBatchMeasurementResponse'
          description: List of measurements per product and batch
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-product-and-facility:
    get:
      operationId: inventory_measurements_by_product_and_facility_retrieve
      description: Inventory measurements grouped by product and facility. Optional filter by product_id, facility_id.
      summary: List measurements by product and facility
      parameters:
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: query
        name: facility_id
        schema:
          type: string
        description: Comma-separated facility IDs to filter by
      - in: query
        name: product_id
        schema:
          type: string
        description: Comma-separated product IDs to filter by
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductFacilityMeasurementResponse'
          description: List of measurements per product and facility
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/measurements/by-product-facility-and-batch:
    get:
      operationId: inventory_measurements_by_product_facility_and_batch_retrieve
      description: Inventory measurements grouped by product, facility, and batch. Optional filter by product_id, facility_id, batch_id.
      summary: List measurements by product, facility, and batch
      parameters:
      - in: query
        name: batch_id
        schema:
          type: string
        description: Comma-separated batch IDs to filter by
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: query
        name: facility_id
        schema:
          type: string
        description: Comma-separated facility IDs to filter by
      - in: query
        name: product_id
        schema:
          type: string
        description: Comma-separated product IDs to filter by
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductFacilityBatchMeasurementResponse'
          description: List of measurements per product, facility, and batch
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
  /inventory/orders/{order_id}/reservations:
    get:
      operationId: inventory_orders_reservations_list
      description: Return all inventory reservations associated with the given order.
      summary: List reservations for an order
      parameters:
      - in: query
        name: company_id
        schema:
          type: integer
        description: The ID of the viewing company
        required: true
      - in: path
        name: order_id
        schema:
          type: integer
        description: The order ID to retrieve reservations for
        required: true
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: LeafLink-Version
        description: '[API version docs](/api/getting-started/#versioning)'
        required: false
        in: header
        schema:
          type: string
          format: date
      tags:
      - inventory-query
      security:
      - bearerAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Reservation'
          description: List of reservation items
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: The requests quota in the time window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: The remaining requests quota in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: The time remaining in the current window, specified in seconds.
            RateLimit-Policy:
              schema:
                type: string
              description: The quota policy information.
        '429':
          description: Rate Limit Error
          headers:
            Retry-After:
              schema:
                type: integer
              description: The time remaining before the rejected request can be tried again, specified in seconds.
components:
  schemas:
    FacilityMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-facility.
      properties:
        facility_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - facility_id
      - measurements
      - updated_at
    MeasurementData:
      type: object
      description: Nested measurement quantities; field names match MeasurementData.
      properties:
        on_hand_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        available_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        reserved_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        allocated_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        held_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        archived_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
      required:
      - allocated_quantity
      - archived_quantity
      - available_quantity
      - held_quantity
      - on_hand_quantity
      - reserved_quantity
    FacilityBatchMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-facility-and-batch.
      properties:
        facility_id:
          type: integer
        batch_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - batch_id
      - facility_id
      - measurements
      - updated_at
    ProductFacilityMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-product-and-facility.
      properties:
        product_id:
          type: integer
        facility_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - facility_id
      - measurements
      - product_id
      - updated_at
    Reservation:
      type: object
      description: Serializes a ``ReservationItem`` for the API response.
      properties:
        product_id:
          type: integer
        facility_id:
          type: integer
        batch_id:
          type: integer
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        allocated_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        fulfilled_quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        order_id:
          type:
          - integer
          - 'null'
        created_at:
          type: string
          format: date-time
      required:
      - allocated_quantity
      - batch_id
      - created_at
      - facility_id
      - fulfilled_quantity
      - order_id
      - product_id
      - quantity
    Allocation:
      type: object
      description: Serializes an ``AllocationItem`` for the API response.
      properties:
        product_id:
          type: integer
        facility_id:
          type: integer
        batch_id:
          type: integer
        quantity:
          type: string
          format: decimal
          pattern: ^-?\d{0,18}(?:\.\d{0,2})?$
        group_ids:
          type: array
          items:
            type: integer
        buyer_ids:
          type: array
          items:
            type: integer
        created_at:
          type: string
          format: date-time
      required:
      - batch_id
      - buyer_ids
      - created_at
      - facility_id
      - group_ids
      - product_id
      - quantity
    BatchMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-batch.
      properties:
        batch_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - batch_id
      - measurements
      - updated_at
    ProductBatchMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-product-and-batch.
      properties:
        product_id:
          type: integer
        batch_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - batch_id
      - measurements
      - product_id
      - updated_at
    ProductFacilityBatchMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-product-facility-and-batch.
      properties:
        product_id:
          type: integer
        facility_id:
          type: integer
        batch_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - batch_id
      - facility_id
      - measurements
      - product_id
      - updated_at
    ProductMeasurementResponse:
      type: object
      description: Response shape for GET .../measurements/by-product.
      properties:
        product_id:
          type: integer
        measurements:
          $ref: '#/components/schemas/MeasurementData'
        updated_at:
          type: string
          format: date-time
      required:
      - measurements
      - product_id
      - updated_at
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Authentication is done via access tokens (JWTs). See the [API authentication doc](/api/getting-started/#authentication) for more information.

        '
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"