> ## 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.

# Modify shipment notice

> Partially updates a shipment notice and its packages/items. Editability follows the rule: shipment notice editable when SUBMITTED or PROCESSING with at least one PENDING package. Use `{id, delete: true}` on shipmentNoticePackages or items to remove them. Omit elements to preserve them. Add new packages or items by omitting `id`.



## OpenAPI

````yaml /openapi.json patch /api/v1/shipment-notices/{shipmentNoticeId}
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: Inventory Orders
    description: Create and manage inventory orders
  - name: Shipment Notices V1
    description: 'Query shipment notice orders (V1: package items expose `inventories` list)'
  - name: Packages
    description: ''
  - name: Categories
    description: Query available categories for asset creation
  - name: Catalog
    description: ''
  - name: New Joiners
    description: New joiner provisioning pipeline for the organization
  - name: Orders
    description: ''
  - name: People
    description: >-
      Manage the users of Firstbase for your organization. API follows the SCIM
      standard.
    externalDocs:
      url: https://scim.cloud/
  - name: People — Lifecycle
    description: Offboard and reactivate users.
  - name: Assets
    description: Manage inventory assets
  - name: Regions V1
    description: Query regions (V1)
  - name: Warehouses V1
    description: Query warehouses (V1)
  - name: Brands
    description: Query available brands for asset creation
  - name: Inventory
    description: ''
  - name: Replacements
    description: Create and manage equipment replacements
  - name: Offices
    description: Manage and query office locations for the authenticated organization
  - name: Returns
    description: Return and Replacements
paths:
  /api/v1/shipment-notices/{shipmentNoticeId}:
    patch:
      tags:
        - Shipment Notices V1
      summary: Modify shipment notice
      description: >-
        Partially updates a shipment notice and its packages/items. Editability
        follows the rule: shipment notice editable when SUBMITTED or PROCESSING
        with at least one PENDING package. Use `{id, delete: true}` on
        shipmentNoticePackages or items to remove them. Omit elements to
        preserve them. Add new packages or items by omitting `id`.
      operationId: patchShipmentNotice
      parameters:
        - name: shipmentNoticeId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchShipmentNoticeRequest'
        required: true
      responses:
        '200':
          description: Shipment notice updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentNoticeOrderResponseV1'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '404':
          description: Shipment notice not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '409':
          description: Conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
