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

# Create shipment notice

> Creates a new shipment notice order. Identify the source as SUPPLIER (with purchase_order_number) or OFFICE. Each shipment contains items identified by sku_id with a quantity.



## OpenAPI

````yaml /openapi.json post /api/v1/shipment-notices
openapi: 3.1.0
info:
  title: Firstbase API Specification Beta
  description: Integration endpoints for Firstbase
  version: 0.1.0
servers:
  - url: /
    description: Default
security:
  - ApiKey: []
tags:
  - name: Catalog
    description: Browse SKUs, brands, and categories
  - name: Inventory
    description: Query and manage inventory items and assets
  - name: Inventory Levels
    description: Configure inventory levels by SKU and warehouse
  - name: Inventory Orders
    description: Create and manage inventory orders
  - name: ITAD
    description: IT asset disposition requests
  - name: New Joiners
    description: Track and remind new joiners
  - name: Offices
    description: Manage office locations
  - name: Orders
    description: Create and track equipment orders
  - name: Packages
    description: Manage equipment packages
  - name: People
    description: Provision and manage users
  - name: Regions
    description: Query regions
  - name: Replacements
    description: Create and manage equipment replacements
  - name: Returns
    description: Create and manage returns
  - name: Shipment
    description: Look up shipments and carriers
  - name: Shipment Notices
    description: Create and manage shipment notices
  - name: Warehouses
    description: Query warehouses
paths:
  /api/v1/shipment-notices:
    post:
      tags:
        - Shipment Notices
      summary: Create shipment notice
      description: >-
        Creates a new shipment notice order. Identify the source as SUPPLIER
        (with purchase_order_number) or OFFICE. Each shipment contains items
        identified by sku_id with a quantity.
      operationId: createShipmentNotice
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateShipmentNoticeRequest'
        required: true
      responses:
        '201':
          description: Shipment notice created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentNoticeResponse'
        '400':
          description: Bad request — validation error or invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '403':
          description: Forbidden — feature flag is disabled or access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '404':
          description: Warehouse, office, or SKU not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '409':
          description: Conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
components:
  schemas:
    CreateShipmentNoticeRequest:
      type: object
      description: >-
        Request to create a shipment notice — an advance notification that
        equipment is on its way to a Firstbase warehouse
      properties:
        warehouse_id:
          type: string
          format: uuid
          description: >-
            ID of the destination Firstbase warehouse where the equipment will
            be delivered
          example: ed92d1a0-a8ee-4768-bbcb-26dd4bfdf8a4
        source_type:
          type: string
          description: >-
            Origin of the shipment: SUPPLIER (from a vendor/manufacturer) or
            OFFICE (from one of the organization's offices)
          enum:
            - SUPPLIER
            - OFFICE
          example: SUPPLIER
        condition:
          type: string
          description: Physical condition of the items being shipped (NEW or USED)
          enum:
            - NEW
            - USED
          example: NEW
        purchase_order_number:
          type: string
          description: >-
            Purchase order number from the organization's procurement system.
            Required when source_type is SUPPLIER.
        shipments:
          type: array
          description: >-
            List of individual shipment packages, each with tracking info and
            item details
          items:
            $ref: '#/components/schemas/ShipmentRequest'
          minItems: 1
      required:
        - condition
        - shipments
        - source_type
        - warehouse_id
    ShipmentNoticeResponse:
      type: object
      description: Shipment notice response
      properties:
        id:
          type: string
          format: uuid
          description: Shipment notice order ID
        source_type:
          type: string
          description: Source type
          enum:
            - SUPPLIER
            - OFFICE
        status:
          type: string
          description: Status
          enum:
            - SUBMITTED
            - PROCESSING
            - COMPLETED
            - PARTIALLY_COMPLETED
            - NOT_COMPLETED
            - CANCELLED
        condition:
          type: string
          description: Condition
          enum:
            - NEW
            - USED
        warehouse_id:
          type: string
          format: uuid
          description: Warehouse ID
        purchase_order_number:
          type: string
          description: Purchase order number
        shipments:
          type: array
          description: Shipments (packages)
          items:
            $ref: '#/components/schemas/ShipmentResponse'
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
      required:
        - id
        - shipments
    PublicApiHttpErrors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiError'
      required:
        - errors
    ShipmentRequest:
      type: object
      description: >-
        A single shipment package within a shipment notice — one box or
        consignment with its own tracking code
      properties:
        shipping_carrier:
          type: string
          description: >-
            Name of the shipping carrier handling this package (e.g. UPS, FedEx,
            DHL)
          example: UPS
        tracking_code:
          type: string
          description: Carrier tracking number for this package
          example: 1Z999AA10123456784
        items:
          type: array
          description: Items (SKUs) included in this shipment package
          items:
            $ref: '#/components/schemas/ShipmentItemRequest'
          minItems: 1
      required:
        - items
    ShipmentResponse:
      type: object
      description: Shipment (package) in a shipment notice
      properties:
        id:
          type: string
          format: uuid
          description: Package ID
        shipping_carrier:
          type: string
          description: Shipping carrier
        tracking_code:
          type: string
          description: Tracking code
        tracking_url:
          type: string
          description: Tracking URL
        items:
          type: array
          description: Items in this shipment
          items:
            $ref: '#/components/schemas/ShipmentItemResponse'
      required:
        - id
        - items
    PublicApiError:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable description of the error
          example: Invalid request
        source:
          type: string
          description: >-
            Entity or field path that caused the error (for example order,
            shipmentNotice, or person:email)
          example: request
      required:
        - detail
        - source
    ShipmentItemRequest:
      type: object
      description: >-
        A line item within a shipment package, identifying a SKU and how many
        units are included
      properties:
        sku_id:
          type: string
          format: uuid
          description: ID of the SKU (product variant) being shipped
          example: ed92d1a0-a8ee-4768-bbcb-26dd4bfdf8a4
        quantity:
          type: integer
          format: int32
          description: 'Number of units of this SKU included in the shipment (minimum: 1)'
          example: 1
          minimum: 1
        region_id:
          type: string
          format: uuid
          description: >-
            Region ID to associate with this inventory when it arrives; defaults
            to the organization's default region when omitted
        description:
          type: string
          description: >-
            Free-text description for generic (non-catalogued) SKUs; required
            when the SKU does not have a product title in the catalog
      required:
        - quantity
        - sku_id
    ShipmentItemResponse:
      type: object
      description: Item in a shipment
      properties:
        id:
          type: string
          format: uuid
          description: Package item ID
        sku_id:
          type: string
          format: uuid
          description: SKU ID
        expected_quantity:
          type: integer
          format: int32
          description: Expected quantity
        description:
          type: string
          description: Description
      required:
        - id
  securitySchemes:
    ApiKey:
      type: apiKey
      description: Prefix the value with "ApiKey" to indicate the custom authorization type
      name: Authorization
      in: header

````