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

# Update Location

> Updates a `Location` specified by the warehouse `id` and `location_id` path parameters and according to the request body.



## OpenAPI

````yaml PUT /v1/inventory/warehouses/{id}/locations/{location_id}
openapi: 3.0.3
info:
  title: ShipStream
  version: '1.0'
  license:
    name: Commercial (Copyright 2025 - All Rights Reserved)
    url: https://shipstream.io
  contact:
    name: ShipStream Support
    email: help@shipstream.io
  termsOfService: https://shipstream.io/legal/api-terms/
servers:
  - url: https://{base_url_domain}/api/global
    description: Direct API Url
    variables:
      base_url_domain:
        default: example.shipstream.app
        description: >-
          The fully qualified domain name for your ShipStream WMS instance. This
          is either a custom domain, or a subdomain of shipstream.app,

          and will be the same as the domain name for the page which you use to
          login to ShipStream WMS.
security:
  - ShipStream_bearerAuth: []
tags:
  - name: Warehouses
    x-displayName: Warehouses
  - name: Products
    x-displayName: Products
  - name: Locations
    x-displayName: Locations
  - name: Levels
    x-displayName: Levels
  - name: HoldReasons
    x-displayName: HoldReasons
  - name: Holds
    x-displayName: Holds
  - name: Deliveries
    description: Every thing about a Delivery Receiving
    x-displayName: Deliveries
  - name: Shipments
    x-displayName: Shipments
  - name: Orders
    x-displayName: Orders
  - name: Retailers
    x-displayName: Retailers
  - name: Users
    x-displayName: Users
  - name: User Roles
    x-displayName: User Roles
  - name: Merchants
    x-displayName: Merchants
  - name: Healthcheck
    x-displayName: Healthcheck
paths:
  /v1/inventory/warehouses/{id}/locations/{location_id}:
    put:
      tags:
        - Locations
      summary: Update Location
      description: >-
        Updates a `Location` specified by the warehouse `id` and `location_id`
        path parameters and according to the request body.
      operationId: updateLocationProperties
      parameters:
        - name: id
          in: path
          schema:
            type: integer
            format: int32
          required: true
          description: The `id` of the referenced `Warehouse`.
        - name: location_id
          in: path
          schema:
            type: integer
            format: int32
          required: true
          description: The `id` of the referenced `Location`.
      requestBody:
        description: A `Location` object specifying the fields to be updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Inventory_API_v1_Location'
      responses:
        '200':
          $ref: '#/components/responses/Inventory_API_v1_200-ok-no-body'
        '400':
          $ref: '#/components/responses/Inventory_API_v1_400-bad-request'
        '404':
          $ref: '#/components/responses/Inventory_API_v1_404-not-found'
        '422':
          $ref: '#/components/responses/Inventory_API_v1_422-unprocessable'
        '500':
          $ref: '#/components/responses/Inventory_API_v1_500-internal-server-error'
