curl --request POST \
--url https://api.poelis.com/v1/public/items \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product_id": "<string>",
"name": "<string>",
"readable_id": "<string>"
}
'import requests
url = "https://api.poelis.com/v1/public/items"
payload = {
"product_id": "<string>",
"name": "<string>",
"readable_id": "<string>"
}
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({product_id: '<string>', name: '<string>', readable_id: '<string>'})
};
fetch('https://api.poelis.com/v1/public/items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"createdBy": {
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
},
"deleted": false,
"id": "770e8400-e29b-41d4-a716-446655440000",
"name": "Compressor Stage 1",
"part_number": "CS1-001",
"product_id": "660e8400-e29b-41d4-a716-446655440000",
"readable_id": "compressor-stage-1"
}{
"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 item
Create a new item in a product.
The item will be created with the provided name and readable_id.
If parent_item_id is provided, the item will be created as a child of that item.
Optional part_number is validated when the product has format configuration in the app.
Part numbers
- 409: duplicate
part_numberwithin the organization (response includes conflicting entity details). - 422: value does not match the product’s configured format.
curl --request POST \
--url https://api.poelis.com/v1/public/items \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product_id": "<string>",
"name": "<string>",
"readable_id": "<string>"
}
'import requests
url = "https://api.poelis.com/v1/public/items"
payload = {
"product_id": "<string>",
"name": "<string>",
"readable_id": "<string>"
}
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({product_id: '<string>', name: '<string>', readable_id: '<string>'})
};
fetch('https://api.poelis.com/v1/public/items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"createdBy": {
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
},
"deleted": false,
"id": "770e8400-e29b-41d4-a716-446655440000",
"name": "Compressor Stage 1",
"part_number": "CS1-001",
"product_id": "660e8400-e29b-41d4-a716-446655440000",
"readable_id": "compressor-stage-1"
}{
"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 item.
Product ID to create the item in
Item name
1Human-readable item ID (must be unique within parent scope). Only lowercase letters, numbers and underscores are allowed.
1^[a-z0-9_]+$Item description
Optional part number to assign on create. Must be unique within the organization.
Parent item ID for hierarchical structure. Must refer to an item that already exists in the same product.
Response
Created item
Public representation of an item.
Human-readable item ID
Product this item belongs to
Item name
Whether the item is deleted
Parent item ID for hierarchical structure
Item description
Active item part number, when assigned. Uniqueness is enforced organization-wide; format is validated when the product has rule configuration in the app.
Draft item ID if this is a versioned item
User who created the item
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 item
Show child attributes
Show child attributes
{
"id": "auth0|550e8400-e29b-41d4-a716-446655440000",
"imageUrl": "https://example.com/avatar.png",
"userName": "Jane Doe"
}