---
title: "Get Alignment Status"
method: GET
path: "/api/v3/alignment-projects/{alignment_id}/status"
tags: ["Alignment Projects"]
---

# Get Alignment Status

`GET /api/v3/alignment-projects/{alignment_id}/status`

## Request

- Base URL: `https://api.nugen.in`
- URL: `https://api.nugen.in/api/v3/alignment-projects/{alignment_id}/status`
- Auth: HTTP bearer

The polled status of one alignment project.

Returns the state and its qualifiers only. Configuration, documents,
metrics, and failure qualifiers (degraded, stage_failures, error) never
change while a run executes or live on the detail route instead, so they
are not re-sent on every poll.

## Path parameters

- `alignment_id` string, required

## Response `200`

Returns the current status of an alignment project: state, timestamps, queue position and stop qualifier. Poll this; fetch the full record, including failure qualifiers, once from GET /alignment-projects/{alignment_id}.

- AlignmentProjectStatusResponse: The polled view of one run: state, its qualifiers, nothing that never changes mid run. Configuration and documents live on the detail route.
  - `alignment_id` string, required: Unique identifier of the alignment project.
  - `status` 'QUEUED' | 'PROCESSING' | 'READY' | 'FAILED' | 'STOPPED', required: Lifecycle status of a resource that runs asynchronously. Stored as is and returned as is, with no translation in between. - `QUEUED`: accepted and waiting for its workflow to start - `PROCESSING`: running - `READY`: finished successfully - `FAILED`: failed at any stage - `STOPPED`: stopped by the user before completion
  - `created_at` string, nullable: Timestamp when the project was created.
  - `completed_at` string, nullable: Timestamp when the project completed; null while still running.
  - `updated_at` string, nullable: Last update timestamp.
  - `progress` number, nullable: Completion progress, 0.0 to 100.0. Not wired up yet, always null.
  - `eta_seconds` integer, nullable: Estimated time remaining in seconds. Not wired up yet, always null.
  - `queue_position` integer, nullable: Place in the queue while status is QUEUED, 1 meaning next to start.
  - `stop_requested_at` string, nullable: Set once a stop was requested; the run ends STOPPED.
  - `early_deployable` boolean: True once train-time alignment has written a checkpoint, so POST /models/{model_id}/deployment?early=true will succeed. Only meaningful while status is still PROCESSING; false once train-time alignment has finished, since a normal deploy applies then.
  - `evaluation_id` string, nullable: The evaluation created from benchmark_id once train-time alignment finished.
  - `evaluation_status` 'QUEUED' | 'PROCESSING' | 'READY' | 'FAILED' | 'STOPPED': Lifecycle status of a resource that runs asynchronously. Stored as is and returned as is, with no translation in between. - `QUEUED`: accepted and waiting for its workflow to start - `PROCESSING`: running - `READY`: finished successfully - `FAILED`: failed at any stage - `STOPPED`: stopped by the user before completion
  - `evaluation_message` string, nullable: Why the evaluation could not be created or why it failed.

## Other responses

- `401`: Invalid API key
- `403`: Authorization header missing or not a Bearer token
- `404`: Resource not found
- `422`: Validation Error

---

[API](https://skmtc.dev/nugen/apis/nugen-intelligence-api.md) - [All operations](https://skmtc.dev/nugen/apis/nugen-intelligence-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nugen/apis/nugen-intelligence-api/revisions/62baa7960a4a?raw)
