Parking Device

Service to communicate with parking devices.

GET /device/v1/commands/{command_id}
Authenticated

Get command

Get command sent to parking device

Path Parameters

NameTypeDescription
command_id string Target command ID required

Responses

200 response

name string
id string
state object

Command state indicates if the command was successful, is pending, or something went wrong.

reason string

Reason for the command state, e.g. error details.

value string NOT_SENTSENTERRORRECEIVEDSUCCESS
timeout_at string

Timestamp of state timeout. If null, state won’t timeout.

uri string
device object
id string
uri string
events [object]
name string

Prefix REQUEST events are server events, RESPONSE prefix nominates hardware responses to requests, STATE prefix means the device state has changed.

value string

Some events have a value, like telemetry events

timestamp string

Example Request

curl \
  "https://services.bikeep.com/device/v1/commands/{COMMAND_ID}" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"
GET /device/v1/devices/{device_id}
Authenticated

Get parking device

Get target parking device

Path Parameters

NameTypeDescription
device_id string Target parking device id required

Responses

200 response

wifi_rssi number deprecated

Deprecated: always returns null. Will be removed in a future version.

code string
nr string deprecated

Deprecated: use alias instead

heartbeat string deprecated

Deprecated: simulated value, not real heartbeat data. Use heartbeat_v2.health and heartbeat_v2.dead_since instead.

sleep_state string LIGHT_SLEEPDEEP_SLEEP

Device sleep mode state. Empty string means the device is awake.

type string GUARD BIKE_DOCK SCOOTER_DOCK LOCKER BIKE_HOUSE_DOOR BIKE_RENT SCOOTER_RENT DOCK DOCK_SESSIONLESS DOOR
has_otp_support boolean

Whether the device supports TOTP-based access.

price_list object
id string
uri string
heartbeat_latency number deprecated

Deprecated: always null. Will be removed in a future version.

alias string
id string
state object
changed_at string

Timestamp of latest state change.

value string ALLOCATED LOCKED LOCKING UNLOCKED UNLOCKING BOOKED
timeout_at string

Timestamp of state timeout. If null, state won’t timeout.

heartbeat_v2 object

Device health information. Only ‘health’ and ‘dead_since’ fields contain real data. Null if no health data is available.

sent_at string deprecated

Deprecated: simulated value, not a real heartbeat timestamp. Will be removed in a future version.

latency_millis number deprecated

Deprecated: always 0. Will be removed in a future version.

health string HEALTHYUNHEALTHYDEADLONG_DEAD

Device health status.

dead_since string

Timestamp since the device has been dead. Null if the device is not dead.

commands object

Map of commands available for this device. Keys are command names, values are command URIs. Send commands via POST /devices/{device_id}/commands with the command name in the request body.

command_name string

field value == command url

has_access_lists boolean

Whether the device has access lists configured.

has_subscription boolean

Whether the device has an active subscription.

settings object

Device settings, requires additional permissions

updated_at string

Timestamp when the device settings were last updated.

created_at string

Timestamp when the device settings were created.

deep_link string

Deep link for the device.

lock_state string LOCKEDUNLOCKED

Physical lock state of the device.

heartbeat_health string deprecated HEALTHYUNHEALTHYDEAD

Deprecated: does not distinguish LONG_DEAD from DEAD. Use heartbeat_v2.health instead.

uri string
power_save_strategy string NONEREMOTE_WAKEUPLOCAL_WAKEUP

Device power management mode. NONE means always powered on, REMOTE_WAKEUP can be woken remotely, LOCAL_WAKEUP can be woken locally.

tags [string]
comment string
location object

Location reference where the device is installed.

id string
uri string
user object

Current user occupying the device, requires additional permissions

access_key string
id string
has_allowlist boolean

Whether the device has allowlists configured.

hardware_id string

Device hardware identifier

hardware_state string NORMAL DISABLED DISABLED_LOCKING DISABLED_UNLOCKING ERROR NOT_RESPONDING
has_camera boolean

Whether the device has a camera.

Example Request

curl \
  "https://services.bikeep.com/device/v1/devices/{DEVICE_ID}" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"
POST /device/v1/devices/{device_id}/commands
Authenticated

Send device command (lock/unlock/etc)

Send a command to the target device. Supported commands: lock, unlock, book, cancel-booking, force-lock, force-unlock, force-cancel-booking, sync-device, take-photo. Poll the returned command to monitor its progress.

Path Parameters

NameTypeDescription
device_id string Target device ID required

Request Body required

reason string STUCK_USER_RFID_ISSUE STUCK_USER_APP_ISSUE STUCK_USER_USER_ERROR STUCK_USER_OTHER_ISSUE LOCKED_EMPTY MAINTENANCE TESTING RENTAL_VEHICLE_LOCKED FALSE_LOCK OTHER

