Skip to content

Create a new locker

Request

Create a new locker with the specified details for the carrier, provider, location, and features.

Security
ApiKeyAuth
Bodyapplication/jsonrequired
carrierobject(carrier)required

The details of the locker on the Carrier's system.

providerobject(provider)required

The details of the locker on the Provider's system.

locationobject(location)required

Details about the geographical location of the locker.

metadataArray of objects(metadata)

Additional metadata associated with the locker.

featuresobject(features)

Features available in the locker.

lockerGroupsArray of objects(group)

Locker groups to assign, identified by key and uid; at most one per type key.

curl -i -X POST \
  https://docs.glsnxt.com/_mock/openapi-carrier-integration-api/lockers \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "carrier": {
      "lockerName": "Berlin Locker 01",
      "lockerId": "XR1003",
      "activationDate": "2025-08-20T00:00:00Z"
    },
    "provider": {
      "name": "KEBA",
      "lockerModel": "Model 1",
      "lockerVersion": "v2.1"
    },
    "location": {
      "street": "Main Street",
      "streetNumber": "1",
      "postalCode": "90210",
      "city": "Berlin",
      "lon": -118.2437,
      "lat": 34.0522,
      "countryCode": "DE",
      "type": "indoor"
    },
    "metadata": [
      {
        "key": "maxWeightCapacity",
        "value": "50kg"
      }
    ],
    "features": {
      "hasScreen": true,
      "hasPinPad": true,
      "hasPinBarcodeReader": false
    },
    "lockerGroups": [
      {
        "key": "DEPOT",
        "uid": "6838265090"
      }
    ]
  }'

Responses

Locker created successfully.

Bodyapplication/json
uidstring

The internal unique identifier assigned to the locker.

Example:"1002377838"
carrierobject(carrier)

The details of the locker on the Carrier's system.

providerobject(provider)

The details of the locker on the Provider's system.

locationobject(location)

Details about the geographical location of the locker.

featuresobject(features)

Features available in the locker.

openingHoursobject(opening_hours)

Locker availability schedule.

Conditional constraints (enforced server-side, not by the generated client):

  • If accessMode is SCHEDULED, weeklySchedule MUST be provided and non-empty.
  • If accessMode is ALWAYS, weeklySchedule MUST be omitted.
metadataArray of objects(metadata)

Additional metadata associated with the locker.

ownedByCarrierstring or null

Indicates which carrier owns the locker. null means the locker belongs to a 3rd party provider.

Example:"GLS"
compartmentTypesArray of objects or null(compartment)

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 } ]
Response
{ "uid": "1002377838", "carrier": { "lockerName": "Berlin Locker 01", "lockerId": "XR1003", "activationDate": "2025-08-20T00:00:00Z", "status": "ACTIVE" }, "provider": { "name": "KEBA", "lockerModel": "Model 1", "lockerVersion": "v2.1", "lockerName": "BLOQ-Berlin-12045-001", "lockerUid": "PROVIDER_LOCKER_ABC123", "status": "ACTIVE" }, "location": { "street": "Main Street", "streetNumber": "1", "postalCode": "90210", "city": "Berlin", "lon": -118.2437, "lat": 34.0522, "countryCode": "DE", "type": "indoor" }, "features": { "hasScreen": true, "hasPinPad": true, "hasPinBarcodeReader": false }, "openingHours": { "accessMode": "ALWAYS", "weeklySchedule": [], "exceptions": [] }, "metadata": [ {} ], "ownedByCarrier": "GLS", "compartmentTypes": [ {}, {}, {} ] }