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

> ## Agent Instructions
> Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing Fastino API routes. Only call operations present in that specification. Do not infer or call undocumented routes. Direct Fastino API integrations use https://api.fastino.ai, /v1 routes, and FASTINO_API_KEY.

# Trainingsjob abrufen

> Rufen Sie Status, Konfiguration, Metriken und Artefaktbereitschaft eines Trainingsjobs ab.

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

Gibt einen für das Team des Aufrufers sichtbaren Trainingsjob zurück.

## Request

<ParamField header="X-API-Key" type="string" required>
  Ihr Fastino-API-Schlüssel.
</ParamField>

<ParamField path="job_id" type="string" required>
  UUID des Trainingsjobs.
</ParamField>

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

## Response

<ResponseField name="id" type="string">
  UUID des Trainingsjobs.
</ResponseField>

<ResponseField name="status" type="string">
  Gespeicherter Lebenszyklusstatus.
</ResponseField>

<ResponseField name="normalized_status" type="string | null">
  Stabiler Status für Client-Kompatibilität.
</ResponseField>

<ResponseField name="is_terminal_status" type="boolean | null">
  Gibt an, ob das Polling beendet werden kann.
</ResponseField>

<ResponseField name="progress_percent" type="integer | null">
  Aktueller Fortschritt in Prozent von `0` bis `100`.
</ResponseField>

<ResponseField name="current_epoch" type="integer | null">
  Aktuelle Epoche, 1-indexiert.
</ResponseField>

<ResponseField name="error_message" type="string | null">
  Fehlerdetails, sofern verfügbar.
</ResponseField>

<ResponseField name="metrics" type="object | null">
  Verfügbare Trainingsmetriken. Übliche Schlüssel sind `final_training_loss`, `final_validation_loss` und `best_validation_loss`. Evaluationsmetriken sind separat und nicht garantiert.
</ResponseField>

<ResponseField name="artifact_ready" type="boolean | null">
  Gibt an, ob ein Speicherort für das Artefakt verfügbar ist.
</ResponseField>

<ResponseField name="is_deployable" type="boolean | null">
  Verbindliche Entscheidung über die Bereitstellungsfähigkeit.
</ResponseField>

<ResponseField name="deployability_reason" type="string | null">
  Grund, warum der Job nicht bereitstellbar ist.
</ResponseField>

Der Datensatz gibt außerdem die eingereichte Trainingskonfiguration, Zeitstempel, Datensatzreferenzen, Anbieterdetails, Labels und Artefakt-Metadaten zurück.

<ResponseExample>
  ```json Response theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "running",
    "normalized_status": "running",
    "is_terminal_status": false,
    "progress_percent": 40,
    "current_epoch": 2,
    "metrics": {
      "final_training_loss": 0.12,
      "final_validation_loss": 0.18,
      "best_validation_loss": 0.15
    },
    "artifact_ready": false,
    "is_deployable": false,
    "deployability_reason": "job_incomplete"
  }
  ```
</ResponseExample>

Ein unbekannter oder nicht zugänglicher Job gibt `404` zurück. Ein ungültiger Pfadwert gibt `422` zurück.
