Skip to main content

Query Locations

List of paths to query for all locations across an application.

Methods and Paths​

MethodURINameSummary
GET/v1.0/admin/locationsRetrieve locations for current application
GET/v1.0/admin/locations/countCount all locations for current application
GET/v1.0/admin/locations/{location_id}Retrieve a single location
POST/v1.0/admin/locationsCreate a location
PUT/v1.0/admin/locations/{location_id}Update a location
DELETE/v1.0/admin/locations/{location_id}Delete location
PUT/v1.1/organizations/{organization_id}/applications/{application_id}/locations/{location_id}Set location parent ID (for sub-locations)

Query Parameters​

NameSourceType
application_idquerystring
limitquerynumber
pagequerynumber
user_idquerystring
external_idquerystring

Response Codes​

CodeStatusDescriptionHas headersSchema
200OKSuccessful company retrievalschema
400Bad RequestBad request sent to serverschema
401UnauthorizedYou are unauthorizedschema
403ForbiddenYou are forbidden to perform this actionschema

List Locations​

List all locations within your realm

Example Request:

curl --request GET --url https://api.mydevices.com/v1.0/admin/locations \
--header 'authorization: Bearer YourAuthToken' \
--header 'content-type: application/json'

Example Response:

{
"count": 3,
"limit": 100,
"page": 0,
"rows": [
{
"id": 881,
"name": "neosmart",
"industry": "[\"Food & Beverage\"]",
"address": "1 Rocket Rd",
"city": "Hawthorne",
"state": "CA",
"zip": "90250",
"country": "United States",
"latitude": 33.9206814,
"longitude": -118.3280263,
"timezone": "America/Los_Angeles",
"user_id": "f8ef7b38-daf7-45a2-a0b2-1d8f1a0e5455",
"application_id": "neosmart",
"status": 0,
"created_at": "2019-04-26T18:16:12.000Z",
"updated_at": "2019-04-26T18:16:12.000Z"
},
{
"id": 884,
"name": "NeoSmart",
"industry": "[\"Food & Beverage\"]",
"address": "200 I St NE",
"city": "Miami",
"state": "OK",
"zip": "74354",
"country": "United States",
"latitude": 36.8795784,
"longitude": -94.8674195,
"timezone": "America/Chicago",
"user_id": "8284bd9b-f00a-4689-b5ed-aed736c5716c",
"application_id": "neosmart",
"status": 0,
"created_at": "2019-04-26T18:37:12.000Z",
"updated_at": "2019-04-26T18:37:12.000Z"
}
]
}

Create Location​

Request:

curl --request POST \
--url https://api.mydevices.com/v1.0/admin/locations \
--header 'authorization: Bearer YourAuthToken' \
--header 'Content-Type: application/json' \
--data \
'
{
"user_id": "0dfb9c58-5a0b-40eb-9e8c-36c0b1ff883b",
"company_id": 464,
"name": "CreatedLocationAsAdmin02",
"address": "3900 W Alameda Ave",
"city": "Burbank",
"state": "CA",
"zip": "91505",
"country": "USA",
"industry": "[\"IoT\"]",
"external_id": "myid_location_1"
}'

Example Response:

{
"id": 448,
"user_id": "0dfb9c58-5a0b-40eb-9e8c-36c0b1ff883b",
"company_id": 464,
"name": "CreatedLocationAsAdmin02",
"address": "3900 W Alameda Ave",
"city": "Burbank",
"state": "CA",
"zip": "91505",
"country": "USA",
"industry": "[\"IoT\"]",
"external_id": "myid_location_1",
"supported_device": "Default",
"latitude": 34.1526642,
"longitude": -118.3428161,
"timezone": "America/Los_Angeles",
"status": 0,
"application_id": "iotinabox",
"updatedAt": "2022-01-06T20:53:03.502Z",
"createdAt": "2022-01-06T20:53:03.502Z",
"primary_users": [],
"authorization": "admin"
}

Update Location​

Request:

curl --request PUT \
--url https://api.mydevices.com/v1.0/admin/locations/448 \
--header 'authorization: Bearer YourAuthToken' \
--header 'Content-Type: application/json' \
--data \
'
{
"user_id": "0dfb9c58-5a0b-40eb-9e8c-36c0b1ff883b",
"company_id": 464,
"name": "UpdatedLocationAsAdmin03"
}'

Example Response:

{
"id": 448,
"user_id": "0dfb9c58-5a0b-40eb-9e8c-36c0b1ff883b",
"company_id": 464,
"name": "UpdatedLocationAsAdmin03",
"address": "3900 W Alameda Ave",
"city": "Burbank",
"state": "CA",
"zip": "91505",
"country": "USA",
"industry": "[\"IoT\"]",
"external_id": "myid_location_1",
"supported_device": "Default",
"latitude": 34.1526642,
"longitude": -118.3428161,
"timezone": "America/Los_Angeles",
"status": 0,
"application_id": "iotinabox",
"updatedAt": "2022-01-06T20:53:03.502Z",
"createdAt": "2022-01-06T20:53:03.502Z",
"primary_users": [],
"authorization": "admin"
}

Delete Location​

Request:

info

Note: This request requires user_id to be passed in the body. The user_id can be found in the response of the GET /v1.0/admin/locations or GET /v1.0/admin/locations/_id endpoint.

curl --request DELETE \
--url https://api.mydevices.com/v1.0/admin/locations/448 \
--header 'Authorization: Bearer YourAuthToken' \
--header 'Content-Type: application/json' \
--data '{ "user_id": "USER_ID_FROM_GET_LOCATION"}'

Example Response:

{
"success": true
}

Query Location by External Id​

Request:

curl -- request GET \
-- url https://api.mydevices.com/v1.0/admin/locations?external_id=1234 \
-- header 'Authorization: Bearer YourAuthToken' \
-- header 'Content-Type: application/json'

Set location parent ID​

This is used when working with sub-locations, i.e., setting a location as a child of another location.

Request:

curl --request PUT \
--url https://api.mydevices.com/v1.1/organizations/{organization_id}/applications/{application_id}/locations/{location_id}
--header 'authorization: Bearer YourAuthToken'
--data '{"parent_id": "10116"}'

Example Response:

{
"id": 10127,
"name": "AlexLocation45_1_2",
"industry": "[]",
"company_id": 10829,
"user_id": "46ece99a-8f08-4050-9d2c-fb5d22bcbc23",
"application_id": "iotinabox",
"address": "0",
"city": "0",
"state": null,
"zip": "0",
"country": "United States",
"latitude": 37.09024,
"longitude": -95.712891,
"timezone": "America/Chicago",
"status": 0,
"supported_device": "Default",
"deleted_at": null,
"external_id": null,
"parent_id": 10116,
"createdAt": "2023-12-05T19:14:03.000Z",
"updatedAt": "2024-09-05T15:11:57.000Z"
}