Declare a property on a location type
const url = 'https://example.com/api/v1/location-types/room/properties/example';const options = { method: 'PUT', headers: {'Content-Type': 'application/json'}, body: '{"default_value":"example","required":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/api/v1/location-types/room/properties/example \ --header 'Content-Type: application/json' \ --data '{ "default_value": "example", "required": true }'Declares a catalog property on a location type, or revises the declaration in place (the line is addressed by name, so the write is idempotent). A shipped (official) type’s contract is writable too: a contract line is a row in its own table and nothing seeds one, so every line is an operator’s. An unknown type is a 404 and a property the catalog does not know is a 422. Gated by location_type:update.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The location type, by name or uuid
The location type, by name or uuid
The property name
The property name
Request Body required
Section titled “Request Body required ”object
A URL to the JSON Schema for this object.
The contract default, validated against the property’s data_type; omit for no default
Whether every location of this type must set the property; defaults to false
Responses
Section titled “ Responses ”OK
object
A URL to the JSON Schema for this object.
The contract default, shape given by the property’s data_type; omitted when the contract sets none
The catalog property’s uuid, the stable form of property_type_name
The catalog property this location type declares
Whether every location of this type must set the property
Example
{ "$schema": "/api/v1/schemas/LocationTypePropertyBody.json"}default
Section titled “default ”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
Example
{ "$schema": "/api/v1/schemas/ErrorModel.json", "detail": "Property foo is required but is missing.", "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "about:blank"}