# /alerts/assignment - Take charge of an alert (assign to me) **POST /alerts/assignment** Self-assigns the active alert identified by `fingerprint` to the authenticated caller ("I'm working on this"). Orthogonal to silences: an assigned alert keeps notifying unless it is also muted. Semantics: - **Self-assign only**: the assignee is always the caller; there is no "assign to user X". - **Takeover without conflict**: if the alert is already assigned to someone else, the assignment is replaced and the `assigned` timeline event carries `reassigned_from` with the previous assignee's name. Any confirmation step is frontend-only. - **No manual unassign**: the assignment is auto-released when collect receives the resolved webhook for the fingerprint (a system-driven `unassigned` event is appended to the timeline). This is also why the alert must still be firing in Mimir: assigning a resolved alert would create a row nothing ever cleans up (404 otherwise). `organization_id` must be the alert's `organization_id` **label** (the customer org). The alert is looked up in the Mimir tenant that owns the org's alerting and its label must match: a caller authorized for org A cannot act on org B's alert sharing the same reseller tenant. Requires `manage:systems` permission on an organization in the caller's hierarchy. Customers are pinned to their own organization. ## 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 ### Query parameters - **organization_id** (string) The alert's organization (its organization_id label). Required for Owner/Distributor/Reseller; ignored for Customer (pinned). ### Body: application/json (object) - **fingerprint** (string) Alertmanager fingerprint of the active alert - **note** (string) Optional note taken together with the assignment. Embedded in the `assigned` timeline event (`details.note`) so the action renders as a single block; standalone notes posted via POST /alerts/notes stay separate `note_added` events. Blank values are ignored. ## Responses ### 200 Alert assigned to the caller #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object) ### 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 Alert not active in the organization's tenant (or fingerprint/org label mismatch) [Powered by Bump.sh](https://bump.sh)