Blueprints
Get a sheet and everything read from it
Everything Kamai read from one sheet: its scale, what the sheet says it is (identity), and every feature it found, in geojson.features.
Each feature has a class and its measurements in metres:
| class | measure it by |
|---|---|
| room | area_m2, perimeter_m |
| wall_centerline | length_m: this is the wall length |
| wall | area_m2, wall_thickness_m (the wall as a polygon; its length_m is null) |
| opening | opening_width_m; sub_class says which door or window |
tag is the mark printed on the drawing and objects share it, so join on id, never on tag.
get/v1/blueprints/{blueprint_id}
Request
- Base URL: https://api.kamai.io (the document declares no server; this is the origin it was published from)
- URL: https://api.kamai.io/v1/blueprints/{blueprint_id}
- Auth: HTTP bearer
Path parameters
blueprint_idstring required
Query parameters
include_textboolean
Include the sheet's words in text. Off by default so an existing integration sees no change in payload; a sheet carries thousands of words against a few hundred features.
text_limitinteger
text_offsetinteger
Response
Successful Response
Example response
{
"blueprint": {
"auto_rotation": 0,
"created": "2026-08-04T09:12:44.318000Z",
"geojson": {
"features": [
{
"id": "root",
"properties": {
"id": "root",
"kind": "folder",
"class": "other",
"name": "Root Folder",
"visible": true,
"is_user_drawn": false,
"position": 0,
"relations": [],
"measurements": {}
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
[
[
200,
200
],
[
500,
200
],
[
500,
620
],
[
200,
620
],
[
200,
200
]
]
],
"type": "Polygon"
},
"id": "room-1",
"properties": {
"id": "room-1",
"kind": "area",
"class": "room",
"sub_class": "wet room",
"name": "Bathroom",
"color": {
"a": 255,
"b": 74,
"g": 194,
"r": 66
},
"visible": true,
"is_user_drawn": false,
"parent_id": "root",
"position": 0,
"relations": [
"wall-1",
"open-1"
],
"measurements": {
"area_m2": 8.324112384,
"perimeter_m": 11.70432
}
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
[
[
196,
196
],
[
504,
196
],
[
504,
204
],
[
196,
204
],
[
196,
196
]
]
],
"type": "Polygon"
},
"id": "wall-1",
"properties": {
"id": "wall-1",
"kind": "area",
"class": "wall",
"sub_class": "wet wall",
"name": "Wall",
"color": {
"a": 255,
"b": 128,
"g": 120,
"r": 120
},
"visible": true,
"is_user_drawn": false,
"parent_id": "root",
"position": 1,
"wall_thickness_units": 8,
"relations": [
"room-1",
"open-1"
],
"measurements": {
"area_m2": 0.162782642176,
"perimeter_m": 5.136896,
"wall_thickness_m": 0.065024
}
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
[
[
300,
194
],
[
392,
194
],
[
392,
206
],
[
300,
206
],
[
300,
194
]
]
],
"type": "Polygon"
},
"id": "open-1",
"properties": {
"id": "open-1",
"kind": "object",
"class": "opening",
"sub_class": "single swing door",
"name": "Single swing door",
"color": {
"a": 255,
"b": 46,
"g": 148,
"r": 214
},
"visible": true,
"is_user_drawn": false,
"parent_id": "root",
"position": 2,
"opening_width_units": 92,
"tag": "D-01",
"handing": "RH",
"relations": [
"room-1",
"wall-1"
],
"measurements": {
"area_m2": 0.072935079936,
"opening_width_m": 0.747776,
"perimeter_m": 1.690624
}
},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"id": "bbbbbbbb-0000-4000-8000-000000000009",
"identity": {
"discipline": "A",
"levels": [
"L1"
],
"sheet_number": "A-101",
"sheet_type": 1,
"sheet_type_label": "Plans",
"title": "FIRST FLOOR PLAN"
},
"name": "A-101 Floor Plan.pdf",
"rotation": 90,
"scale": {
"drawing": 0.25,
"label": "1/4\" = 1'-0\"",
"manual_scaling_needed": false,
"real": 12,
"type": "architectural",
"units": "imperial"
},
"updated": "2026-08-10T18:05:52.902000Z",
"url_dpi": 150,
"url_height": 3300,
"url_width": 5100
},
"message": "Blueprint details retrieved successfully"
}Changes
No recorded changes to this operation across all 1 revision of this API.