Docs  /  API  /  API — Getting Started

API — Getting Started

Last updated: 08. October 2026

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 401 afterwards. 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.

Next Steps


← All articles Try free for 14 days