Effective configuration
Preview documentation / simulated contract (draft). Schemas and examples reflect the planned Commerce API v1 — final values will be confirmed when the production contract is frozen.
GET /configuration/effective
Description
Sanitized effective config, readiness, and blockers (no owner secrets). Base URL: https://api.callbotagent.ai/api/v1/commerce.
Required scope
configuration:read
Headers
| Header | Value | Required |
|---|---|---|
Content-Type |
application/json (gdy body) |
when body present |
X-CBA-Key-Id |
key identifier (in examples: cba_test_••••••••) |
yes |
X-CBA-Timestamp |
RFC 3339 UTC | yes |
X-CBA-Nonce |
unique nonce within the 300 s window | yes |
X-CBA-Content-SHA256 |
SHA-256 hex surowego body (e3b0c44… dla pustego) |
yes |
X-CBA-Signature |
hmac-sha256=<hex> |
yes |
Idempotency-Key |
idempotency key | mutations: yes |
Example request
curl -X GET https://api.callbotagent.ai/api/v1/commerce/configuration/effective \ -H "X-CBA-Key-Id: cba_test_••••••••" \ -H "X-CBA-Timestamp: 2026-07-11T10:00:00Z" \ -H "X-CBA-Nonce: n_8f3a2c1b" \ -H "X-CBA-Content-SHA256: <sha256-body>" \ -H "X-CBA-Signature: hmac-sha256=<hex>"
const res = await fetch("https://api.callbotagent.ai/api/v1/commerce/configuration/effective", {
method: "GET",
headers: {
"X-CBA-Key-Id": "cba_test_••••••••",
"X-CBA-Timestamp": "2026-07-11T10:00:00Z",
"X-CBA-Nonce": "n_8f3a2c1b",
"X-CBA-Content-SHA256": "<sha256-body>",
"X-CBA-Signature": "hmac-sha256=<hex>",
},
});
const data = await res.json();Example response
{
"readiness": "ready",
"blockers": [],
"markets": [
{
"country": "PL",
"locale_default": "pl-PL",
"calling_days": [
1,
2,
3,
4,
5
]
}
],
"quiet_hours": {
"timezone": "Europe/Warsaw",
"dont_call_hour_start": 21,
"dont_call_hour_end": 8
},
"features_enabled": {
"upsell": true,
"repurchase_intent": true
}
}
Possible errors
| Status | code |
Meaning |
|---|---|---|
| 401 | invalid_signature / expired_timestamp / replay_nonce |
HMAC / replay window |
| 403 | insufficient_scope |
missing required scope |
| 404 | resource_not_found |
resource unavailable for principal |
| 409 | idempotency_key_reused / stale_source_version |
idempotency / version conflict |
| 422 | validation_failed |
body does not match schema / invariants |
| 429 | rate_limited |
limits — see Retry-After |