# Locker unit On Hold State

Places a locker unit in an On Hold state and removes recipient pickup access.
While a locker unit remains on hold, only authorized administrators can retrieve the package using the Admin Pickup API.

Use this endpoint when:
- Temporarily prevent recipient pickups when a locker needs investigation or holds are required.
- Let authorized administrators retrieve contents via Admin Pickup without restoring recipient access.
- Suspend access for maintenance, compliance checks, or dispute resolution.

Endpoint: PATCH /api/v1/lockerBanks/{lockerBankId}/lockers/{lockerUnitId}/hold
Version: 1.0.0
Security: bearerAuth

## Security:

  - `bearerAuth` (unknown)
    http bearer

## Path parameters:

  - `lockerBankId` (string, required)
    The unique identifier of the locker bank.

  - `lockerUnitId` (string, required)
    The unique identifier of the locker unit.

## Request body:

  - `application/json` (unknown)
    Package pickup request details for one or more locker units.

## Request fields (application/json):

  - `userId` (string, required)
    Identifier of the user perforrming the action.
    Example: ADMIN001

  - `Reason` (string)
    Reason for placing the locker unit on hold.
    Example: Order cancelled by recipient.

## Response 200:

  - `200` (unknown)
    Locker unit placed on hold successfully.

## Response 200 fields (application/json):

  - `userId` (string)
    Identifier of the user who performed the locker on hold action.
    Example: ADMIN001

  - `lockerBankId` (string)
    Unique identifier of the locker bank where the deposit was made.
    Example: LB001

  - `lockerUnitId` (string)
    Locker unit number where the package was deposited and is now on hold.
    Example: 1

  - `parcelsReserved` (array)
    Identifier of multiple parcels.

  - `parcelsReserved.trackingNumber` (string)
    The primary identifier of a package, usually a carrier's tracking number.
    Example: TRK123456789

  - `parcelsReserved.secondaryTrackingNumber` (string)
    A secondary identifier for a package, can be generated internally.
    Example: ALT987654321

  - `parcelsDeposited` (array)
    Identifier of multiple parcels.

## Response 400:

  - `400` (unknown)
    Invalid request.

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code(s) that appear due to HTTP  400- Invalid or Bad Request, e.g., validation-error.
    Example: validation_error

  - `errorDescription` (string)
    HTTP 400 Bad Request response status code indicates that the server cannot process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
    Example: userId - value missing.

  - `additionalCode` (string)
    A unique identifier for the error, for example ILP10010, or ILP10030.
    Example: already_exists

  - `additionalInfo` (string)
    This is an additional information about the error. This error 'Invalid Request' might appear due to invalid data, or if the information is missing.
    Example: 674eb7b67b34d787400fa453

  - `additionalParameters` (array)

## Response 401:

  - `401` (unknown)
    The request could not be authorized.

## Response 401 fields (application/json):

  - `message` (string, required)
    This is HTTP 401 Unauthorized response status code, which indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.
    Example: The request could not be completed.

## Response 404:

  - `404` (unknown)
    The requested resource was not found.

## Response 404 fields (application/json):

  - `errorCode` (string)
    Error code(s) that appear due HTTP 404 Page or File not found.
    Example: not_found

  - `errorDescription` (string)
    HTTP 404 Not Found response status code indicates that the server cannot find the requested resource.
    Example: resource not found

  - `additionalCode` (string)
    A unique identifier for the error, for example 0100025, 1110017, or 1090001.
    Example: 0100025

  - `additionalInfo` (string)
    The additional information about the error. This error 'Not Found' might appear due to `Shipment Not Found`, `No Shipments to close`, or `Original Transaction not found`.
    Example: Resource not found

  - `additionalParameters` (array)

## Response 500:

  - `500` (unknown)
    The request could not be completed due to an internal error.

## Response 500 fields (application/json):

  - `message` (string, required)
    This is HTTP 500 Internal Server Error response status code, which indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
    Example: The request could not be completed.

