Skip to main content
POST
/
postmortems
/
{name}
/
feedback
Postmortem Feedback
curl --request POST \
  --url http://{host}:{port}/{basePath}/postmortems/{name}/feedback \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "providedBy": "sre@empresa.com",
  "remediationAccuracy": 4,
  "overrideRootCause": "Leak caused by uncancelled goroutine in webhook handler, not the response body.",
  "comments": "Good analysis. Suggest AdjustResources before restart next time."
}
'
{
  "apiVersion": "v1",
  "kind": "PostMortem",
  "resourceMeta": {
    "name": "PM-20260319-001",
    "namespace": "production"
  },
  "status": {
    "state": "InReview",
    "feedback": {
      "overrideRootCause": "Leak caused by uncancelled goroutine in webhook handler, not by the response body",
      "remediationAccuracy": 4,
      "comments": "Good analysis. Consider suggesting AdjustResources before restart next time.",
      "providedBy": "sre@company.com",
      "providedAt": "2026-03-19T09:00:00Z"
    }
  }
}
name
string
required
Unique postmortem name (e.g., PM-20260319-001)
namespace
string
default:"default"
Kubernetes namespace
providedBy
string
required
Identifier of who is providing feedback (e.g., email or username). Maximum 253 characters.
remediationAccuracy
integer
required
Rating from 1 to 5 for the AI’s automatic remediation accuracy
  • 1 — Completely wrong, did not resolve anything
  • 2 — Partially correct, but with significant issues
  • 3 — Reasonable, resolved but required manual adjustments
  • 4 — Good, resolved with minor observations
  • 5 — Excellent, perfect remediation
overrideRootCause
string
Human-provided root cause (overrides AI analysis). Leave empty to keep the original root cause. Maximum 4096 characters.
comments
string
Additional comments about the postmortem or remediation. Maximum 4096 characters.

When to Use

After reviewing a postmortem in the Dashboard, the developer can provide structured feedback:
  1. Rate the remediation — score from 1 to 5 the accuracy of the automated action
  2. Correct root cause — override the root cause if the AI was wrong or imprecise
  3. Add context — comments with information the AI did not have access to
Feedback is displayed directly in the Dashboard and persisted in the PostMortem CR status.
Requires operator role or higher. The providedBy field is mandatory for traceability. Submitting feedback again overwrites the previous feedback. On concurrent modification, the API returns 409 Conflict.
{
  "apiVersion": "v1",
  "kind": "PostMortem",
  "resourceMeta": {
    "name": "PM-20260319-001",
    "namespace": "production"
  },
  "status": {
    "state": "InReview",
    "feedback": {
      "overrideRootCause": "Leak caused by uncancelled goroutine in webhook handler, not by the response body",
      "remediationAccuracy": 4,
      "comments": "Good analysis. Consider suggesting AdjustResources before restart next time.",
      "providedBy": "sre@company.com",
      "providedAt": "2026-03-19T09:00:00Z"
    }
  }
}
{
  "apiVersion": "v1",
  "kind": "Error",
  "error": "remediationAccuracy must be between 1 and 5",
  "code": 400
}
{
  "apiVersion": "v1",
  "kind": "Error",
  "error": "postmortem was modified concurrently, please retry",
  "code": 409
}

Authorizations

Authorization
string
header
required

Bearer token issued by the operator. Format: Authorization: Bearer <token>.

Path Parameters

name
string
required

Unique postmortem name.

Example:

"PM-20260319-001"

Query Parameters

namespace
string
default:default

Kubernetes namespace.

Body

application/json
providedBy
string
required

Identifier of the feedback author. Max 253 chars.

Maximum string length: 253
Example:

"sre@empresa.com"

remediationAccuracy
integer
required

Score 1-5 for AI remediation accuracy.

Required range: 1 <= x <= 5
Example:

4

overrideRootCause
string

Human-provided root cause overriding AI analysis. Max 4096 chars.

Maximum string length: 4096
comments
string

Additional comments. Max 4096 chars.

Maximum string length: 4096

Response

Feedback recorded

apiVersion
string
Example:

"v1"

kind
string
Example:

"PostMortem"

metadata
object
resourceMeta
object

Used by some endpoints in place of metadata.

report
object
status
object