/api/v1/locations/{record}
Update a location
Update the supplied detail fields on an existing location.
Last updated
Request
PATCH / PUT /api/v1/locations/{record}
Requires locations:update. See token permissions. Every listed permission is required for this endpoint.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json. Send request bodies as JSON with Content-Type: application/json.
record is the numeric location ID in your token’s organization.
Request body
| Field | Type | Usage |
|---|---|---|
name |
string | Optional on update. Up to 255 characters; cannot be empty when supplied. |
address |
string or null | Optional. Up to 255 characters. |
city |
string or null | Optional. Up to 255 characters. |
state |
string or null | Optional. Up to 255 characters. |
zip |
string or null | Optional. Up to 255 characters. |
type |
string or null | Optional. Up to 255 characters. |
is_temporary |
boolean | Optional. Whether this is a temporary location. |
location_end |
string or null | Optional. YYYY-MM-DD; used when is_temporary is true. |
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization.
curl --request PATCH "https://my.assetcenter.app/api/v1/locations/123" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{"name":"Main office — north"}'
Response
200 OK. Example response; IDs, values, and timestamps will differ in your organization.
{
"data": {
"id": 123,
"name": "Main office \u2014 north",
"address": null,
"city": "Seattle",
"state": null,
"zip": null,
"type": null,
"is_temporary": false,
"status": "active",
"created_at": "2026-09-07T16:00:00.000000Z",
"updated_at": "2026-09-07T16:00:00.000000Z"
}
}
Behavior and constraints
PATCH and PUT both update only the supplied fields. Supply at least one writable field. Unknown fields, lifecycle status, assignments, and file uploads are rejected. These inventory updates have no idempotency replay protection.
Errors
401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 404 means the record or child record is unavailable in this organization. 422 identifies invalid or unsupported input; inspect the errors object when present. 409 indicates a conflicting state or concurrent change; inspect the message and refresh the record before deciding how to proceed. 429 means a rate limit was reached. See error handling and rate limits.