CopilotConfig

Upserts the Copilot configuration for the caller's account. DataAnnotations on Infoset.Types.Models.Admin.UpdateCopilotConfigDto are validated automatically by `[ApiController]`; invalid payloads return 400 with a structured error.

Emits an aiSettings:updated audit log entry on success when the stored config actually changed. No-op PUTs (incoming dto byte-equals the existing config) do NOT produce an audit row. Mirrors the diff-then-log pattern used by Infoset.Api.Controllers.SettingController for mailAccount:edit.

put/v1/admin/copilot/config

Request body

enabledboolean required
modelTemperaturenumber double required
maxResponseTokensinteger required
customSystemPromptstring nullable
departmentIdinteger

Brand (Infoset department id) this config row targets. 0 (default) = account-level row; > 0 = a department-scoped row, validated against the caller's brand access on PUT. Not a DataAnnotation range because 0 is a valid "account-level" value.

selectedDeskIdsstring[] nullable

Desk ids this config applies to. null = all desks (no restriction); empty = no desks; non-empty = the explicit desk ids. When non-null and non-empty the controller validates every id exists on the account (and, for a department-scoped row, belongs to that department) before the upsert.

Response

No Content

Changes

No recorded changes to this endpoint across all 1 revision of this API.