Skip to content

Create or update location

POST
/locations
curl --request POST \
--url https://safe-api.safetyradar.com/v2/locations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "description": "example", "address1": "example", "address2": "example", "city": "example", "state": "example", "zip": "example", "latitude": 1, "longitude": 1, "status": "active", "parentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "externalId": "example", "createdAt": "example", "updatedAt": "example", "deletedAt": "example", "tagIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'

Create a new location or update an existing one if externalId matches (upsert behavior)

Media typeapplication/json
object
id
string format: uuid
name
required
string
description
string
nullable
address1
string
nullable
address2
string
nullable
city
string
nullable
state
string
nullable
zip
string
nullable
latitude
number
nullable >= -140737488355328 <= 140737488355327
longitude
number
nullable >= -140737488355328 <= 140737488355327
status
string
Allowed values: active inactive
parentId
string format: uuid
nullable
externalId

External identifier for upsert behavior

string
createdAt
string
updatedAt
string
deletedAt
string
nullable
tagIds
Array<string>

Location updated (existing location found by externalId)

Media typeapplication/json
object
data
required
object
id
required
string format: uuid
organizationId
required
string format: uuid
name
required
string
description
required
string
nullable
slug
required
string
address1
required
string
nullable
address2
required
string
nullable
city
required
string
nullable
state
required
string
nullable
zip
required
string
nullable
latitude
required
number
nullable >= -140737488355328 <= 140737488355327
longitude
required
number
nullable >= -140737488355328 <= 140737488355327
status
required
string
Allowed values: active inactive
type
required
string
Allowed values: equipment location
parentId
required
string format: uuid
nullable
externalId
required
string
nullable
createdById
required
string format: uuid
nullable
lastEditedById
required
string format: uuid
nullable
searchText
nullable
createdAt
required
string
updatedAt
required
string
deletedAt
required
string
nullable
Example
{
"data": {
"status": "active",
"type": "equipment"
}
}

Location created

Media typeapplication/json
object
data
required
object
id
required
string format: uuid
organizationId
required
string format: uuid
name
required
string
description
required
string
nullable
slug
required
string
address1
required
string
nullable
address2
required
string
nullable
city
required
string
nullable
state
required
string
nullable
zip
required
string
nullable
latitude
required
number
nullable >= -140737488355328 <= 140737488355327
longitude
required
number
nullable >= -140737488355328 <= 140737488355327
status
required
string
Allowed values: active inactive
type
required
string
Allowed values: equipment location
parentId
required
string format: uuid
nullable
externalId
required
string
nullable
createdById
required
string format: uuid
nullable
lastEditedById
required
string format: uuid
nullable
searchText
nullable
createdAt
required
string
updatedAt
required
string
deletedAt
required
string
nullable
Example
{
"data": {
"status": "active",
"type": "equipment"
}
}

Bad request (e.g., externalId already used by equipment)

Media typeapplication/json
object
code
required
string
message
required
string
details
object
key
additional properties
nullable
Examplegenerated
{
"code": "example",
"message": "example",
"details": {
"additionalProperty": "example"
}
}

Unauthorized

Media typeapplication/json
object
code
required
string
message
required
string
details
object
key
additional properties
nullable
Examplegenerated
{
"code": "example",
"message": "example",
"details": {
"additionalProperty": "example"
}
}