Open an issue by hand, with no parent alert.
For a failure that doesn’t map to any configured rule. summary is required
and capped at 2000 characters; title is optional and falls back to the
summary’s first 200 characters; severity is info, warning (the default)
or critical.
An issue opened this way never fans out through alert channels — there is no parent whose channels it could inherit — so it is a triage thread and nothing more. You are subscribed to it automatically.
Authorizations
A scoped AgentEye API key. Mint one in the dashboard under Settings → API keys, or with POST /v1/keys. Each endpoint names the permission it requires; a key without it gets 403 and a required_permission field naming what was missing.
Body
Optional severity for the orphan incident. Defaults to warning
when omitted; values outside info | warning | critical are
rejected with 422.
REQUIRED here, but deserialized as an Option on purpose: a bare
String makes a title-less body fail inside the axum extractor, which
answers with a raw serde message ("missing field title") and makes
the handler's own friendly check below unreachable. Accepting None
at the deserialization layer moves the rejection into the handler,
where it becomes an explainable 422. The requirement itself is
unchanged — see the title is required branch in
create_orphan_incident.
Response
Issue opened.

