# Deposit a package into a locker unit

This API operation deposit a package into a locker unit in the specified locker bank

Endpoint: PATCH /api/v1/lockerBanks/{lockerBankId}/lockers/{lockerUnitId}/deposit
Version: 1.0.0
Security: basicAuth

## Path parameters:

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

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

## Request fields (application/json):

  - `userId` (string)
    The identifier of the user performing the deposit action.
    Example: user@gmail.com

  - `parcels` (array, required)

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

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

  - `parcels.photo` (object)

  - `parcels.photo.base64` (string)
    A base64 encoded string photo
    Example: iVBORw0KGgoAAAANSUhEUgAAAAUA...

  - `parcels.photo.contentType` (string)
    The content type of the photo
    Example: image/png

## Response 200 fields (application/json):

  - `lockerBankId` (string)
    The unique identifier for the locker bank.
    Example: AOne

  - `lockerUnitId` (string)
    The unique identifier of the locker unit where the parcel was deposited.
    Example: 7

  - `userId` (string)
    The identifier of the user who performed the deposit action.
    Example: user@gmail.com

  - `pickupCode` (string)
    The pickup code provided to the recipient for retrieving the deposited parcel.
Pickup Code will only be provided to the `contactType: recipient`. For `contactType: department` the contacts will pick the parcel by providing  their `personalId`
    Example: NR8PBW

  - `depositTime` (string)
    The timestamp when the package was deposited in the locker unit.
    Example: 2025-11-27T11:23:26Z

  - `depositExpiryTime` (string)
    The timestamp when the deposited parcel is scheduled to expire. Once expired, the parcel may be removed or handled according to facility policy and the locker unit becomes available for new reservations.
    Example: 2025-11-28T11:23:26Z

  - `parcelsDeposited` (array)
    The list of parcels that were successfully deposited in the locker unit.

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

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

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

