/api/v1/locations
Create a location
Create a new location in your organization.
Last updated
Request
POST /api/v1/locations
Requires locations:create. 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.
Request body
| Field | Type | Usage |
|---|---|---|
name |
string | Required on creation. 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. |
Fetch available values before choosing IDs. IDs and required fields vary by organization.
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization.
curl --request POST "https://my.assetcenter.app/api/v1/locations" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{"name":"Main office","city":"Seattle"}'
Response
201 Created. Example response; IDs, values, and timestamps will differ in your organization.
{
"data": {
"id": 123,
"name": "Main office",
"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
Required: name. Creation respects plan limits. Use only the fields listed here; assignments, status, IDs, timestamps, and file uploads are not writable through this endpoint. Each successful POST creates a new record. Inventory creation has 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. 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.