curl --request GET \
--url https://api.nugen.in/api/v3/alignment-projects/{alignment_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.nugen.in/api/v3/alignment-projects/{alignment_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nugen.in/api/v3/alignment-projects/{alignment_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nugen.in/api/v3/alignment-projects/{alignment_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.nugen.in/api/v3/alignment-projects/{alignment_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.nugen.in/api/v3/alignment-projects/{alignment_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nugen.in/api/v3/alignment-projects/{alignment_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"alignment_id": "alignment_01k4x9m2p7q3r8c1",
"alignment_name": "Customer Support Model",
"base_model_id": "qwen-v2p5-0p5b-instruct",
"completed_at": "2024-01-15T12:45:00Z",
"created_at": "2024-01-15T10:30:00Z",
"creator": "user@example.com",
"document_count": 3,
"document_ids": [
"document_01k4x9m2p7q3r5s8",
"document_01k4x9m2p7q3r5s9",
"document_01k4x9m2p7q3r5sb"
],
"evaluation_id": "evaluation_01k4x9m2p7q3r7b1",
"model_id": "alignment_01k4x9m2p7q3r8c1-deployed",
"performance_metrics": {
"accuracy_after": 0.92,
"accuracy_before": 0.75,
"domain_violations_after": 2,
"domain_violations_before": 12,
"uncertainty_after": 0.15,
"uncertainty_before": 0.35
},
"progress": 100,
"status": "READY"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get Alignment Project
Retrieve detailed information about a specific alignment project.
This endpoint fetches comprehensive details about an alignment project including metadata, associated documents, training progress, status, performance metrics, and evaluation information.
Path Parameters:
alignment_id: Unique identifier of the alignment project
Returns:
alignment_id: Alignment project identifieralignment_name: Project namebase_model_id: Base model identifier used for alignmentstatus: Project status (PENDING,COMPLETED,FAILED)queue_position,stop_requested_at,early_deployable: run qualifiers, same as the status endpointcreated_at: ISO timestamp when project was createdcompleted_at(optional): ISO timestamp when project completedupdated_at: Last update timestampeta_seconds(optional): not wired up yet, always nulldocument_ids: List of document IDs used for trainingdocument_count: Number of documents usedcreator: Username or ID of the project creatorperformance_metrics(optional): Training performance metrics (loss, accuracy, etc.)progress(optional): Training progress percentage (0-100)estimated_completion(optional): Estimated completion timeerror(optional): Error message if project faileddegraded(optional): True when the run reached READY but a stage failed on the waystage_failures(optional): Stage failures on the way, if anyevaluation_id(optional): Auto-evaluation ID if triggeredmodel_id(optional): Deployed model ID for evaluation
Raises:
404: If alignment project not found or doesn’t belong to user
Example Request:
GET /api/v3/alignment/alignment_01k4x9m2p7q3r8c1
Headers: {"Authorization": "Bearer <api_key>"}
Example Response (Completed):
{
"alignment_id":"alignment_01k4x9m2p7q3r8c1",
"alignment_name": "Customer Support Domain Alignment",
"base_model_id": "qwen-v2p5-0p5b-instruct",
"status": "READY",
"created_at": "2024-01-15T10:30:00Z",
"completed_at": "2024-01-15T14:45:00Z",
"document_ids": ["document_01k4x9m2p7q3r5s8", "document_01k4x9m2p7q3r5sc", "document_01k4x9m2p7q3r5sd"],
"document_count": 3,
"creator": "user-123",
"performance_metrics": {
"final_loss": 0.15,
"accuracy": 0.92,
"perplexity": 2.3
},
"evaluation_id": "evaluation_01k4x9m2p7q3r7b1",
"model_id": "alignment_01k4x9m2p7q3r8c1-deployed"
}
Example Response (In Progress):
{
"alignment_id":"alignment_01k4x9m2p7q3r8c2",
"alignment_name": "Technical Documentation Alignment",
"base_model_id": "qwen-v2p5-0p5b-instruct",
"status": "PROCESSING",
"created_at": "2024-01-16T09:00:00Z",
"document_ids": ["document_01k4x9m2p7q3r5sh", "document_01k4x9m2p7q3r5sj"],
"document_count": 2,
"creator": "user-123",
"progress": 45,
"estimated_completion": "2024-01-16T11:30:00Z"
}
Notes:
- Returns full project details including training progress and performance
model_idis only available for projects that have been deployed for evaluationevaluation_idis only present if auto-evaluation was triggeredperformance_metricsare populated after training completesprogressandestimated_completionare available during trainingerrorfield contains failure details if status isFAILED
curl --request GET \
--url https://api.nugen.in/api/v3/alignment-projects/{alignment_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.nugen.in/api/v3/alignment-projects/{alignment_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.nugen.in/api/v3/alignment-projects/{alignment_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nugen.in/api/v3/alignment-projects/{alignment_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.nugen.in/api/v3/alignment-projects/{alignment_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.nugen.in/api/v3/alignment-projects/{alignment_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nugen.in/api/v3/alignment-projects/{alignment_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"alignment_id": "alignment_01k4x9m2p7q3r8c1",
"alignment_name": "Customer Support Model",
"base_model_id": "qwen-v2p5-0p5b-instruct",
"completed_at": "2024-01-15T12:45:00Z",
"created_at": "2024-01-15T10:30:00Z",
"creator": "user@example.com",
"document_count": 3,
"document_ids": [
"document_01k4x9m2p7q3r5s8",
"document_01k4x9m2p7q3r5s9",
"document_01k4x9m2p7q3r5sb"
],
"evaluation_id": "evaluation_01k4x9m2p7q3r7b1",
"model_id": "alignment_01k4x9m2p7q3r8c1-deployed",
"performance_metrics": {
"accuracy_after": 0.92,
"accuracy_before": 0.75,
"domain_violations_after": 2,
"domain_violations_before": 12,
"uncertainty_after": 0.15,
"uncertainty_before": 0.35
},
"progress": 100,
"status": "READY"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Returns detailed information about a specific alignment project, including metadata, associated documents, training progress, status, performance metrics, and evaluation information
One alignment project's full record: everything on its status and list rows, plus configuration, documents and metrics found nowhere else.
Unique identifier for the alignment project
"alignment_01k4x9m2p7q3r8c3"
"alignment_01k4x9m2p7q3r8c1"
Human-readable name for the alignment project
"Customer Support Model"
"Legal Document Assistant"
"Medical Q&A Bot"
ID of the base model used for alignment training
"qwen-v2p5-0p5b-instruct"
"llama-v3p3-70b-instruct"
Current status of the alignment project (PROCESSING, READY, FAILED)
PROCESSING, READY, FAILED, DEPLOYING, EVALUATING, UNDEPLOYED, EVALUATED, STOPPED, QUEUED ISO 8601 timestamp when the project was created
"2024-01-15T10:30:00Z"
"2024-02-01T09:15:00Z"
List of document IDs used for alignment training
[
"document_01k4x9m2p7q3r5s8",
"document_01k4x9m2p7q3r5s9"
]
["document_01k4x9m2p7q3r5sa"]
Total number of documents used for training
x >= 05
12
3
Email/username of the user who created this project
"user@example.com"
"admin@company.com"
Place in the queue while status is QUEUED, 1 meaning next to start. Null once execution has begun.
Set once a stop was requested; the run ends STOPPED.
True once training has written a checkpoint, so POST /models/{model_id}/deployment?early=true will succeed. Only meaningful while status is still PROCESSING; false once training has finished, since a normal deploy applies then.
ISO 8601 timestamp when the project completed (null if still in progress or failed)
"2024-01-15T12:45:00Z"
Last update timestamp.
Estimated time remaining in seconds. Not wired up yet, always null.
Performance comparison metrics showing before/after alignment improvements (available after evaluation)
Show child attributes
Show child attributes
Training progress percentage (0-100). Null if not started or completed.
0 <= x <= 1000
Estimated completion time (ISO 8601 timestamp). Null if not available or completed.
"2024-01-15T14:00:00Z"
Error message if the alignment project failed. Null if no error.
"Training failed: insufficient data"
True when the run reached its end state but a stage failed on the way.
Stage failures on the way; each entry carries stage, status and failed_reason.
Latest evaluation ID for this alignment
"evaluation_01k4x9m2p7q3r7b1"
Deployed model ID if the aligned model was automatically deployed for evaluation
"alignment_01k4x9m2p7q3r8c1-deployed"
Whether GPU training completed successfully. True if completed, False if failed/cancelled, null if still in progress.
true
True when an adapter checkpoint is live on the inference server and the model is ready for inference. Use model_id from this response to call the inference endpoint.
true
Was this page helpful?