Admin
📄️ Get control categories
Returns all control categories ordered by ID. Each item contains `id` and `name`.
📄️ Create control category
Creates a new control category. Body: `{ 'name': '...' }`. Returns 201 Created with the new ID.
📄️ Update control category
Updates the name of an existing control category. Body: `{ 'name': '...' }`. Returns 404 if not found.
📄️ Delete control category
Permanently deletes a control category. Returns 204 on success, 404 if not found.
📄️ Get controls
Returns all security/process controls with their category assignment.
📄️ Create control
Creates a new control and assigns it to a category. Body: `{ 'name', 'categoryId', 'description' }`. Returns 404 if the categoryId does not exist.
📄️ Update control
Updates name, description, or category of an existing control. All fields are optional. Returns 404 if the control or the new categoryId does not exist.
📄️ Delete control
Permanently deletes a control. Returns 204 on success, 404 if not found.
📄️ Get subprocessor categories
Returns all categories used to group subprocessors.
📄️ Create subprocessor category
Creates a new subprocessor category. Body: `{ 'name': '...' }`. Returns 201 Created.
📄️ Update subprocessor category
Updates the name of an existing subprocessor category. Returns 404 if not found.
📄️ Delete subprocessor category
Permanently deletes a subprocessor category. Returns 204 on success, 404 if not found.
📄️ Get subprocessors
Returns all subprocessors (third-party data processors) with their domain, logo, and category.
📄️ Create subprocessor
Creates a new subprocessor. Body: `{ 'name', 'categoryId', 'domain', 'description', 'logoUrl' }`. Returns 404 if categoryId does not exist.
📄️ Update subprocessor
Updates fields of an existing subprocessor. All fields optional. Returns 404 if the subprocessor or the new categoryId does not exist.
📄️ Delete subprocessor
Permanently deletes a subprocessor. Returns 204 on success, 404 if not found.
📄️ Get resource categories
Returns all categories used to group vendor resources (documents, links, etc.).
📄️ Create resource category
Creates a new resource category. Body: `{ 'name': '...' }`. Returns 201 Created.
📄️ Update resource category
Updates the name of an existing resource category. Returns 404 if not found.
📄️ Delete resource category
Permanently deletes a resource category. Returns 204 on success, 404 if not found.
📄️ Get resources (admin)
Returns all vendor resources across all vendors including non-public ones. Fields: id, name, description, url, vendorId, categoryId, statusId, availability (`public`|`restricted`).
📄️ Create resource (admin)
Creates a new resource on behalf of any vendor. Body: `{ 'name', 'vendorId', 'categoryId', 'statusId', 'availability' (public|restricted), 'description', 'url' }`. Returns 404 if vendorId, categoryId, or statusId do not exist.
📄️ Update resource (admin)
Updates fields of any vendor resource. All fields optional. Returns 404 if the resource or a referenced categoryId/statusId does not exist.
📄️ Delete resource (admin)
Permanently deletes a vendor resource. Returns 204 on success, 404 if not found.
📄️ Get generic catalog items
Returns items for a generic catalog type. `catalogType` must be one of: `products`, `categories`, `compliances`. Returns 400 for unknown types.
📄️ Create generic catalog item
Creates a new item in a generic catalog type (`products`, `categories`, `compliances`). Body: `{ 'name', 'description' }`. Returns 201 Created or 400 for an unknown type.
📄️ Update generic catalog item
Updates name or description of a catalog item. `catalogType` must be `products`, `categories`, or `compliances`. All body fields are optional.
📄️ Delete generic catalog item
Permanently deletes a catalog item. `catalogType` must be `products`, `categories`, or `compliances`. Returns 204 on success, 404 if the item does not exist.
📄️ Get data fetch processors
Returns all AI data-fetch processor configurations including their prompts, search queries, and enabled state.
📄️ Update data fetch processor
Updates configuration of an AI data-fetch processor. All fields optional: `name`, `description`, `isEnabled`, `searchQueries`, `primaryPrompt`, `validationPrompt`, `finalPrompt`. Returns 404 if not found.
📄️ Get data fetch config
Returns all key-value configuration entries used by the data-fetch pipeline (e.g. API keys, timeouts, thresholds).
📄️ Update data fetch config entry
Updates the value of a data-fetch configuration entry. Body: `{ 'value': '...' }`. The key and valueType are immutable. Returns 404 if not found.