---
title: "Put Team Analysis Preset"
method: PUT
path: "/api/analysis/{team_key}/settings/preset"
tags: ["analysis"]
---

# Put Team Analysis Preset

`PUT /api/analysis/{team_key}/settings/preset`

## Request

- Base URL: `https://api.superit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.superit.ai/api/analysis/{team_key}/settings/preset`
- Auth: HTTP bearer

## Path parameters

- `team_key` string, required

## Query parameters

- `board_key` string

## Request body

- ApplyPresetRequest: Body for the preset endpoint.
  - `preset` 'none' | 'balanced' | 'full', required: The subset of presets the preset endpoint can apply. ``AutonomyPreset.CUSTOM`` is deliberately absent: it is the state a config lands in after an individual field edit, never something a caller applies. Modelling that as its own request enum keeps the published schema honest — ``custom`` is rejected by validation instead of being documented as acceptable and then refused at runtime.

## Response `200`

Successful Response

- AnalysisSettings: Team-level analysis and insight controls.
  - `automationReviewedAt` string, date-time, nullable
  - `ticketAnalysisEnabled` boolean
  - `ticketAnalysisTriggers` TicketAnalysisTriggerSettings: Real-time ticket analysis trigger config.
    - `newTicket` boolean
    - `reanalyseOnContentChange` boolean
    - `reanalysisCooldownHours` integer
  - `insightConsolidationEnabled` boolean
  - `insightRecurringEnabled` boolean
  - `insightEmailNotificationsEnabled` boolean
  - `kbCurationEnabled` boolean
  - `kbCurationRecurringEnabled` boolean
  - `kbCurationAutoPublishEnabled` boolean
  - `skipStatusCategories` StatusCategory[]
  - `minNarrativeTokens` integer
  - `levelZeroTiers` string[]
  - `levelZeroDeviceGatheringEnabled` boolean
  - `endUserResolutionEnabled` boolean
  - `endUserResolutionApplyMode` 'SUPERIT_ONLY' | 'PSA_PUBLIC_NOTE': Where the end-user resolution invite lands. SUPERIT_ONLY: staff-only preview in SuperIT; the customer-facing PSA note write is suppressed. PSA_PUBLIC_NOTE: also post the invite as a customer-facing note on the ticket. Distinct from ``TriageApplyMode`` (whose second value is an internal note, not customer-facing).
  - `triageApplyMode` 'SUPERIT_ONLY' | 'PSA_INTERNAL_NOTE' | 'PSA_AUTO_UPDATE': Where triage suggestions land for a connection. Spec C only persists the value; spec D's dispatch logic acts on it.
  - `triageBlockedFields` TriageField[]
  - `investigateApplyMode` 'SUPERIT_ONLY' | 'PSA_INTERNAL_NOTE' | 'PSA_AUTO_UPDATE': Where triage suggestions land for a connection. Spec C only persists the value; spec D's dispatch logic acts on it.
  - `investigateIncludeAudit` boolean
  - `runSummaryEnabled` boolean
  - `preset` 'none' | 'balanced' | 'full' | 'custom': Server-owned autonomy presets. ``CUSTOM`` is the state after any individual field edit; it cannot be applied via the preset endpoint (only reached through PATCH).
  - `triageStatusCategories` StatusCategory[]
  - `investigateStatusCategories` StatusCategory[]
  - `endUserChatStatusCategories` StatusCategory[]
  - `inherited` boolean

## Other responses

- `400`: Invalid input
- `401`: Not authenticated
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `409`: Conflict
- `422`: Validation Error

---

[API](https://skmtc.dev/superit/apis/super-it-api.md) - [All operations](https://skmtc.dev/superit/apis/super-it-api/llms.txt) - [OpenAPI document](https://skmtc.dev/superit/apis/super-it-api/revisions/4944d556c2bb?raw)
