Declare a property on a product
const url = 'https://example.com/api/v1/products/boreal-edge-55/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/products/boreal-edge-55/properties/example \ --header 'Content-Type: application/json' \ --data '{ "default_value": "example", "required": true }'Declares a catalog property on a custom product, or revises the declaration in place (the line is addressed by name, so the write is idempotent). Official products are read-only (422); an unknown product is a 404 and a property the catalog does not know is a 422. Gated by product:update.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The product, by name or uuid
The product, 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 instance of this product 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 product declares
Whether every instance of this product must set the property
Example
{ "$schema": "/api/v1/schemas/ProductPropertyBody.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"}