> ## 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.

# Get a run

> Fetch one test set run and its detailed result.

Fetches one run with its full result when available.

## Headers

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

## Path parameters

<ParamField path="runId" type="string" required>
  Run ID.
</ParamField>

## Response

Returns a [Run object](/en/api-reference/test-sets#run-object). While the run is queued or processing, `result` is `null`.

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api-prod.usefini.com/v2/test-sets/runs/5afd818a-a5f9-4e1b-9619-3c7191c12d9a/public' \
    --header 'Authorization: Bearer fini_your_api_key'
  ```

  ```javascript Node.js theme={null}
  const runId = '5afd818a-a5f9-4e1b-9619-3c7191c12d9a';

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

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

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

  run_id = "5afd818a-a5f9-4e1b-9619-3c7191c12d9a"

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

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

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "5afd818a-a5f9-4e1b-9619-3c7191c12d9a",
    "testSetId": "44c1f705-8e1a-4f61-8c4c-d519d37fb6b7",
    "status": "completed",
    "result": {
      "summary": {
        "testSetResult": "pass",
        "totalConversations": 2,
        "passedConversations": 2,
        "failedConversations": 0,
        "errorConversations": 0,
        "totalCriteria": 2,
        "passedCriteria": 4,
        "failedCriteria": 0
      },
      "conversations": [
        {
          "hcInteractionId": "a5221094-72d4-4b9c-8d30-2f785b108bd9",
          "interactionSubject": "Customer asks about refund eligibility",
          "result": "pass",
          "error": null,
          "criteriaResults": [
            {
              "criteriaId": "96eab02d-3bc3-4b90-ae5b-1a41a1444afa",
              "name": "Goal resolution",
              "type": "complex_judge",
              "blocking": true,
              "result": "pass",
              "reasoning": "The answer resolved the refund-policy question.",
              "evidence": ["The agent explained eligibility and next steps."]
            }
          ]
        }
      ]
    },
    "createdBy": null,
    "createdAt": "2026-07-28T09:01:14.000Z",
    "updatedAt": "2026-07-28T09:02:09.000Z"
  }
  ```
</ResponseExample>
