docsTranslation APIValidate options

    ✔️ Validate Options

    This API checks a Translate File request without running it. It applies the same feature and option checks as POST /translate, but it does not start a translation and does not charge credits.


    📋 Basic Information

    • Method: POST
    • Path: https://api.bluente.com/api/20250924/blu_translate/validate_options
    • Authentication: Required — Authorization: Bearer $BLUENTE_API_KEY

    📝 Request Parameters

    Send exactly what you would send to Translate File: the same query string (engine, glossary, custom_glossary, bilingual, vertical_bilingual, scanned, …) and the same JSON body (id, from, to, …). The task id must come from Upload File, and the file must have finished processing (status SERVICE_PROCESSED).


    💡 Example

    curl -X POST "https://api.bluente.com/api/20250924/blu_translate/validate_options?engine=3&bilingual=1" \
         -H "Authorization: Bearer $BLUENTE_API_KEY" \
         -H "Content-Type: application/json" \
         -d '{
               "id": 1,
               "action": "start",
               "from": "en",
               "to": "zh"
             }'

    or

    fetch("https://api.bluente.com/api/20250924/blu_translate/validate_options?engine=3&bilingual=1", {
      method: "POST",
      headers: {
        "Authorization": "Bearer $BLUENTE_API_KEY"
      },
      body: JSON.stringify({
        id: 1,
        action: "start",
        from: "en",
        to: "zh"
      })
    })

    ✅ Success Response Example

    {
      "message": "success",
      "code": 0,
      "data": {
        "valid": true
      }
    }

    ❌ Error Response Example

    When a feature is not enabled, doesn’t apply to the file, or conflicts with another selected feature, data explains why:

    {
      "message": "…",
      "code": 41,
      "data": {
        "error_code": "FEATURE_NOT_ENABLED",
        "feature_keys": ["translate_bilingual"],
        "reason": "…",
        "task_id": 1
      }
    }
    FieldTypeDescription
    codeint41 when error_code is FEATURE_NOT_ENABLED, otherwise 40
    data.error_codestringFEATURE_NOT_ENABLED, FEATURE_NOT_APPLICABLE or FEATURE_CONFLICT
    data.feature_keysarrayThe features involved (see Get Capabilities)
    data.reasonstringHuman-readable explanation (same as message)
    data.task_idintThe task the failure applies to (may be omitted)

    Other problems, such as an option that InDesign (IDML) doesn’t support, return code: 40 with the reason in message and no data. An unknown task id returns code: 43. See Error Codes.


    📌 Notes

    • A successful result means the options are accepted. It does not check the credit balance — use Get Account for that — and it does not validate from / to language codes.
    • A successful result does not reserve anything. Call Translate File to start the translation.