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

# List Feedback

> Retrieve a paginated list of feedback items

## Query

```graphql theme={null}
query {
  feedbackItems(
    apiKey: String!
    skip: Int
    take: Int
    source: String
    status: String
    sentiment: String
  ): FeedbackItemList!
}
```

## Parameters

<ParamField query="apiKey" type="string" required>
  Your Tellscope API key
</ParamField>

<ParamField query="skip" type="integer" default="0">
  Number of items to skip for pagination
</ParamField>

<ParamField query="take" type="integer" default="50">
  Number of items to return (max 100)
</ParamField>

<ParamField query="source" type="string">
  Filter by feedback source. Examples: `zendesk`, `intercom`, `trustpilot`, `g2`
</ParamField>

<ParamField query="status" type="string">
  Filter by status. Values: `unread`, `read`, `archived`
</ParamField>

<ParamField query="sentiment" type="string">
  Filter by sentiment. Values: `positive`, `neutral`, `negative`
</ParamField>

## Response

<ResponseField name="items" type="array">
  Array of feedback items

  <Expandable title="FeedbackItem">
    <ResponseField name="id" type="string">Unique identifier</ResponseField>
    <ResponseField name="source" type="string">Source platform</ResponseField>
    <ResponseField name="title" type="string">Feedback title</ResponseField>
    <ResponseField name="content" type="string">Feedback content</ResponseField>
    <ResponseField name="author" type="string">Author name</ResponseField>
    <ResponseField name="email" type="string">Author email</ResponseField>
    <ResponseField name="sentiment" type="string">Detected sentiment</ResponseField>
    <ResponseField name="status" type="string">Current status</ResponseField>
    <ResponseField name="metadata" type="object">Additional metadata</ResponseField>
    <ResponseField name="publishedDate" type="datetime">When feedback was published</ResponseField>
    <ResponseField name="createdAt" type="datetime">When record was created</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="integer">
  Total count of matching feedback items
</ResponseField>

## Example

<CodeGroup>
  ```graphql Query theme={null}
  query {
    feedbackItems(
      apiKey: "tellscp_sk_YOUR_API_KEY"
      take: 10
      source: "zendesk"
      sentiment: "negative"
    ) {
      items {
        id
        title
        content
        author
        sentiment
        source
        createdAt
      }
      total
    }
  }
  ```

  ```json Response theme={null}
  {
    "data": {
      "feedbackItems": {
        "items": [
          {
            "id": "clx789ghi",
            "title": "Slow loading times",
            "content": "The dashboard takes too long to load...",
            "author": "John Doe",
            "sentiment": "negative",
            "source": "zendesk",
            "createdAt": "2024-01-15T10:30:00Z"
          }
        ],
        "total": 45
      }
    }
  }
  ```
</CodeGroup>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.tellscope.io/graphql \
    -H "Content-Type: application/json" \
    -d '{
      "query": "query { feedbackItems(apiKey: \"tellscp_sk_YOUR_API_KEY\", take: 10, sentiment: \"negative\") { items { id title sentiment } total } }"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.tellscope.io/graphql', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      query: `
        query {
          feedbackItems(
            apiKey: "${process.env.TELLSCOPE_API_KEY}"
            take: 10
            sentiment: "negative"
          ) {
            items { id title sentiment source }
            total
          }
        }
      `
    })
  });
  ```
</CodeGroup>
