# /entitlements/catalog/{id} - Update an add-on type **PUT /entitlements/catalog/{id}** Update the display fields (display_name, description) of a catalog item. The id and scoped flag are immutable. Only the owner organization or a Super Admin can manage the catalog. ## Servers - Backend API server (port 8080): https://api.your-domain.com/api (Backend API server (port 8080)) - Collect API server (port 8081): https://collect.your-domain.com/api (Collect API server (port 8081)) ## Authentication methods - Bearer auth ## Parameters ### Path parameters - **id** (string) Catalog id ### Body: application/json (object) - **display_name** (string) Human-readable name - **description** (string) Optional longer description - **purchasable** (boolean) Toggles the buy action. Omitted leaves it as it is. ## Responses ### 200 Catalog item updated successfully #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object) One grantable add-on type. Ids are lowercase kebab-case; convention: `nsec-` (firewall services), `ns8-` (application enablement on a cluster) or `-` (per-application-instance modules, `scoped: true`; `applies_to` names the application, since the id prefix is ambiguous for hyphenated app names). `legacy_alias` is the old wire id the appliance feeds still call on `GET /auth/service/{id}` — legacy ids are never renamed. ### 400 Bad request - validation error #### Body: application/json (object) - **code** (integer) HTTP error code - **message** (string) Error message - **data** (object) ### 401 Unauthorized - invalid or missing token #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) ### 403 Forbidden - insufficient permissions #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) ### 404 Resource not found #### Body: application/json (object) - **code** (integer) HTTP error code - **message** (string) Error message - **data** (object) ### 500 Internal server error #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) [Powered by Bump.sh](https://bump.sh)