ONUMA API - Geospatial Lab

This is a sample collection of API requests for the ONUMA System API.
Any ONUMA System user with access to a specific site can get a Bearer token to use with the API.
A small set of data from a few of the GET requests can be seen with this Google Sheets link: https://docs.google.com/spreadsheets/d/1WGJeYjTV4DuNlx8UgBYKAoI925l8PqjvoMZfZOxnbpg/edit?usp=sharing
Please contact Onuma, Inc. for further information.

1-GET 14

Query
KeyValueDescription
fieldssite.name,site.latitude,site.longitude,site.area,site.unit,id,name,number,placement_x,placement_y,placement_x,placement_angle,net_area,gross_area,floors.name,floors.number

?fields=site.name,site.latitude,site.longitude,site.area,site.unit,id,name,number,placement_x,placement_y,placement_x,placement_angle,net_area,gross_area,floors.name,floors.number&filter[site][eq]=10

filter[site][eq]10
Query
KeyValueDescription
fieldssite.name,site.latitude,site.longitude,site.area,site.unit,id,name,number,placement_x,placement_y,placement_x,placement_angle,net_area,gross_area,floors.name,floors.number

?fields=site.name,site.latitude,site.longitude,site.area,site.unit,id,name,number,placement_x,placement_y,placement_x,placement_angle,net_area,gross_area,floors.name,floors.number&filter[site][eq]=11

filter[site][eq]11
Query
KeyValueDescription
fieldssite.name,site.latitude,site.longitude,site.area,site.unit,id,name,number,placement_x,placement_y,placement_x,placement_angle,net_area,gross_area,floors.name,floors.number

?fields=site.name,site.latitude,site.longitude,site.area,site.unit,id,name,number,placement_x,placement_y,placement_x,placement_angle,net_area,gross_area,floors.name,floors.number&filter[site][eq]=12

filter[site][eq]12
Query
KeyValueDescription
fieldsfloors,floors.slabs.*

?fields=floors,floors.slabs.*

Query
KeyValueDescription
limit9999
fieldsfloor.building.id,floor.building.name,floor.number,floor.name,floor.id,id,number,name,area,height,placement_x,placement_y,placement_angle,modified_by,modified_on

?limit=9999&fields=floor.building.id,floor.building.name,floor.number,floor.name,floor.id,id,number,name,area,height,placement_x,placement_y,placement_angle,modified_by,modified_on&filter[floor.building]=31

filter[floor.building]31
Query
KeyValueDescription
limit9999
fieldsfloor.building.id,floor.building.name,floor.number,floor.name,floor.id,id,number,name,area,height,profile,placement_x,placement_y,placement_angle,lazy_attribute.*,modified_by,modified_on

?limit=9999&fields=floor.building.id,floor.building.name,floor.number,floor.name,floor.id,id,number,name,area,height,profile,placement_x,placement_y,placement_angle,lazy_attribute.*,modified_by,modified_on&filter[floor.building]=31

filter[floor.building]31
Query
KeyValueDescription
fieldsfloors.name,floors.number,floors.slabs.floor,floors.slabs.placement_x,floors.slabs.placement_y,floors.slabs.placement_angle,floors.slabs.thickness,floors.slabs.profile

?fields=floors.name,floors.number,floors.slabs.floor,floors.slabs.placement_x,floors.slabs.placement_y,floors.slabs.placement_angle,floors.slabs.thickness,floors.slabs.profile&filter[floors.slabs.floor]=54

filter[floors.slabs.floor]54
Query
KeyValueDescription
fieldscomponent.id,component.name,component.placement_x,component.placement_y,component.placement_angle,component.mirror_y,component.int_lib,component.space_component.space.id,component.space_component.space.name,component.space_component.space.number,component.space_component.space.floor.name, component.space_component.space.floor.number

?fields=component.id,component.name,component.placement_x,component.placement_y,component.placement_angle,component.mirror_y,component.int_lib,component.space_component.space.id,component.space_component.space.name,component.space_component.space.number,component.space_component.space.floor.name, component.space_component.space.floor.number&filter[space.floor.building.id]=31&filter[component.name][contains]=door&filter[component.int_lib][contains]=door&filter[component.int_lib][logical]=or

filter[space.floor.building.id]31
filter[component.name][contains]door
filter[component.int_lib][contains]door
filter[component.int_lib][logical]or
Query
KeyValueDescription
fieldsid,number,name,components.component.name,components.component.id,components.component.placement_x,components.component.placement_y,components.component.placement_angle,components.component.mirror_y,components.component.int_lib

?fields=id,number,name,components.component.name,components.component.id,components.component.placement_x,components.component.placement_y,components.component.placement_angle,components.component.mirror_y,components.component.int_lib

Query
KeyValueDescription
fields*,building.id,building.name,floor.id,floor.name,space.id,space.number,space.name

?fields=*,building.id,building.name,floor.id,floor.name,space.id,space.number,space.name&filter[building.site]=11

filter[building.site]11
Query
KeyValueDescription
filter[site_group.id]1

?filter[site_group.id]=1&fields=*

fields*
Query
KeyValueDescription
fieldscomponent.name,component.id

?fields=component.name,component.id&filter[workorder]=1

filter[workorder]1
Query
KeyValueDescription
fields*

?fields=*&filter[email]=sail@dalbert.us

filter[email]sail@dalbert.us

2-PATCH 2

PATCH requests update data.

Query
KeyValueDescription
fieldsid,name,number

?fields=id,name,number

Body
{ "id": 1087, "name": "Office", "number": "D138A" }
Query
KeyValueDescription
fieldsid,title,assigned_technician,status,administrator

?fields=id,title,assigned_technician,status,administrator

Body
{ "id": 1, "administrator": 5, "status": "Assigned", "assigned_technician": 1, "assigned_date": "2021-09-08 07:20:00", "assigned_priority": 2 }

4-POST 2

Body
{ "id": 1, "site": 11, "site_group": 1, "first_name": "Sail", "last_name": "Dalbert", "email": "sail@dalbert.us", "cc": "", "company": "", "phone": "", "department": "", "organization": "", "shop": "Plumbing", "active": true, "rate": 50, "overtime_rate": 730 }

Available Variables 1

KeyValueType
sysID80