# Create a new locker Create a new locker with the specified details for the carrier, provider, location, and features. Endpoint: POST /lockers Version: 1.1.0 Security: ApiKeyAuth ## Request fields (application/json): - `carrier` (object, required) The details of the locker on the Carrier's system. - `carrier.lockerName` (string, required) The name assigned to the locker on the Carrier's system. Example: "Berlin Locker 01" - `carrier.lockerId` (string, required) The unique identifier of the locker on the Carrier's system. Example: "XR1003" - `carrier.activationDate` (string, required) The date when the locker is to be activated for the carrier. Example: "2025-08-20T00:00:00Z" - `provider` (object, required) The details of the locker on the Provider's system. - `provider.name` (string, required) The name of the locker provider. Example: "KEBA" - `provider.lockerModel` (string, required) The model of the locker provided by the provider. Example: "Model 1" - `provider.lockerVersion` (string, required) The version of the locker model provided by the provider. Example: "v2.1" - `location` (object, required) Details about the geographical location of the locker. - `location.street` (string, required) The street name where the locker is located. Example: "Main Street" - `location.streetNumber` (string, required) The street number of the locker location. Example: "1" - `location.postalCode` (string, required) The postal code of the locker location. Example: "90210" - `location.city` (string, required) The city where the locker is located. Example: "Berlin" - `location.lon` (number, required) The longitude coordinate of the locker location. Example: -118.2437 - `location.lat` (number, required) The latitude coordinate of the locker location. Example: 34.0522 - `location.countryCode` (string, required) The ISO 3166-1 alpha-2 country code for the locker location. Example: "DE" - `metadata` (array) Additional metadata associated with the locker. - `metadata.key` (string,null) The key of the metadata. Example: "maxWeightCapacity" - `metadata.value` (string,null) The value of the metadata. Example: "50kg" - `features` (object) Features available in the locker. - `features.hasScreen` (boolean,null) Indicates if the locker has a screen. Example: true - `features.hasPinPad` (boolean,null) Indicates if the locker has a PIN pad. Example: true - `features.hasPinBarcodeReader` (boolean,null) Indicates if the locker has a barcode reader. ## Response 201 fields (application/json): - `uid` (string) The internal unique identifier assigned to the locker. Example: "1002377838" - `carrier` (object) The details of the locker on the Carrier's system. - `carrier.lockerName` (string, required) The name assigned to the locker on the Carrier's system. Example: "Berlin Locker 01" - `carrier.lockerId` (string, required) The unique identifier of the locker on the Carrier's system. Example: "XR1003" - `carrier.activationDate` (string, required) The date when the locker is to be activated for the carrier. Example: "2025-08-20T00:00:00Z" - `carrier.status` (string) Enum: "ACTIVE", "INACTIVE", "MAINTENANCE", "DECOMMISSIONED" - `provider` (object) The details of the locker on the Provider's system. - `provider.name` (string, required) The name of the locker provider. Example: "KEBA" - `provider.lockerModel` (string, required) The model of the locker provided by the provider. Example: "Model 1" - `provider.lockerVersion` (string, required) The version of the locker model provided by the provider. Example: "v2.1" - `provider.lockerUid` (string) The unique identifier of the locker on the Provider's system. Example: "PROVIDER_LOCKER_ABC123" - `location` (object) Details about the geographical location of the locker. - `location.street` (string, required) The street name where the locker is located. Example: "Main Street" - `location.streetNumber` (string, required) The street number of the locker location. Example: "1" - `location.postalCode` (string, required) The postal code of the locker location. Example: "90210" - `location.city` (string, required) The city where the locker is located. Example: "Berlin" - `location.lon` (number, required) The longitude coordinate of the locker location. Example: -118.2437 - `location.lat` (number, required) The latitude coordinate of the locker location. Example: 34.0522 - `location.countryCode` (string, required) The ISO 3166-1 alpha-2 country code for the locker location. Example: "DE" - `features` (object) Features available in the locker. - `features.hasScreen` (boolean,null) Indicates if the locker has a screen. Example: true - `features.hasPinPad` (boolean,null) Indicates if the locker has a PIN pad. Example: true - `features.hasPinBarcodeReader` (boolean,null) Indicates if the locker has a barcode reader. - `metadata` (array) Additional metadata associated with the locker. - `metadata.key` (string,null) The key of the metadata. Example: "maxWeightCapacity" - `metadata.value` (string,null) The value of the metadata. Example: "50kg" - `compartmentTypes` (array,null) A list of different compartment types available in the locker. Example: [{"size":"SMALL","count":10,"height":200,"width":400,"length":600},{"size":"MEDIUM","count":4,"height":400,"width":400,"length":600},{"size":"LARGE","count":2,"height":800,"width":400,"length":600}] - `compartmentTypes.size` (string) The size of the compartment. Enum: "SMALL", "MEDIUM", "LARGE", "XLARGE", "XXLARGE" - `compartmentTypes.count` (integer) The number of compartments of this size available in the locker. Example: 4 - `compartmentTypes.height` (integer) The height of the compartment in millimeters. Example: 400 - `compartmentTypes.width` (integer) The width of the compartment in millimeters. Example: 400 - `compartmentTypes.length` (integer) The length of the compartment in millimeters. Example: 600 ## Response 400 fields (application/json): - `errorCode` (string) A code representing the type of error. Example: "INVALID_REQUEST" - `message` (string) A message describing the error. Example: "Bad request due to invalid input" ## Response 401 fields (application/json): - `errorCode` (string) A code representing the type of error. Example: "UNAUTHORIZED" - `message` (string) A message describing the error. Example: "The requested resource requires authentication" ## Response 500 fields (application/json): - `errorCode` (string) A code representing the type of error. Example: "SERVER_ERROR" - `message` (string) A message describing the error. Example: "The server encountered an internal error"