> ## Documentation Index
> Fetch the complete documentation index at: https://docs.signa.so/llms.txt
> Use this file to discover all available pages before exploring further.

# List Feedback

> List feedback your organization has submitted

## Overview

Returns a cursor-paginated list of the feedback your organization has submitted, newest first. Reads are strictly org-scoped: you only ever see your own organization's reports, and all API keys within an org share visibility (the per-row `api_key_id` tells you which key filed each one). A competitor can never see what you have reported.

Filterable by type, status, and created-at range, all combinable. Any valid API key may read; no special scope is required. Listing feedback does not consume metered usage.

## Query Parameters

<ParamField query="type" type="string">
  Filter by feedback type. Comma-separated for multiple: `?type=data_issue,bug`. Values: `data_issue`, `bug`, `feature_request`, `other`.
</ParamField>

<ParamField query="status" type="string">
  Filter by lifecycle status. Comma-separated for multiple: `?status=open,acknowledged`. Values: `open`, `acknowledged`, `resolved`.
</ParamField>

<ParamField query="created_at_gte" type="string">
  Return feedback created at or after this time (`YYYY-MM-DD` or ISO 8601).
</ParamField>

<ParamField query="created_at_lt" type="string">
  Return feedback created strictly before this time (`YYYY-MM-DD` or ISO 8601).
</ParamField>

<ParamField query="limit" type="integer" default="20">
  Items per page (1 to 100).
</ParamField>

<ParamField query="cursor" type="string">
  Pagination cursor from a previous response.
</ParamField>

## Response

<ResponseField name="object" type="string">Always `list`.</ResponseField>

<ResponseField name="data" type="object[]">
  <Expandable title="Feedback object">
    Same fields as a single [feedback object](/api-reference/administration/create-feedback#response): `id` (`fbk_...`), `object`, `api_key_id`, `type`, `status`, `message`, `resource_id`, `request_ref`, `field`, `expected_value`, `context`, `resolution_note`, `metadata`, `created_at`, `updated_at`, `resolved_at`.
  </Expandable>
</ResponseField>

<ResponseField name="has_more" type="boolean">Whether more pages are available.</ResponseField>

<ResponseField name="pagination" type="object">
  <Expandable title="Pagination">
    <ResponseField name="cursor" type="string | null">Cursor for the next page, or `null` on the last page.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="request_id" type="string">The request ID of this list call itself.</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "object": "list",
    "data": [
      {
        "id": "fbk_550e8400-e29b-41d4-a716-446655440000",
        "object": "feedback",
        "api_key_id": "key_1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
        "type": "data_issue",
        "status": "acknowledged",
        "message": "The registered owner is out of date.",
        "resource_id": "tm_9f8e7d6c-5b4a-3210-fedc-ba9876543210",
        "request_ref": "req_01kpjabcdefghijkmnpqrstvwx",
        "field": "owner.name",
        "expected_value": "Acme Holdings LLC",
        "context": {
          "resource": {
            "found": true,
            "resource_type": "trademark",
            "office": "uspto",
            "jurisdiction": "US",
            "version": 3,
            "status_primary": "active",
            "source_updated_at": "2026-07-01T00:00:00.000Z",
            "updated_at": "2026-07-02T08:00:00.000Z"
          }
        },
        "resolution_note": null,
        "metadata": {},
        "created_at": "2026-07-10T12:40:00.000Z",
        "updated_at": "2026-07-10T15:02:00.000Z",
        "resolved_at": null
      }
    ],
    "has_more": false,
    "pagination": {
      "cursor": null
    },
    "request_id": "req_aS6kL2mN"
  }
  ```
</ResponseExample>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/feedback?type=data_issue&status=open,acknowledged&limit=50" \
    -H "Authorization: Bearer sig_YOUR_KEY"
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";

  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  // Auto-paginating async iterator over every open data issue.
  const open = await signa.feedback.list({ type: "data_issue", status: "open" });
  for await (const item of open) {
    console.log(item.id, item.status, item.message);
  }
  ```
</CodeGroup>

## Errors

| Status | Type               | Description                                  |
| ------ | ------------------ | -------------------------------------------- |
| 400    | `validation_error` | Invalid `type`/`status` value or date format |
| 401    | `unauthorized`     | Missing or invalid API key                   |
| 429    | `rate_limited`     | Too many requests                            |

## Related Endpoints

* [Submit Feedback](/api-reference/administration/create-feedback), file a new report
* [Retrieve Feedback](/api-reference/administration/get-feedback), fetch one report by ID
