curl --request POST \
--url https://api.poelis.com/v1/public/properties \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"item_id": "<string>",
"type": "<string>",
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>"
}
'import requests
url = "https://api.poelis.com/v1/public/properties"
payload = {
"item_id": "<string>",
"type": "<string>",
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
item_id: '<string>',
type: '<string>',
name: '<string>',
readable_id: '<string>',
value: '<unknown>'
})
};
fetch('https://api.poelis.com/v1/public/properties', 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"
}Create property
Create a new property on an item. Only draft items can have properties created.
Supported types: numeric, matrix, text, date, status. Formula properties cannot be created via the public API. For numeric and matrix, category and display_unit are required and must be from the allowed list (standard categories/units or org custom). Value must match the property type (number for numeric, string for text, ISO date for date, Draft/Under Review/Done for status, list or object for matrix). Invalid value returns 400 with error invalid_value.
curl --request POST \
--url https://api.poelis.com/v1/public/properties \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"item_id": "<string>",
"type": "<string>",
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>"
}
'import requests
url = "https://api.poelis.com/v1/public/properties"
payload = {
"item_id": "<string>",
"type": "<string>",
"name": "<string>",
"readable_id": "<string>",
"value": "<unknown>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
item_id: '<string>',
type: '<string>',
name: '<string>',
readable_id: '<string>',
value: '<unknown>'
})
};
fetch('https://api.poelis.com/v1/public/properties', 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_...
Body
Request to create a new property.
Item ID to create the property on
Property type: numeric, matrix, text, date, or status. Formula not supported via public API.
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 (string/number depending on type)
Category (required for numeric and matrix)
Display unit (required for numeric and matrix)
Response
Created 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"
}