---
title: "List my resolved-but-unacknowledged feedback (MNE-1681)"
method: GET
path: "/feedback/mine/unacknowledged"
tags: ["Feedback"]
---

# List my resolved-but-unacknowledged feedback (MNE-1681)

`GET /feedback/mine/unacknowledged`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/feedback/mine/unacknowledged`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Mnemom-Api-Key`
  - API key in cookie `mnemom_session`

Returns the CALLING reporter's own resolved feedback submissions that have no acknowledgement yet — the 'pending banner' set the client renders as resolution banners. Scoped server-side to the authenticated principal (`reporter_user_id`/`reporter_agent_id`), same as `/feedback/mine`. Not paginated: the pending set is expected to be small (internal fetch capped at 200 rows). Emits `mnemom.feedback.resolved` / `mnemom.feedback.ack_delivered` telemetry spans when the set is non-empty.

## Response `200`

The caller's resolved-but-unacknowledged feedback submissions.

- object
  - `items` object[], required
    - `id` string, uuid, required
    - `category` 'compliment' | 'problem' | 'suggestion', required: Reporter-selected intent, as submitted.
    - `status` 'received' | 'triage_pending' | 'triaged' | 'needs_review' | 'manual' | 'routed' | 'in_progress' | 'resolved' | 'wont_fix' | 'duplicate', required: Lifecycle status of the submission.
    - `title` string, required: Reporter-provided title (post-redaction).
    - `body` string, required: Reporter-provided body (post-redaction).
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `triage_decision` 'auto_fix' | 'needs_review' | 'manual' | 'compliment_digest' | 'suggestion_backlog' | 'null', nullable: Most recent triage-brain decision, if any triage pass has run.
    - `triage_confidence` number, nullable: 0..1 explainable confidence score from the most recent triage pass.
    - `triage_risk` number, nullable: 0..1 explainable risk score from the most recent triage pass.
    - `cluster_id` string, uuid, nullable: Dedup cluster this submission was attached to, if any (see status=duplicate).
    - `cluster_member_count` integer, nullable: 'N reporters affected' count for cluster_id, when present.
    - `work_item_repo` string, nullable: Repo the fleet work item was opened against, if one was created.
    - `work_item_url` string, uri, nullable: URL of the Linear issue opened for this submission, if any.
    - `work_item_linear_status` 'open' | 'in_progress' | 'done' | 'released' | 'canceled' | 'null', nullable: Current status of the linked Linear issue, if any.
    - `work_item_dispatched_at` string, date-time, nullable: When the fleet work item was created, if any.
    - `resolved_at` string, date-time, nullable: When this submission was resolved, if it has been.
    - `resolution_source` 'linear_webhook' | 'manual' | 'null', nullable: How the resolution was recorded, if resolved.
    - `acknowledged_at` string, date-time, nullable: When the reporter acknowledged the resolution banner, if they have.

## Other responses

- `401`: Authentication required
- `429`: Rate-limit exceeded. The global per-IP limiter (100 requests/minute, applied to every `/v1/*` route) rejected this request. Back off until the window resets — `Retry-After` carries the cooldown in seconds and `X-RateLimit-Reset` the absolute reset time.
- `500`: Server error — request was well-formed but the server failed to fulfill it. Typically a downstream dependency (DB / RPC / external API) returned an unexpected error.

---

[API](https://skmtc.dev/mnemom/apis/mnemom-api.md) · [All operations](https://skmtc.dev/mnemom/apis/mnemom-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemom/apis/mnemom-api/revisions/274b7a6ea182?raw)
