Access Lists
Manage the members (users) of an access list. Bikeep provisions the access list and provides its ID; you use these endpoints to add, remove, and list members.
Endpoints
POST/access-control/v1/mgmt/access-lists/{access_list_id}/remove-user
Remove user from access list
GET
/access-control/v1/mgmt/access-lists/{access_list_id}/users
List access list users
POST
/access-control/v1/mgmt/access-lists/{access_list_id}/users
Add user to access list
/access-control/v1/mgmt/access-lists/{access_list_id}/remove-user
Remove user from access list
Removes a member from the access list, or cancels a pending phone invite. Identify the target by user_id or phone_number; a phone number that matches an existing member removes that member, otherwise it cancels a matching pending invite. Provide either user_id or phone_number.
Path Parameters
| Name | Type | Description |
|---|---|---|
access_list_id |
string | Bikeep-provided access list ID required |
Request Body required
remove_now
boolean
Applies to paid access lists: if true, remove immediately; if false (default), removal takes effect at the end of the current payment period. For ‘closed’ and ‘password’ lists, and for pending invites, removal is always immediate and this field is ignored.
user_id
string
Bikeep user ID of the member to remove. Provide either user_id or phone_number, not both.
phone_number
string
E.164 phone number identifying the member to remove. If the number matches an existing member they are removed; if it matches a pending invite, the invite is cancelled. Provide either user_id or phone_number, not both.
{
"remove_now": true,
"user_id": "00000000-0000-0000-0000-000000000000",
"phone_number": "+372 5555 5555"
}
Responses
204 response
400 response
error_message
string
Human-readable error message.
status_code
integer
HTTP status code.
correlation_id
string
Request correlation ID for tracing.
error_code
string
Machine-readable error code, e.g. ERRORS.NOT_FOUND
{
"error_message": "string",
"status_code": 0,
"correlation_id": "00000000-0000-0000-0000-000000000000",
"error_code": "string"
}
500 response
error_message
string
Human-readable error message.
status_code
integer
HTTP status code.
correlation_id
string
Request correlation ID for tracing.
error_code
string
Machine-readable error code, e.g. ERRORS.NOT_FOUND
{
"error_message": "string",
"status_code": 0,
"correlation_id": "00000000-0000-0000-0000-000000000000",
"error_code": "string"
}
Example Request
curl \
-X POST \
"https://services.bikeep.com/access-control/v1/mgmt/access-lists/{ACCESS_LIST_ID}/remove-user" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"remove_now": true,
"user_id": "00000000-0000-0000-0000-000000000000",
"phone_number": "+372 5555 5555"
}'
/access-control/v1/mgmt/access-lists/{access_list_id}/users
List access list users
Returns all members of the given access list, including pending phone invites.
Path Parameters
| Name | Type | Description |
|---|---|---|
access_list_id |
string | Bikeep-provided access list ID required |
Responses
200 response
data
[object]
Members of the access list, including pending phone invites.
joined_at
string
RFC3339 timestamp when the member joined. Empty if not yet joined.
expires_at
string
RFC3339 timestamp when access expires. For pending invites (status “invited”) this is when the invitation itself expires. Empty if it does not expire.
user_id
string
Bikeep user ID. Empty for invited members who have not joined yet.
payment_period
string
dayweekmonth
Billing period for the membership. Applies to paid access lists.
recurring_payment
boolean
Whether the membership renews automatically. Applies to paid access lists.
comment
string
Free-text admin note.
phone_number
string
E.164 phone number of the invited person. Empty for members who have already joined; use status (“invited”) to distinguish.
external_id
string
The external identifier supplied when the member was added, if any.
next_payment_at
string
RFC3339 timestamp of the next scheduled payment. Applies to paid access lists. Empty if none.
status
string
included:active
included:cancelled
included:pending_payment
included:pending_approval
included:payment_failed
included:payment_needs_approval
excluded:expired
excluded:removed
invited
Membership status. included:* = currently has access; excluded:* = no longer has access; invited = phone invite pending; the member is added automatically on the invited person’s next Bikeep sign-in.
uri
string
Canonical URI of this users collection.
{
"data": [
{
"joined_at": "2025-01-15T12:00:00Z",
"expires_at": "2025-01-15T12:00:00Z",
"user_id": "00000000-0000-0000-0000-000000000000",
"payment_period": "day",
"recurring_payment": true,
"comment": "string",
"phone_number": "+372 5555 5555",
"external_id": "00000000-0000-0000-0000-000000000000",
"next_payment_at": "2025-01-15T12:00:00Z",
"status": "included:active"
}
],
"uri": "https://example.com/resource"
}
400 response
error_message
string
Human-readable error message.
status_code
integer
HTTP status code.
correlation_id
string
Request correlation ID for tracing.
error_code
string
Machine-readable error code, e.g. ERRORS.NOT_FOUND
{
"error_message": "string",
"status_code": 0,
"correlation_id": "00000000-0000-0000-0000-000000000000",
"error_code": "string"
}
500 response
error_message
string
Human-readable error message.
status_code
integer
HTTP status code.
correlation_id
string
Request correlation ID for tracing.
error_code
string
Machine-readable error code, e.g. ERRORS.NOT_FOUND
{
"error_message": "string",
"status_code": 0,
"correlation_id": "00000000-0000-0000-0000-000000000000",
"error_code": "string"
}
Example Request
curl \
"https://services.bikeep.com/access-control/v1/mgmt/access-lists/{ACCESS_LIST_ID}/users" \
-H "Authorization: Bearer {ACCESS_TOKEN}"
/access-control/v1/mgmt/access-lists/{access_list_id}/users
Add user to access list
Adds a user to the access list. Identify the user by user_id, or by phone_number; a phone number that already belongs to a Bikeep account adds the user immediately, otherwise it creates a pending invite that is applied on the user’s first Bikeep sign-in. Provide either user_id or phone_number.
Path Parameters
| Name | Type | Description |
|---|---|---|
access_list_id |
string | Bikeep-provided access list ID required |
Request Body required
user_id
string
Bikeep user ID of an existing user to add. Provide either user_id or phone_number, not both.
payment_period
string
dayweekmonth
Billing period for the membership. Applies to paid access lists; ignored for ‘closed’ and ‘password’ lists.
recurring_payment
boolean
Whether the membership renews automatically each payment period. Applies to paid access lists; ignored for ‘closed’ and ‘password’ lists.
phone_number
string
E.164 phone number identifying the user to add, e.g. “+3725551234”. If the number already belongs to a Bikeep account the user is added immediately; otherwise a pending invite is created and the user is added on their first Bikeep sign-in. Provide either user_id or phone_number, not both.
comment
string
Free-text admin note stored on the membership.
external_id
string
Optional. Your own opaque identifier for this member, stored so you can correlate it to your records. Set when the member is added; there is no endpoint to change it afterward.
{
"user_id": "00000000-0000-0000-0000-000000000000",
"payment_period": "day",
"recurring_payment": true,
"phone_number": "+372 5555 5555",
"comment": "string",
"external_id": "00000000-0000-0000-0000-000000000000"
}
Responses
204 response
400 response
error_message
string
Human-readable error message.
status_code
integer
HTTP status code.
correlation_id
string
Request correlation ID for tracing.
error_code
string
Machine-readable error code, e.g. ERRORS.NOT_FOUND
{
"error_message": "string",
"status_code": 0,
"correlation_id": "00000000-0000-0000-0000-000000000000",
"error_code": "string"
}
500 response
error_message
string
Human-readable error message.
status_code
integer
HTTP status code.
correlation_id
string
Request correlation ID for tracing.
error_code
string
Machine-readable error code, e.g. ERRORS.NOT_FOUND
{
"error_message": "string",
"status_code": 0,
"correlation_id": "00000000-0000-0000-0000-000000000000",
"error_code": "string"
}
Example Request
curl \
-X POST \
"https://services.bikeep.com/access-control/v1/mgmt/access-lists/{ACCESS_LIST_ID}/users" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"user_id": "00000000-0000-0000-0000-000000000000",
"payment_period": "day",
"recurring_payment": true,
"phone_number": "+372 5555 5555",
"comment": "string",
"external_id": "00000000-0000-0000-0000-000000000000"
}'