# Get Training Results

Retrieve the training results for a dataset version. For NAS (Neural Architecture Search) training runs, this returns a bundled view including all child models, their metrics, hardware-specific recommendations, and mining frontier data. For standard fine-tune runs, it returns a minimal summary.

This endpoint consolidates multiple reads into a single call, so you don't need to fetch model data separately.

### Endpoint

```
GET /:workspace/:project/:version/training/results
```

**Authentication:** Requires an API key with `version.read` scope.

### Request

```bash
curl "https://api.roboflow.com/{workspace}/{project}/{version}/training/results?api_key=$ROBOFLOW_API_KEY"
```

### Response (NAS Training)

```json
{
  "trainingId": "my-workspace/my-project/5",
  "versionId": "5",
  "status": "finished",
  "jobType": "nas",
  "modelType": "rfdetr-nas-parent",
  "modelGroup": "rfdetrNasGroup-2026-04-01",
  "modelCount": 8,
  "recommendedByHardware": {
    "jetson-orin-nano": "nas-child-1",
    "t4": "nas-child-2"
  },
  "mining": {
    "mining": {
      "progress": 0.42,
      "frontier": [{"name": "subnet-1", "mAP": 0.81}]
    },
    "baseline": [{"modelTypeDisplay": "rfdetr-nas-S"}]
  },
  "models": [
    {
      "modelId": "nas-child-1",
      "modelType": "rfdetr-nas-S",
      "status": "finished",
      "nasFamily": "child",
      "metrics": {
        "map50": 81,
        "map5095": 64,
        "f1": 78,
        "hardware": "jetson-orin-nano",
        "latency": 12.4,
        "paretoOptimalFor": ["jetson-orin-nano"]
      },
      "recommended": true
    }
  ]
}
```

### Response (Fine-Tune Training)

For non-NAS training runs, the response is a minimal bundle:

```json
{
  "trainingId": "my-workspace/my-project/3",
  "versionId": "3",
  "status": "finished",
  "jobType": "fine-tune",
  "modelGroup": null,
  "modelCount": 0,
  "models": []
}
```

### Response Fields

| Field                   | Type           | Description                                                                  |
| ----------------------- | -------------- | ---------------------------------------------------------------------------- |
| `trainingId`            | string         | Composite ID in `workspace/project/versionId` format                         |
| `status`                | string         | Training status (e.g. `finished`, `running`, `failed`)                       |
| `jobType`               | string         | `nas` for NAS runs, `fine-tune` for standard training                        |
| `modelType`             | string         | The model architecture used for training                                     |
| `modelGroup`            | string \| null | Group identifier for NAS child models. `null` for non-NAS runs               |
| `modelCount`            | number         | Number of models produced by the training run                                |
| `recommendedByHardware` | object         | Map of hardware target to the recommended model ID for that target. NAS only |
| `mining`                | object         | Mining frontier and snapshot data, if available. NAS only                    |
| `models`                | array          | Per-model summaries (see below)                                              |

**Model summary fields:**

| Field         | Type           | Description                                                                                                    |
| ------------- | -------------- | -------------------------------------------------------------------------------------------------------------- |
| `modelId`     | string         | Public model identifier (URL slug). This is the same value used in `POST /:workspace/models/:modelId/favorite` |
| `modelType`   | string         | Model architecture variant                                                                                     |
| `status`      | string         | Training status for this model                                                                                 |
| `nasFamily`   | string         | `child` or `baseline`. NAS only                                                                                |
| `metrics`     | object \| null | Training metrics (mAP, latency, etc.), scaled to percentages. `null` if training is still in progress          |
| `recommended` | boolean        | Present and `true` if this model is a recommended pick                                                         |

### Errors

| Status | Description                        |
| ------ | ---------------------------------- |
| 404    | Version not found                  |
| 401    | Invalid or missing API key         |
| 403    | API key lacks `version.read` scope |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/developer/rest-api/versions/get-training-results.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
