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

# Get training logs

> Retrieve a point-in-time snapshot of a Fastino training job's output logs.

`GET /v1/training-jobs/{job_id}/logs`

Returns structured stdout and stderr entries. This endpoint does not stream; poll it to follow a running job.

## Request

<ParamField header="X-API-Key" type="string" required>
  Your Fastino API key.
</ParamField>

<ParamField path="job_id" type="string" required>
  Training-job UUID.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.fastino.ai/v1/training-jobs/YOUR_TRAINING_JOB_ID/logs \
    -H "X-API-Key: $FASTINO_API_KEY"
  ```
</RequestExample>

## Response

<ResponseField name="job_id" type="string">
  Training-job UUID.
</ResponseField>

<ResponseField name="logs" type="object[]">
  Log entries. Each entry contains `id`, `job_id`, `timestamp`, `level`, `message`, and `source`.
</ResponseField>

<ResponseField name="total_logs" type="integer">
  Number of entries returned.
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "job_id": "YOUR_TRAINING_JOB_ID",
    "logs": [
      {
        "id": "LOG_ID",
        "job_id": "YOUR_TRAINING_JOB_ID",
        "timestamp": "2026-09-22T20:00:00Z",
        "level": "INFO",
        "message": "Epoch 2 completed",
        "source": "trainer"
      }
    ],
    "total_logs": 1
  }
  ```
</ResponseExample>

An unknown or inaccessible job returns `404`.
