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

# List test sets

> List all Test Suite regression sets in the workspace.

Returns all test sets in the workspace, newest first.

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.
</ParamField>

## Response

Returns an array of test set summaries. List responses include `conversationCount` and `criteriaCount` instead of the full `conversationIds` array.

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api-prod.usefini.com/v2/test-sets/public' \
    --header 'Authorization: Bearer fini_your_api_key'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api-prod.usefini.com/v2/test-sets/public', {
    method: 'GET',
    headers: {
      Authorization: 'Bearer fini_your_api_key'
    }
  });

  const testSets = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api-prod.usefini.com/v2/test-sets/public",
      headers={"Authorization": "Bearer fini_your_api_key"},
  )

  test_sets = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  [
    {
      "id": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
      "name": "Refund regression set",
      "description": "Refund-policy conversations to re-check before prompt changes.",
      "conversationCount": 12,
      "criteriaCount": 2,
      "createdBy": null,
      "createdAt": "2026-07-28T08:55:32.000Z",
      "updatedAt": "2026-07-28T08:55:32.000Z"
    }
  ]
  ```
</ResponseExample>
