The configento.app API lets you manage your configurators programmatically — read, create and change components, groups, characteristics, values, rules and price lists, and publish your changes. Ideal when you transfer data from a PIM or ERP system.
Authentication
Every request needs an API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Content-Type: application/json
You create API keys in the V3 backend under Settings → API: enter a name, choose the permission, optionally set an expiry date, click Create. The key is shown only once — copy it immediately and store it safely.
Important:
- A key belongs to the service (service order) that was selected when it was created and only works with its components.
- You can create as many keys as you like — ideally one per integration, so you can revoke each one individually.
- A key can optionally have an expiry date: it works until the end of that day and is rejected with
401afterwards. You can move or remove the date at any time — this also brings an expired key back. Without a date a key never expires. - Keys are managed in the backend only. The API itself cannot create, change or delete keys.
Permissions
| Permission | Allows |
|---|---|
| Read only | GET requests only — fetch data, change nothing |
| Read & write | Additionally create, change and delete drafts: components, groups, characteristics, values, rules, price lists, tags |
| + Publish | Additionally publish components and delete components — both take effect in the shop immediately |
| + AI | Additionally use the AI assistant through the API — spends AI tokens |
Publish and AI can only be granted together with Read & write and are off by default. This way a PIM can, for example, maintain prices and values in the draft while a person reviews and publishes. You can change a key's permissions in the list at any time — they apply from the next request.
Available to no key, whatever its permission: managing keys, buying AI tokens, reading or renewing integration credentials (shop plugins, HTML5 snippet). These stay in the backend — a lost key can neither issue itself a replacement nor run up costs.
Base URL
https://admin.configento.app/api/v1
Data model
Component
├── Groups
│ └── Characteristics
│ └── Values
└── Rules
Components with a positive ID are published, components with a negative ID are unpublished drafts. Every change made through the API lands in the draft first — only publishing brings it to the shop.
Key endpoints
Components
GET /components # List all components
GET /components/{id} # Component with groups, characteristics, values and rules
POST /components # Create a new empty component
PUT /components/{id} # Change component settings
DELETE /components/{id} # Delete component (live too!) — Publish
POST /components/{id}/duplicate # Copy component
Groups and characteristics
POST /components/{id}/groups # Create group
PUT /components/{id}/groups/{gid} # Change group
DELETE /components/{id}/groups/{gid} # Delete group
POST /components/{id}/groups/{gid}/characteristics # Create characteristic
PUT /components/{id}/groups/{gid}/characteristics/{cid} # Change characteristic
DELETE /components/{id}/groups/{gid}/characteristics/{cid} # Delete characteristic
Values
POST /components/{id}/characteristics/{cid}/values # Create value
PUT /components/{id}/characteristics/{cid}/values # Replace all values at once
PUT /components/{id}/characteristics/{cid}/values/{vid} # Change value
DELETE /components/{id}/characteristics/{cid}/values/{vid} # Delete value
Prices
GET /components/{id}/characteristics/{cid}/pricelist # Get tier prices
PUT /components/{id}/characteristics/{cid}/pricelist # Replace tier prices
POST /components/{id}/characteristics/{cid}/matrix/upload # Upload price matrix as CSV
Rules
GET /components/{id}/rules # Get rules
POST /components/{id}/rules # Create rule
PUT /components/{id}/rules/{rid} # Change rule
DELETE /components/{id}/rules/{rid} # Delete rule
Versions and publishing
GET /components/{id}/versions # Saved versions
POST /components/{id}/versions/{version}/restore # Restore a version as the draft
POST /components/{id}/publish # Publish the draft — Publish
GET /components/{id}/publish/status # Publishing progress
The complete list with all fields is in the API reference.
Example: create a characteristic with values
Create a characteristic in group 5 of component 123:
POST /components/123/groups/5/characteristics
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"alt_title": "colour",
"title": { "en_US": "Colour", "de_DE": "Farbe" },
"type": "select",
"is_required": "1"
}
The response contains the ID of the new characteristic (here 42). Then set all values at once:
PUT /components/123/characteristics/42/values
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"values": [
{ "title": { "en_US": "White" }, "value": "white", "price": 0 },
{ "title": { "en_US": "Anthracite" }, "value": "anthracite", "price": 15.00 },
{ "title": { "en_US": "RAL special lacquer" }, "value": "ral", "price": 45.00 }
]
}
alt_title is the characteristic's internal name (letters, digits and _ only) — formulas refer to the characteristic by it. Texts such as title are objects with one entry per language.
Example: upload a price matrix
POST /components/123/characteristics/77/matrix/upload
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "Prices 2026",
"csv": ";500;1000;1500\n500;89;119;149\n1000;129;169;209",
"delimiter": ";"
}
The first row holds the X-axis values, the first column the Y-axis values. Alternatively upload the file as multipart/form-data in the file field. More: Price Matrices from Excel/CSV.
Example: publish
POST /components/123/publish
Authorization: Bearer YOUR_API_KEY
Publishing runs in the background. The 202 Accepted response contains the address to poll for progress (GET /components/123/publish/status). The key needs the Publish permission.
Error codes
| Status | Meaning |
|---|---|
401 |
Missing, invalid, revoked or expired API key |
403 |
The key may not do this — e.g. "This API key is read-only." for a write request with a read-only key, or the endpoint is closed to API keys |
404 |
Component, characteristic or value does not exist (or belongs to another service) |
409 |
A publish is already running for this component |
422 |
Invalid data — the response names the affected fields |
429 |
Too many requests in a short time — wait briefly and retry |
Full API reference
All endpoints with fields, examples and a way to try them in the browser: admin.configento.app/docs/api — also available via Settings → API → API documentation in the V3 backend.
Support
For API questions: support via the chat button in the Service Portal.