components:
  schemas:
    PatchShipmentNoticeRequest:
      type: object
      description: >-
        Request body for partially updating a shipment notice. Omit a field to
        leave it unchanged. Explicit JSON null is rejected unless noted on each
        field. Editability follows the rules at /api/v1/shipment-notices/{id}
        GET response status fields: a shipment notice is editable when status is
        SUBMITTED or when status is PROCESSING and at least one shipment is
        PENDING.
      properties:
        warehouseId:
          $ref: '#/components/schemas/JsonNullableUUID'
          description: >-
            New warehouse ID for the shipment notice. Only editable when the
            shipment notice is editable.
        condition:
          $ref: '#/components/schemas/JsonNullableShipmentNoticeOrderCondition'
          description: >-
            New condition. Only editable when shipment notice sourceType is
            OFFICE; rejected for any other source type.
          enum:
            - NEW
            - USED
        purchaseOrderNumber:
          $ref: '#/components/schemas/JsonNullableString'
          description: New purchase order number.
        shipmentNoticePackages:
          $ref: >-
            #/components/schemas/JsonNullableListPatchShipmentNoticeShipmentRequest
          description: >-
            Per-package instructions. Omit to leave packages unchanged. Send
            `{id, delete: true}` to remove a package. Send `{...without id...}`
            to add a new package (only allowed when the shipment notice itself
            is editable). Send `{id, ...fields...}` to update a package (only
            allowed when that package is editable).
      required:
        - condition
        - purchaseOrderNumber
        - shipmentNoticePackages
        - warehouseId
    ShipmentNoticeOrderResponseV1:
      type: object
      description: Shipment notice order (V1)
      properties:
        id:
          type: string
          format: uuid
          description: Shipment notice order ID
        status:
          type: string
          description: Order status
          enum:
            - SUBMITTED
            - PROCESSING
            - COMPLETED
            - PARTIALLY_COMPLETED
            - NOT_COMPLETED
            - CANCELLED
        sourceType:
          type: string
          description: Source type
          enum:
            - SUPPLIER
            - OFFICE
        condition:
          type: string
          description: Condition of items
          enum:
            - NEW
            - USED
        purchaseOrderNumber:
          type: string
          description: Purchase order number
        expectedShipDate:
          type: string
          format: date
          description: Expected ship date
        createdAt:
          type: string
          format: date-time
          description: Created timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last updated timestamp
        warehouse:
          $ref: '#/components/schemas/WarehouseRef'
          description: Destination warehouse
        shipmentNoticeOrderItems:
          type: array
          description: Order line items
          items:
            $ref: '#/components/schemas/ShipmentNoticeOrderItemResponse'
        shipmentNoticePackages:
          type: array
          description: Packages in this shipment notice
          items:
            $ref: '#/components/schemas/ShipmentNoticePackageResponseV1'
        submittedBy:
          $ref: '#/components/schemas/PublicApiPersonRef'
          description: Person who submitted the shipment notice.
      required:
        - createdAt
        - id
        - shipmentNoticeOrderItems
        - shipmentNoticePackages
        - sourceType
        - status
        - updatedAt
        - warehouse
    PublicApiHttpErrors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiError'
      required:
        - errors
    JsonNullableUUID:
      type: object
      properties:
        present:
          type: boolean
    JsonNullableShipmentNoticeOrderCondition:
      type: object
      properties:
        present:
          type: boolean
    JsonNullableString:
      type: object
      properties:
        present:
          type: boolean
    JsonNullableListPatchShipmentNoticeShipmentRequest:
      type: object
      properties:
        present:
          type: boolean
    WarehouseRef:
      type: object
      description: Warehouse reference
      properties:
        id:
          type: string
          format: uuid
          description: Warehouse ID
        name:
          type: string
          description: Warehouse name
      required:
        - id
    ShipmentNoticeOrderItemResponse:
      type: object
      description: Shipment notice order item
      properties:
        id:
          type: string
          format: uuid
          description: Item ID
        sku:
          $ref: '#/components/schemas/SkuRef'
          description: SKU reference
        status:
          type: string
          description: Item status
          enum:
            - EXPECTED
            - PARTIALLY_EXPECTED
            - NO_LONGER_EXPECTED
            - RECEIVED
            - OVER_RECEIVED
            - PARTIALLY_RECEIVED
            - NOT_RECEIVED
            - CANCELLED
        quantity:
          type: integer
          format: int32
          description: Quantity
        description:
          type: string
          description: Item description
        createdAt:
          type: string
          format: date-time
          description: Created timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last updated timestamp
      required:
        - createdAt
        - id
        - sku
        - status
        - updatedAt
    ShipmentNoticePackageResponseV1:
      type: object
      description: Shipment notice package (V1)
      properties:
        id:
          type: string
          format: uuid
          description: Package ID
        status:
          type: string
          description: Package status
          enum:
            - PENDING
            - IN_TRANSIT
            - OUT_FOR_DELIVERY
            - ARRIVED_AT_PROCESSING_FACILITY
            - PARTIALLY_RECEIVED
            - FULLY_RECEIVED
            - OVER_RECEIVED
            - NOT_RECEIVED
            - CANCELLED
            - DELIVERY_EXCEPTION
        trackingCode:
          type: string
          description: Tracking code
        shippingCarrier:
          type: string
          description: Shipping carrier
        trackingUrl:
          type: string
          description: Tracking URL
        createdAt:
          type: string
          format: date-time
          description: Created timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last updated timestamp
        shipmentNoticePackageItems:
          type: array
          description: Package items
          items:
            $ref: '#/components/schemas/ShipmentNoticePackageItemResponseV1'
      required:
        - createdAt
        - id
        - shipmentNoticePackageItems
        - updatedAt
    PublicApiPersonRef:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Person ID
          example: 016fb454-066b-4ba5-9eca-a2fa14b7e7fc
        forename:
          type: string
          description: Person's forename / first name
        surname:
          type: string
          description: Person's surname / last name
      required:
        - id
    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
    SkuRef:
      type: object
      description: SKU reference
      properties:
        id:
          type: string
          format: uuid
          description: SKU ID
        vendorSku:
          type: string
          description: Vendor SKU code
        vendorCode:
          type: string
          description: Vendor code
        categoryCode:
          type: string
          description: Category code
        productTitle:
          type: string
          description: Product title
      required:
        - id
    ShipmentNoticePackageItemResponseV1:
      type: object
      description: Shipment notice package item (V1)
      properties:
        id:
          type: string
          format: uuid
          description: Package item ID
        status:
          type: string
          description: Package item status
          enum:
            - EXPECTED
            - RECEIVED
            - PARTIALLY_RECEIVED
            - OVER_RECEIVED
            - NOT_RECEIVED
            - CANCELLED
        expectedQuantity:
          type: integer
          format: int32
          description: Expected quantity
        receivedQuantity:
          type: integer
          format: int32
          description: Received quantity
        createdAt:
          type: string
          format: date-time
          description: Created timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last updated timestamp
        skuId:
          type: string
          format: uuid
          description: SKU ID for this package item
        vendorSku:
          type: string
          description: Vendor SKU code
        inventories:
          type: array
          description: >-
            Inventories associated with this package item, ordered by createdAt
            asc
          items:
            $ref: '#/components/schemas/ShipmentNoticeInventoryResponseV1'
      required:
        - createdAt
        - id
        - inventories
        - updatedAt
    ShipmentNoticeInventoryResponseV1:
      type: object
      description: Inventory associated with a shipment notice package item (V1)
      properties:
        id:
          type: string
          format: uuid
          description: Inventory ID
          example: 123E4567-E89B-12D3-A456-426614174000
        serialNumber:
          type: string
          description: Serial number
          example: SN123456789
        deployStatus:
          type: string
          description: Deploy status
          enum:
            - ARCHIVED
            - AVAILABLE
            - AWAITING_ARRIVAL
            - DEPLOYED
            - GIFTED
            - LOCKED
            - ON_HOLD
            - OUT_FOR_REPAIR
            - UNAVAILABLE
            - VOIDED
          example: AWAITING_ARRIVAL
        warehouse:
          $ref: '#/components/schemas/WarehouseRef'
          description: Warehouse where the inventory is located
      required:
        - deployStatus
        - id
  securitySchemes:
    ApiKey:
      type: apiKey
      description: Prefix the value with "ApiKey" to indicate the custom authorization type
      name: Authorization
      in: header

````