curl --request PATCH \
--url https://api.poelis.com/v1/public/properties/{property_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>",
"display_unit": "<string>",
"reason": "<string>",
"description": "<string>"
}
'import requests
url = "https://api.poelis.com/v1/public/properties/{property_id}"
payload = {
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>",
"display_unit": "<string>",
"reason": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
readable_id: '<string>',
value: '<unknown>',
display_unit: '<string>',
reason: '<string>',
description: '<string>'
})
};
fetch('https://api.poelis.com/v1/public/properties/{property_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"category": "POWER",
"createdBy": {
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
},
"deleted": false,
"display_unit": "kW",
"id": "550e8400-e29b-41d4-a716-446655440000",
"item_id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Maximum Power",
"readable_id": "max-power",
"references": [
{
"file_link_id": "890e8400-e29b-41d4-a716-446655440000",
"page": 42
}
],
"type": "numeric",
"value": 150.5
}{
"error": "unauthorized",
"message": "Invalid or missing API key"
}{
"error": "forbidden",
"message": "Access denied"
}{
"error": "not_found",
"message": "Not found"
}{
"error": "validation_error",
"message": "Invalid data format",
"details": {
"errors": [
{
"loc": [
"body",
"field_name"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}
}{
"error": "rate_limit_exceeded",
"message": "Too many requests"
}Update property
Update a property’s metadata (name, readable_id, value, display_unit).
display_unit applies only to numeric and matrix properties; when provided it must be an allowed unit for the property’s category. When value is provided it must match the property type (same as create). Invalid value or display_unit return 400 with error invalid_value or invalid_unit. Only draft properties can be updated. Supported types: numeric, matrix, text, date, status. Formula properties cannot be updated via the public API.
When the product has requireChangeTitleAndDescription enabled, changes to name, value, or display_unit must include reason (change title) and description. Omitting either returns 400 with error CHANGE_TITLE_AND_DESCRIPTION_REQUIRED.
curl --request PATCH \
--url https://api.poelis.com/v1/public/properties/{property_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>",
"display_unit": "<string>",
"reason": "<string>",
"description": "<string>"
}
'import requests
url = "https://api.poelis.com/v1/public/properties/{property_id}"
payload = {
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>",
"display_unit": "<string>",
"reason": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
readable_id: '<string>',
value: '<unknown>',
display_unit: '<string>',
reason: '<string>',
description: '<string>'
})
};
fetch('https://api.poelis.com/v1/public/properties/{property_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"category": "POWER",
"createdBy": {
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
},
"deleted": false,
"display_unit": "kW",
"id": "550e8400-e29b-41d4-a716-446655440000",
"item_id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Maximum Power",
"readable_id": "max-power",
"references": [
{
"file_link_id": "890e8400-e29b-41d4-a716-446655440000",
"page": 42
}
],
"type": "numeric",
"value": 150.5
}{
"error": "unauthorized",
"message": "Invalid or missing API key"
}{
"error": "forbidden",
"message": "Access denied"
}{
"error": "not_found",
"message": "Not found"
}{
"error": "validation_error",
"message": "Invalid data format",
"details": {
"errors": [
{
"loc": [
"body",
"field_name"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}
}{
"error": "rate_limit_exceeded",
"message": "Too many requests"
}Authorizations
Enter your API key. Example: Bearer poelis_api_...
Path Parameters
Query Parameters
Property type: numeric, matrix, text, date, or status
Body
Request to update a property.
Property name
1Human-readable property ID (must be unique within item). Only lowercase letters, numbers and underscores are allowed.
1^[a-z0-9_]+$Property value
Display unit (numeric and matrix only)
Change title. Required with description when the product requires both.
Change description. Required with reason when the product requires both.
Response
Updated property
Unified public property representation.
Human-readable property ID
numeric, text, date, status, matrix, formula Property value. Numeric: plain number or matrix (category/display_unit always set; matrix value string e.g. "[[1,2,3],[4,5,6]]") or formula (category/display_unit never set; value is the result of the computation including unit if any). Text: string. Date: string, ISO date (e.g. "2025-01-29"). Status: string, one of "Draft", "Under Review", "Done".
Category. For numeric (plain number or matrix) always set; for formula never set.
Display unit. For numeric (plain number or matrix) always set; for formula never set.
References to source documents for this property
Show child attributes
Show child attributes
Formula expression for numeric properties that calculate their value from other properties. Uses @{property_id} syntax to reference dependencies. The value field holds the result of this computation, including unit if any.
User who created the property
Show child attributes
Show child attributes
{
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
}
ISO 8601 creation timestamp
ISO 8601 last-update timestamp
User who last updated the property
Show child attributes
Show child attributes
{
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
}