Appearance
Wayfinding API
Manage corridors, branches, and floor transitions for indoor navigation. All endpoints require authentication.
Pro & EnterpriseCreate, update, and delete operations require a Pro or Enterprise plan.
Compare plansGet All Wayfinding Data
http
GET /api/projects/{project_id}/wayfinding/
Authorization: Bearer <token>Response:
json
{
"corridors": [
{
"id": "corridor-uuid",
"projectId": "project-uuid",
"levelId": "level-uuid",
"name": "Main hallway",
"points": [
{ "x": 100, "y": 200 },
{ "x": 300, "y": 200 },
{ "x": 300, "y": 400 }
],
"isClosed": false,
"closedToPointIndex": null,
"branches": [
{
"id": "branch-uuid",
"corridorId": "corridor-uuid",
"name": "",
"points": [{ "x": 200, "y": 200 }, { "x": 200, "y": 150 }],
"areaId": "area-uuid",
"markerId": null,
"transitionId": null
}
],
"createdAt": "2026-04-12T10:00:00Z",
"updatedAt": "2026-04-12T10:00:00Z"
}
],
"transitions": [
{
"id": "transition-uuid",
"projectId": "project-uuid",
"type": "elevator",
"name": "Elevator A",
"positions": [
{ "levelId": "level-1-uuid", "x": 150, "y": 300 },
{ "levelId": "level-2-uuid", "x": 150, "y": 300 }
],
"createdAt": "2026-04-12T10:00:00Z",
"updatedAt": "2026-04-12T10:00:00Z"
}
]
}Corridors
Corridors are walkable paths on a single level. The routing engine uses them to calculate routes.
Create Corridor
http
POST /api/projects/{project_id}/wayfinding/corridors/
Authorization: Bearer <token>
Content-Type: application/json
{
"levelId": "level-uuid",
"name": "Main hallway",
"points": [
{ "x": 100, "y": 200 },
{ "x": 300, "y": 200 },
{ "x": 300, "y": 400 }
],
"isClosed": false
}Update Corridor
http
PATCH /api/projects/{project_id}/wayfinding/corridors/{corridor_id}/
Authorization: Bearer <token>
Content-Type: application/json
{
"points": [
{ "x": 100, "y": 200 },
{ "x": 350, "y": 200 }
]
}Delete Corridor
http
DELETE /api/projects/{project_id}/wayfinding/corridors/{corridor_id}/
Authorization: Bearer <token>Corridor Fields
| Field | Type | Description |
|---|---|---|
levelId | UUID | Level this corridor belongs to |
name | string | Optional label |
points | {x, y}[] | Path vertices |
isClosed | boolean | Whether the path forms a loop |
closedToPointIndex | number | Loop closure point index |
Branches
Branches connect corridors to areas, markers, and transitions.
Create Branch
http
POST /api/projects/{project_id}/wayfinding/corridors/{corridor_id}/branches/
Authorization: Bearer <token>
Content-Type: application/json
{
"points": [
{ "x": 200, "y": 200 },
{ "x": 200, "y": 150 }
],
"areaId": "area-uuid"
}Update Branch
http
PATCH /api/projects/{project_id}/wayfinding/corridors/{corridor_id}/branches/{branch_id}/
Authorization: Bearer <token>
Content-Type: application/json
{
"markerId": "marker-uuid",
"areaId": null
}Delete Branch
http
DELETE /api/projects/{project_id}/wayfinding/corridors/{corridor_id}/branches/{branch_id}/
Authorization: Bearer <token>Branch Fields
| Field | Type | Description |
|---|---|---|
points | {x, y}[] | Path from corridor to target |
areaId | UUID? | Connected area (mutually exclusive) |
markerId | UUID? | Connected marker (mutually exclusive) |
transitionId | UUID? | Connected transition (mutually exclusive) |
Transitions
Transitions connect corridors across floors (elevators, stairs, escalators).
Create Transition
http
POST /api/projects/{project_id}/wayfinding/transitions/
Authorization: Bearer <token>
Content-Type: application/json
{
"type": "elevator",
"name": "Elevator A",
"positions": [
{ "levelId": "level-1-uuid", "x": 150, "y": 300 },
{ "levelId": "level-2-uuid", "x": 150, "y": 300 }
]
}Update Transition
http
PATCH /api/projects/{project_id}/wayfinding/transitions/{transition_id}/
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Elevator B",
"positions": [
{ "levelId": "level-1-uuid", "x": 160, "y": 310 },
{ "levelId": "level-2-uuid", "x": 160, "y": 310 },
{ "levelId": "level-3-uuid", "x": 160, "y": 310 }
]
}Delete Transition
http
DELETE /api/projects/{project_id}/wayfinding/transitions/{transition_id}/
Authorization: Bearer <token>Transition Types
| Type | Description |
|---|---|
elevator | Elevator between floors |
stairs | Staircase |
escalator | Escalator |
ramp | Accessible ramp |
exit | Building exit / entrance |