Required for ‘force-unlock’ only. Must be at least 5 characters.

user_id string

Only used by ‘lock’. Overrides the requesting user as the target user for the lock operation. If omitted, the requesting user is used. When different from the requesting user, requires ACT_ON_BEHALF_OF permission on the target user.

power_cycle boolean

Only used by ‘sync-device’. Whether to power cycle the device during sync. Defaults to false.

comment string

Only used with ‘force-unlock’ when reason is STUCK_USER_OTHER_ISSUE or OTHER. Must be at least 5 characters.

timeout_at string

Booking expiration timestamp in RFC3339 format. Only used by the ‘book’ command. If omitted, defaults to 1 hour from now. Must be in the future; returns ERRORS.INVALID_TIMEOUT_AT if not.

command string lock book force-lock force-cancel-booking unlock cancel-booking force-unlock sync-device take-photo

lock: lock a device for the user | unlock: unlock a locked device | book: reserve a device with an optional timeout | cancel-booking: cancel the user’s active booking | force-lock: admin lock regardless of current state | force-unlock: admin unlock (requires reason) | force-cancel-booking: admin cancel any booking | sync-device: synchronize device state | take-photo: capture a device snapshot.

Responses

200 response

name string
id string
state object

Command state indicates if the command was successful, is pending, or something went wrong.

reason string

Reason for the command state, e.g. error details.

value string NOT_SENTSENTERRORRECEIVEDSUCCESS
timeout_at string

Timestamp of state timeout. If null, state won’t timeout.

uri string
device object
id string
uri string
events [object]
name string

Prefix REQUEST events are server events, RESPONSE prefix nominates hardware responses to requests, STATE prefix means the device state has changed.

value string

Some events have a value, like telemetry events

timestamp string

Example Request

curl \
  -X POST \
  "https://services.bikeep.com/device/v1/devices/{DEVICE_ID}/commands" \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "STUCK_USER_RFID_ISSUE",
  "user_id": "00000000-0000-0000-0000-000000000000",
  "power_cycle": true,
  "comment": "string",
  "timeout_at": "2025-01-15T12:00:00Z",
  "command": "lock"
}'
GET /device/v1/locations/{location_id}/devices
Authenticated

Get parking devices

Get parking devices in the target location

Path Parameters

NameTypeDescription
location_id string Target location ID required

Responses

200 response

data [object]
wifi_rssi number deprecated

Deprecated: always returns null. Will be removed in a future version.

code string
nr string deprecated

Deprecated: use alias instead

heartbeat string deprecated

Deprecated: simulated value, not real heartbeat data. Use heartbeat_v2.health and heartbeat_v2.dead_since instead.

sleep_state string LIGHT_SLEEPDEEP_SLEEP

Device sleep mode state. Empty string means the device is awake.

type string GUARD BIKE_DOCK SCOOTER_DOCK LOCKER BIKE_HOUSE_DOOR BIKE_RENT SCOOTER_RENT DOCK DOCK_SESSIONLESS DOOR
has_otp_support boolean

Whether the device supports TOTP-based access.

price_list object
heartbeat_latency number deprecated

Deprecated: always null. Will be removed in a future version.

alias string
id string
state object
heartbeat_v2 object

Device health information. Only ‘health’ and ‘dead_since’ fields contain real data. Null if no health data is available.

commands object

Map of commands available for this device. Keys are command names, values are command URIs. Send commands via POST /devices/{device_id}/commands with the command name in the request body.

has_access_lists boolean

Whether the device has access lists configured.

has_subscription boolean

Whether the device has an active subscription.

settings object

Device settings, requires additional permissions

lock_state string LOCKEDUNLOCKED

Physical lock state of the device.

heartbeat_health string deprecated HEALTHYUNHEALTHYDEAD

Deprecated: does not distinguish LONG_DEAD from DEAD. Use heartbeat_v2.health instead.

uri string
power_save_strategy string NONEREMOTE_WAKEUPLOCAL_WAKEUP

Device power management mode. NONE means always powered on, REMOTE_WAKEUP can be woken remotely, LOCAL_WAKEUP can be woken locally.

tags [string]
comment string
location object

Location reference where the device is installed.

user object

Current user occupying the device, requires additional permissions

has_allowlist boolean

Whether the device has allowlists configured.

hardware_id string

Device hardware identifier

hardware_state string NORMAL DISABLED DISABLED_LOCKING DISABLED_UNLOCKING ERROR NOT_RESPONDING
has_camera boolean

Whether the device has a camera.

uri string

Example Request

curl \
  "https://services.bikeep.com/device/v1/locations/{LOCATION_ID}/devices" \
  -H "Authorization: Bearer {ACCESS_TOKEN}"