components:
  schemas:
    Inventory_API_v1_Location:
      title: Location
      type: object
      description: >-
        A Location describes a user-specified inventory address within a
        warehouse.
      properties:
        type:
          type: string
          enum:
            - Location
          readOnly: true
          description: >-
            This is a read-only property that describes the type of object in
            the response body.
        id:
          type: integer
          example: 42
          readOnly: true
          description: >-
            The internal `id` property used as a path parameter in a resource
            lookup.
        label:
          type: string
          nullable: true
          example: A4-55-C3
          description: >-
            The human-readable name of a location and also the value encoded in
            location's barcode label.

            This value must be unique within each warehouse.
        priority:
          type: integer
          example: 10
          description: >-
            The inventory reservation order relative to other locations
            containing the same product.
        qty_putaway:
          type: number
          format: double
          example: 10
          readOnly: true
          nullable: true
          description: >-
            The quantity of a product associated with a Delivery that have not
            yet been committed to the inventory.
        qty_unreserved:
          type: number
          format: double
          example: 20
          readOnly: true
          nullable: true
          description: >-
            The quantity of a product not yet assigned to a specific Shipment.
            This does not imply that the inventory is Available.
        qty_reserved:
          type: number
          format: double
          example: 4
          readOnly: true
          nullable: true
          description: >-
            The quantity assigned to a Shipment or Work Order and ready to be
            picked.
        qty_on_hand:
          type: number
          format: double
          example: 34
          readOnly: true
          nullable: true
          description: >-
            The "On Hand" amount is the same as Put-Away + Unreserved + Reserved
            quantities.
        qty_locked:
          type: number
          format: double
          example: 4
          readOnly: true
          nullable: true
          description: >-
            The quantity that is reserved to a Shipment or Work Order as chosen
            specifically by a user and therefore should not be re-reserved to a
            new location on the fly in the event that an adjustment needs to
            re-optimize pick locations. This amount is already included in
            `qty_reserved` so is not added again to `qty_on_hand`.\
              `Optional Field`
        is_temp:
          type: boolean
          example: false
          readOnly: true
          nullable: true
          description: >-
            Temporary locations are used to track inventory that is being
            relocated and cannot be created or modified.\
              `Optional Field`
        is_pickable:
          type: boolean
          example: true
          nullable: true
          readOnly: true
          description: >-
            Whether or not the location is considered to be easy to pick from
            for the purpose of generating pickable batches.\
              `Optional Field`
        is_type_auto:
          type: boolean
          example: true
          nullable: true
          description: >-
            If Location Type is "Automatic" then it will cause the type to be
            maintained automatically according to the Auto-Assign Patterns of
            the location types.\
              `Optional Field`
        created_at:
          type: string
          format: datetime
          example: '2021-11-17T14:32:44Z'
          readOnly: true
          nullable: true
          description: |-
            The date and time when the object was created.\
              `Optional Field`
        updated_at:
          type: string
          format: datetime
          example: '2021-11-17T14:32:44Z'
          readOnly: true
          description: |-
            The date and time when the object was last updated.\
              `Optional Field`
        last_cyclecount_at:
          type: string
          format: datetime
          example: '2021-11-17T14:32:44Z'
          readOnly: true
          nullable: true
          description: |-
            The date and time when last cycle count was performed.\
              `Optional Field`
        lot:
          allOf:
            - $ref: '#/components/schemas/Inventory_API_v1_LotRef'
            - description: A reference to the `Lot` object assigned to this location.
        product:
          allOf:
            - $ref: '#/components/schemas/Inventory_API_v1_StockableProductRef'
            - description: A reference to the stockable product assigned to this location.
        rack:
          allOf:
            - $ref: '#/components/schemas/Inventory_API_v1_RackRef'
            - description: >-
                A reference to the `Rack` to which this location is assigned.
                This may be managed automatically or assigned manually.
        location_type:
          allOf:
            - $ref: '#/components/schemas/Inventory_API_v1_LocationTypeRef'
            - description: >-
                A reference to the `LocationType` object assigned to this
                location. This may be managed automatically or assigned
                manually.
    Inventory_API_v1_LotRef:
      title: LotRef
      type: object
      description: >-
        A reference to a `Lot` object. The Lot records the time some inventory
        was originated (first received or

        otherwise created) and optionally a lot number and expiration date and
        may affect the order in which

        inventory is "burned" depending on the `LotType`.
      properties:
        type:
          type: string
          enum:
            - Lot
          description: This property describes the type of object in the response body.
        id:
          type: integer
          example: 54
          description: >-
            The internal `id` property used as a path parameter in a resource
            lookup.
      required:
        - type
        - id
      nullable: true
      additionalProperties: false
    Inventory_API_v1_StockableProductRef:
      title: StockableProductRef
      type: object
      description: A reference to a `Product` or stockable packaging type object by `id`.
      properties:
        type:
          type: string
          description: >-
            This is a read-only property that describes the type of object in
            the response body.
          enum:
            - Product
            - PackagingContainer
            - PackagingInfill
            - PackagingSupplies
        id:
          type: integer
          description: >-
            The internal, read-only, `id` property used as a path parameter in a
            resource lookup.
          format: int32
      required:
        - type
        - id
      nullable: true
      additionalProperties: false
    Inventory_API_v1_RackRef:
      title: RackRef
      type: object
      description: >-
        A `Rack` is a grouping of locations in a warehouse implying a very close
        proximity.
      properties:
        type:
          type: string
          enum:
            - Rack
          description: This property describes the type of object in the response body.
        id:
          type: integer
          description: >-
            The internal `id` property used as a path parameter in a resource
            lookup.
      required:
        - type
        - id
      nullable: true
      additionalProperties: false
    Inventory_API_v1_LocationTypeRef:
      title: LocationTypeRef
      type: object
      description: A reference to a `LocationType` object.
      properties:
        type:
          type: string
          enum:
            - LocationType
          description: This property describes the type of object in the response body.
        id:
          type: integer
          example: 54
          description: >-
            The internal `id` property used as a path parameter in a resource
            lookup.
      required:
        - type
        - id
      nullable: true
      additionalProperties: false
  responses:
    Inventory_API_v1_200-ok-no-body:
      description: OK - The operation completed successfully and there is no response body.
    Inventory_API_v1_400-bad-request:
      description: >-
        The request was invalid. The client must change the request. See the
        response body for more details.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The error type code.
                      enum:
                        - parser
                        - parameters
                        - openapi
                    message:
                      type: string
                      description: An English sentence describing the error type.
                    details:
                      type: array
                      description: >-
                        An array of objects describing which keys are
                        responsible for the error and detailed messages
                        describing why they are not valid.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The path to the key which relates to the error.
                          message:
                            type: string
                            description: >-
                              An English sentence describing the details of the
                              error.
                        additionalProperties: false
                  additionalProperties: false
                minItems: 1
            additionalProperties: false
          example:
            errors:
              - type: parameters
                message: The supplied parameters are invalid.
                details:
                  - key: hold_until_date
                    message: The date must be in the future.
    Inventory_API_v1_404-not-found:
      description: >-
        The requested resource was not found. It may have been deleted, it may
        have never existed, or you may not have permission to view it.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The error type code.
                      enum:
                        - not_found
                    message:
                      type: string
                      description: An English sentence describing the error type.
                    details:
                      type: array
                      description: >-
                        An array of objects describing which keys are
                        responsible for the error and detailed messages
                        describing why they are not valid.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The path to the key which relates to the error.
                          message:
                            type: string
                            description: >-
                              An English sentence describing the details of the
                              error.
                        additionalProperties: false
                  additionalProperties: false
                minItems: 1
            additionalProperties: false
          example:
            errors:
              - type: not_found
                message: The server could not find the requested resource.
    Inventory_API_v1_422-unprocessable:
      description: >-
        There was an error processing the request. See the response body for
        more details.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The error type code.
                      enum:
                        - application
                        - unable_to_process
                    message:
                      type: string
                      description: An English sentence describing the error type.
                    details:
                      type: array
                      description: >-
                        An array of objects describing which keys are
                        responsible for the error and detailed messages
                        describing why they are not valid.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The path to the key which relates to the error.
                          message:
                            type: string
                            description: >-
                              An English sentence describing the details of the
                              error.
                        additionalProperties: false
                  additionalProperties: false
                minItems: 1
            additionalProperties: false
          example:
            errors:
              - type: unable_to_process
                message: The supplied parameters are invalid.
                details:
                  - key: hold_until_date
                    message: The date must be in the future.
    Inventory_API_v1_500-internal-server-error:
      description: >-
        Internal Server Error - Something wrong happened at server side. Contact
        server administrator for more details.
  securitySchemes:
    ShipStream_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Generate a JWT access token through a Custom Global Integration and
        provide it with each request in the `Authorization` header prefixed with
        "Bearer" and then a single space.

````