Skip to main content
POST
/
integration
/
orders
/
{orderId}
/
qc
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/qc" \
  -H "X-Api-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "accuracy": true,
    "fluency": true,
    "tone": true,
    "culturalFit": true,
    "customPrompt": "Please focus on technical terminology accuracy",
    "callbackUrl": "https://example.com/webhooks/qc-completed"
  }'
{
  "success": true,
  "message": "QC evaluation started. You will be notified when it's completed.",
  "evalId": "eval_abc123def456",
  "creditsUsed": 5,
  "isProcessing": true
}
Run a standalone QC (Quality Control) evaluation on an existing order. This endpoint triggers an AI-powered assessment of the translation quality, evaluating criteria such as accuracy, fluency, tone, and cultural fit. The evaluation runs asynchronously and you will be notified when it’s completed.
curl -X POST "https://api-integration.ollang.com/integration/orders/60b8d6f1e1b9b1d8c6c0d8e1/qc" \
  -H "X-Api-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "accuracy": true,
    "fluency": true,
    "tone": true,
    "culturalFit": true,
    "customPrompt": "Please focus on technical terminology accuracy",
    "callbackUrl": "https://example.com/webhooks/qc-completed"
  }'

Authorizations

This endpoint requires API key authentication. Include your API key in the request header:
  • Header name: X-Api-Key
  • Header value: Your API key from the Ollang dashboard
  • Format: X-Api-Key: your-api-key-here
You can obtain your API key from your Ollang dashboard.

Path Parameters

orderId
string
required
The unique identifier of the order for which you want to run the QC evaluation. The order must be in a completed or delivered state to be eligible for evaluation.

Request Body

accuracy
boolean
default:"true"
Include accuracy evaluation in the QC assessment. This evaluates how accurately the translation conveys the meaning of the source content.
fluency
boolean
default:"true"
Include fluency evaluation in the QC assessment. This evaluates how naturally the translation reads in the target language.
tone
boolean
default:"true"
Include tone evaluation in the QC assessment. This evaluates whether the translation maintains the appropriate tone and style of the original content.
culturalFit
boolean
default:"true"
Include cultural fit evaluation in the QC assessment. This evaluates whether the translation is culturally appropriate for the target audience.
customPrompt
string
Optional custom prompt to guide the QC evaluation. Use this to provide specific instructions or focus areas for the AI evaluator, such as “Please focus on technical terminology accuracy” or “Pay attention to formal register consistency”.
callbackUrl
string
Optional HTTPS URL to receive a POST request when the QC evaluation completes. Must be a valid HTTPS URL pointing to a publicly accessible host (private IPs and localhost are rejected). When provided, the evaluation results are sent to this URL as a JSON payload once processing finishes. See Callback Payload below for the response format.

Response

success
boolean
required
Indicates whether the QC evaluation was started successfully.
message
string
required
A message describing the result of the request.
evalId
string
required
The unique identifier of the created evaluation. Use this ID to track the evaluation status and retrieve results.
creditsUsed
number
required
The number of AI credits consumed for this evaluation.
isProcessing
boolean
Indicates whether the evaluation is still being processed. When true, the evaluation is running asynchronously and results will be available later.
textSummary
string
A text summary of the evaluation results. This field is populated once the evaluation is complete.
scores
array
An array of evaluation scores for each criterion. Each score object contains:
  • name: The name of the evaluation criterion (e.g., “accuracy”, “fluency”) - score: The numerical score value - details: Additional details about the score
segmentEvals
array
Segment-by-segment evaluation results. Each segment evaluation contains: - segmentId: The identifier of the evaluated segment - scores: Array of scores for this specific segment - comments: Evaluator comments about this segment
{
  "success": true,
  "message": "QC evaluation started. You will be notified when it's completed.",
  "evalId": "eval_abc123def456",
  "creditsUsed": 5,
  "isProcessing": true
}

Callback Payload

When a callbackUrl is provided, Ollang sends a POST request to the URL once the QC evaluation completes. The request has a Content-Type: application/json header and the following body:
orderId
string
required
The identifier of the order that was evaluated.
evalId
string
required
The unique identifier of the evaluation run.
status
string
required
The evaluation status. Will be "completed" on success.
textSummary
string
required
A human-readable summary of the evaluation results.
scores
array
required
An array of evaluation scores for each criterion. Each score object contains:
  • name: The name of the criterion (e.g., "accuracy", "fluency")
  • score: The numerical score value
  • details: Additional details about the score
segmentEvals
array
required
Segment-by-segment evaluation results. Each segment evaluation contains:
  • segmentId: The identifier of the evaluated segment
  • scores: Array of scores for this specific segment
  • comments: Evaluator comments about this segment
Example callback payload:
{
  "orderId": "60b8d6f1e1b9b1d8c6c0d8e1",
  "evalId": "eval_abc123def456",
  "status": "completed",
  "textSummary": "Overall translation quality is high with minor fluency issues in segments 3 and 7.",
  "scores": [
    { "name": "accuracy", "score": 92, "details": "..." },
    { "name": "fluency", "score": 85, "details": "..." },
    { "name": "tone", "score": 90, "details": "..." },
    { "name": "culturalFit", "score": 88, "details": "..." }
  ],
  "segmentEvals": [
    {
      "segmentId": "seg_001",
      "scores": [{ "name": "accuracy", "score": 95 }],
      "comments": "Accurate translation with natural phrasing."
    }
  ]
}
The callback request has a 10-second timeout. If your server does not respond within 10 seconds, the request is considered failed. Callback failures do not affect the evaluation itself — results are still available via the Get Order by ID endpoint.