Skip to main content
Use POST /openapi/v1/issue-records when your local runtime detects behavior that may deserve an Issue. Recording a candidate does not mean an Issue is immediately created. The server stores the original record first. A background process then checks context, recovery state, and existing similar Issues before it creates a new Issue or adds an occurrence to an existing one.

Detection example

Fields

The request body limit is 256 KiB.

Supported detections

For Run, LLM, and tool failures, use a stable provider or application error code when one is available. A raw error message may be included as masked evidence, but the server does not use it for grouping because messages often contain variable or sensitive values.

Accepted response

Possible statuses are RECEIVED, EVALUATING, DECIDED, and FAILED. isNew: false means the same sdkInstanceId and clientRecordId were already received. The response confirms durable receipt, not final Issue creation. Do not block a customer request while waiting for later evaluation.

Fingerprints and grouping

The client reports structured facts, not a grouping decision. The server derives its fingerprint from stable information such as detector type, policy, failed tool, tool set, reason code, and model context. It hashes the canonical value with SHA-256. Do not generate a random fingerprint per occurrence. Keep detector names and tool identifiers stable so equivalent situations can group consistently.

Recovery records

Send a new record with recordKind: "RECOVERY" when your runtime has evidence that the detected condition ended. Give the recovery its own clientRecordId, reuse the original detectionType, and include the same toolName or policy reference where applicable. Link the current Run or Session where possible. Recovery handling is asynchronous. A recovery record is evidence for server evaluation; it does not directly close an Issue.
Evidence can contain tool arguments, model output, or logs. Send only the minimum evidence needed to explain the detection, and mask secrets before enqueueing the record.