API and AuthenticationCustomer API
Access Control
Retrieve customer access groups and unlock eligible doors
Access Control
Access operations are available only where the organization has configured a compatible physical-access integration and assigned eligible doors to the customer. Applications should hide access controls when groups is empty.
List Access Groups
GET /accesscurl "https://edge.tiquo.app/api/client/v1/access" \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."{
"success": true,
"data": {
"groups": [
{
"location": "Main Building",
"doors": [
{
"id": "door_123",
"name": "Main Entrance",
"kind": "door"
},
{
"id": "communal_456",
"name": "Shared Amenities",
"kind": "communal"
}
]
}
]
}
}| Field | Type | Description |
|---|---|---|
location | string | Customer-facing access-group or location name |
doors[].id | string | Opaque door identifier to pass unchanged to /access/unlock |
doors[].name | string | Customer-facing door name |
doors[].kind | string | door for an individual lock or communal for a grouped/shared entry |
An authenticated account without a linked profile or assigned access receives 200 OK with groups: [].
Unlock a Door
POST /access/unlockUse only a doorId returned by GET /access for the same authenticated customer.
curl -X POST "https://edge.tiquo.app/api/client/v1/access/unlock" \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..." \
-H "Content-Type: application/json" \
-d '{"doorId":"door_123"}'{
"success": true,
"data": {
"doorId": "door_123"
}
}The server re-checks the customer's current access before every unlock and applies a per-customer attempt limit. A denied, unavailable, or rate-limited unlock returns 403 without exposing access-provider internals.
Errors
| Status | Description |
|---|---|
400 | doorId is missing |
401 | Missing, invalid, or expired access token |
403 | No linked profile, no current access to the door, too many attempts, or the unlock was rejected |
500 | Internal server error |