Bulk enable / disable categories
Same shape as
enableSections and
enableItems — see
EnableUpdateRequest.
ids holds category ids.
Authorizations
Authorization: Basic base64(partner_key:secret_key).
Credentials are issued by a klikit operator. The plaintext
secret_key is shown once at issuance and cannot be retrieved
later — store it securely. If lost, ask your operator to rotate
the secret to receive a new one. The old secret stops working
immediately on rotation; there is no overlap window.
Body
Bulk enable / disable for sections, categories, or items. Used
by enableSections,
enableCategories, and
enableItems — same request shape for
every level; only the meaning of ids changes.
Two scopes of write:
- Business-level (omit
zoneStores) — flips the enable flag on the business row. Applies everywhere the entity is inherited. - Per-store override (populate
zoneStores) — writes a row in the matchingstore_*_overridestable for each listed(brandID, branchID). The business row is untouched.
isCascadeToModifierGroups: true propagates the same flip down
to any modifier-group ↔ modifier link rows attached to the
targeted entities. brandIDsToCascade narrows that cascade to
specific brand ids.
isEnabled is a primitive boolean — missing / null reads as
false. Always send it explicitly.
Ids of the sections / categories / items to flip. Must
belong to your business or the upstream returns
404 not_found.
1Target value for the enable flag.
Per-store override targets. Each entry writes (or replaces)
the store-level enable row for that (brandID, branchID).
Cascade the enable flip only to this subset of the entity's attached brand ids. Empty / absent → cascade to every attached brand.
When true, also flips the enable flag on every
modifier-group ↔ modifier link row attached to the targeted
entities.
Response
Success — payload wrapped in the canonical Envelope.
Canonical response wrapper. Every response — success or error —
carries the request_id so you can quote one id to klikit
support to correlate a request end-to-end.
"req_4d1b7e3f-..."
Endpoint-specific payload on success.
Machine-readable error code + human message. The code is stable
across releases — switch on code in your client code rather
than parsing the message text.
Common codes you will encounter as a partner:
| Code | HTTP | Meaning |
|---|---|---|
auth_missing | 401 | Authorization header absent / malformed |
auth_invalid_credential | 401 | partner_key or secret_key did not verify |
auth_revoked | 403 | Credential is revoked |
auth_forbidden | 403 | Credential not authorized for the requested scope |
request_invalid | 400 | Body / query parameters failed validation |
request_missing_idempotency_key | 400 | Write endpoint called without Idempotency-Key |
request_invalid_range | 400 | Date range > 90 days |
resource_not_found | 404 | Order / store / mapping does not exist |
resource_unmapped | 404 | Stock / availability call referenced an unknown SKU |
state_invalid_transition | 409 | Order PATCH not allowed by current state |
state_idempotency_conflict | 409 | Same Idempotency-Key reused with a different body |
rate_limit_exceeded | 429 | Per-credential rate cap hit |
downstream_unavailable | 502 | An internal klikit dependency is unreachable |