logoby DIP
  • Products
  • Pricing
  • About Us
  • Resources
  • Solution
    By language
    By document
    By use case
    By technology
    language
    ArabicArabicEnglishEnglishFrenchFrenchGermanGermanHindiHindiIndonesianIndonesianItalianItalianJapaneseJapaneseJavaneseJavaneseKoreanKoreanMarathiMarathiPortuguesePortuguesePunjabiPunjabiRussianRussianSpanishSpanishTamilTamilTeluguTeluguTurkishTurkishUrduUrduVietnameseVietnameseChinese (Simplified)Chinese (Simplified)Chinese (Traditional)Chinese (Traditional)BanglaBangla
  • Solution

    arrows
    By Language
    arrows
    By Document
    arrows
    By Use Case
    arrows
    By Technology
    arrows
  • Support
    View Plans
logoby DIP
menu
blogblogBack to blog
blog

Unlock Powerful Integrations: API Integration Guide

January 14, 2026

Overview

This document describes all interfaces of the Translation Platform Open API. The Open API allows third-party systems to integrate translation services, including file translation, term library management, and memory library management.

Basic Information

  • Base URL: /api/open_api/v1
  • Request Format: application/json (except for file uploads)
  • Response Format: application/json

Authentication

All APIs require an API Key in the request header:

http
X-API-Key: your_api_key_here

Unified Response Format

json
{
    "code": 0,
    "message": "success",
    "data": {}
}
FieldTypeDescription
codeintStatus code, 0 indicates success
messagestringStatus message
dataobjectResponse data

Rate Limiting (QPS)

To ensure service stability, all APIs have rate limits:

API TypeQPS LimitDescription
File Upload5/sMaximum 5 requests per second per API Key
Submit Translation10/sMaximum 10 requests per second per API Key
Query Status10/sMaximum 10 requests per second per API Key
Get Download URL10/sMaximum 10 requests per second per API Key
Other APIs20/sMaximum 20 requests per second per API Key

When rate limit is exceeded, the API returns error code 91006 (Rate limit exceeded). Please reduce request frequency and retry.


General APIs

Get Supported Languages

Get all supported language codes and names.

Request

http
GET /api/open_api/v1/languages

Request Parameters

None

Response Data

FieldTypeDescription
languagesarrayLanguage list
languages[].codestringLanguage code
languages[].namestringLanguage name in English
totalintTotal number of languages

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "languages": [
            {"code": "zh-CN", "name": "Chinese Simplified"},
            {"code": "en-US", "name": "English"},
            {"code": "ja", "name": "Japanese"}
        ],
        "total": 50
    }
}

File Translation APIs

Upload File

Upload a file for translation.

Request

http
POST /api/open_api/v1/files/upload
Content-Type: multipart/form-data

Request Parameters

ParameterTypeRequiredDescription
filefileYesFile to upload. Supported formats: docx, doc, pdf, pptx, ppt, xlsx, xls, txt, xml
is_can_editbooleanNoWhether PDF file is editable, default is true

Response Data

FieldTypeDescription
file_idstringFile ID

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "file_id": "12345678901234567"
    }
}

Submit Translation Task

Submit a file for translation.

Status Restriction: Only files with status 1 (Pending Translation) can be submitted for translation. Calling this API on files with other statuses will return error code 91104.

Request

http
POST /api/open_api/v1/translate/submit
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
file_idintYesFile ID (integer type)
source_languagestringYesSource language code (LanguageEnum value, e.g., zh-CN)
target_languagestringYesTarget language code (LanguageEnum value, e.g., en-US)
trans_modestringYesTranslation mode: deep (Deep Translation) or master (Master Translation)
term_lib_idsint[]NoList of term library IDs
memory_libsobject[]NoMemory library configuration list
memory_libs[].memory_lib_idintYesMemory library ID
memory_libs[].thresholdfloatNoMatch threshold, range 0-1, default 0.8

Request Example

json
{
    "file_id": 12345678901234567,
    "source_language": "zh-CN",
    "target_language": "en-US",
    "trans_mode": "deep",
    "term_lib_ids": [1, 2],
    "memory_libs": [
        {"memory_lib_id": 1, "threshold": 0.8}
    ]
}

Response Data

FieldTypeDescription
estimated_coststringEstimated cost

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "estimated_cost": "10.50"
    }
}

Query File Status

Batch query file translation status.

Request

http
POST /api/open_api/v1/files/status
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
file_idsstring[]YesList of file IDs (string type), maximum 20

Request Example

json
{
    "file_ids": ["12345678901234567", "12345678901234568"]
}

Response Data

FieldTypeDescription
filesarrayFile status list
files[].file_idstringFile ID
files[].statusintFile status code (see table below)
files[].filenamestringFilename (null if not exists)
files[].word_countintWord count (null if not exists)
files[].source_languagestringSource language code (null if not exists)

File Status Codes

Status CodeDescription
-1File not found
14Parsing
15Parse failed
1Pending translation
5Analyzing
6Analysis failed
7Analyzed
2Translating
3Translation failed
4Translated
16Extracting
17Extraction failed
18Extraction completed

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "files": [
            {
                "file_id": "12345678901234567",
                "status": 4,
                "filename": "document.docx",
                "word_count": 1500,
                "source_language": "zh-CN"
            },
            {
                "file_id": "99999999999999999",
                "status": -1,
                "filename": null,
                "word_count": null,
                "source_language": null
            }
        ]
    }
}

Get Download URL

Get the download URL for a translated file.

Status Restriction: Only files with status 4 (Translated) can get download URL. Calling this API on files that are not yet translated will return error code 91108.

Request

http
POST /api/open_api/v1/translate/download
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
file_idstringYesFile ID (string type)

Request Example

json
{
    "file_id": "12345678901234567"
}

Response Data

FieldTypeDescription
file_idstringFile ID
statusstringStatus: compositing - composing, completed - completed
download_urlstringDownload URL (null when compositing)
filenamestringFilename (null when compositing)
expires_inintURL expiration time in seconds (null when compositing)

Response Example (Compositing)

json
{
    "code": 0,
    "message": "success",
    "data": {
        "file_id": "12345678901234567",
        "status": "compositing",
        "download_url": null,
        "filename": null,
        "expires_in": null
    }
}

Response Example (Completed)

json
{
    "code": 0,
    "message": "success",
    "data": {
        "file_id": "12345678901234567",
        "status": "completed",
        "download_url": "https://storage.example.com/file.docx?token=xxx",
        "filename": "document_translated.docx",
        "expires_in": 300
    }
}

Delete File

Delete an uploaded file.

Request

http
POST /api/open_api/v1/files/delete
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
file_idstringYesFile ID (string type)

Request Example

json
{
    "file_id": "12345678901234567"
}

Response Data

FieldTypeDescription
file_idstringFile ID
deletedbooleanWhether deletion was successful

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "file_id": "12345678901234567",
        "deleted": true
    }
}

Term Library APIs

Create Term Library

Create a new term library.

Request

http
POST /api/open_api/v1/term-libs/create
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
namestringYesTerm library name, max 255 characters
source_languagestringYesSource language code (LanguageEnum value)
target_languagestringYesTarget language code (LanguageEnum value)
descriptionstringNoDescription, max 500 characters

Request Example

json
{
    "name": "Technical Terms",
    "source_language": "zh-CN",
    "target_language": "en-US",
    "description": "IT technical terminology"
}

Response Data

FieldTypeDescription
idintTerm library ID
namestringTerm library name
source_languagestringSource language code
target_languagestringTarget language code
descriptionstringDescription
entry_countintNumber of entries
create_timedatetimeCreation time

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "name": "Technical Terms",
        "source_language": "zh-CN",
        "target_language": "en-US",
        "description": "IT technical terminology",
        "entry_count": 0,
        "create_time": "2024-01-15T10:30:00"
    }
}

List Term Libraries

Get paginated list of term libraries.

Request

http
POST /api/open_api/v1/term-libs/list
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
pageintNoPage number, default 1, minimum 1
sizeintNoPage size, default 10, range 1-100
keywordstringNoKeyword search, max 100 characters
source_languagestringNoSource language filter (LanguageEnum value)
target_languagestringNoTarget language filter (LanguageEnum value)

Request Example

json
{
    "page": 1,
    "size": 10,
    "keyword": "technical",
    "source_language": "zh-CN",
    "target_language": "en-US"
}

Response Data

FieldTypeDescription
itemsarrayTerm library list
items[].idintTerm library ID
items[].namestringTerm library name
items[].source_languagestringSource language code
items[].target_languagestringTarget language code
items[].descriptionstringDescription
items[].entry_countintNumber of entries
items[].create_timedatetimeCreation time
items[].update_timedatetimeUpdate time
totalintTotal count
pageintCurrent page
sizeintPage size
pagesintTotal pages

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "items": [
            {
                "id": 1,
                "name": "Technical Terms",
                "source_language": "zh-CN",
                "target_language": "en-US",
                "description": "IT technical terminology",
                "entry_count": 150,
                "create_time": "2024-01-15T10:30:00",
                "update_time": "2024-01-16T08:00:00"
            }
        ],
        "total": 5,
        "page": 1,
        "size": 10,
        "pages": 1
    }
}

Edit Term Library

Edit term library information.

Request

http
POST /api/open_api/v1/term-libs/edit
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idintYesTerm library ID
namestringNoNew name, max 255 characters
descriptionstringNoNew description, max 500 characters

Request Example

json
{
    "id": 1,
    "name": "New Term Library Name",
    "description": "Updated description"
}

Response Data

FieldTypeDescription
idintTerm library ID
namestringTerm library name
source_languagestringSource language code
target_languagestringTarget language code
descriptionstringDescription
entry_countintNumber of entries
update_timedatetimeUpdate time

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "name": "New Term Library Name",
        "source_language": "zh-CN",
        "target_language": "en-US",
        "description": "Updated description",
        "entry_count": 150,
        "update_time": "2024-01-16T10:00:00"
    }
}

Delete Term Library

Delete a term library and all its entries.

Request

http
POST /api/open_api/v1/term-libs/delete
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idintYesTerm library ID

Request Example

json
{
    "id": 1
}

Response Data

FieldTypeDescription
idintTerm library ID
deletedbooleanWhether deletion was successful

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "deleted": true
    }
}

Add Term Entries

Add one or more entries to a term library.

Request

http
POST /api/open_api/v1/term-entries/add
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
term_lib_idintYesTerm library ID
entriesobject[]YesEntry list
entries[].source_textstringYesSource term, max 1000 characters
entries[].target_textstringYesTarget term, max 1000 characters

Request Example

json
{
    "term_lib_id": 1,
    "entries": [
        {"source_text": "人工智能", "target_text": "Artificial Intelligence"},
        {"source_text": "机器学习", "target_text": "Machine Learning"}
    ]
}

Response Data

None (data is null)

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": null
}

List Term Entries

Get entries from a term library.

Request

http
POST /api/open_api/v1/term-entries/list
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
term_lib_idintYesTerm library ID
pageintNoPage number, default 1, minimum 1
sizeintNoPage size, default 10, range 1-100
keywordstringNoKeyword search, max 100 characters

Request Example

json
{
    "term_lib_id": 1,
    "page": 1,
    "size": 10,
    "keyword": "AI"
}

Response Data

FieldTypeDescription
itemsarrayEntry list
items[].idintEntry ID
items[].source_textstringSource term
items[].target_textstringTarget term
items[].create_timedatetimeCreation time
items[].update_timedatetimeUpdate time
totalintTotal count
pageintCurrent page
sizeintPage size
pagesintTotal pages

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "items": [
            {
                "id": 1,
                "source_text": "人工智能",
                "target_text": "Artificial Intelligence",
                "create_time": "2024-01-15T10:30:00",
                "update_time": null
            }
        ],
        "total": 150,
        "page": 1,
        "size": 10,
        "pages": 15
    }
}

Edit Term Entry

Edit a single term entry.

Request

http
POST /api/open_api/v1/term-entries/edit
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idintYesEntry ID
source_textstringNoNew source term, max 1000 characters
target_textstringNoNew target term, max 1000 characters

Request Example

json
{
    "id": 1,
    "source_text": "New Source Term",
    "target_text": "New Target Term"
}

Response Data

FieldTypeDescription
idintEntry ID
source_textstringSource term
target_textstringTarget term
update_timedatetimeUpdate time

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "source_text": "New Source Term",
        "target_text": "New Target Term",
        "update_time": "2024-01-16T10:00:00"
    }
}

Delete Term Entries

Delete one or more term entries.

Request

http
POST /api/open_api/v1/term-entries/delete
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idsint[]YesList of entry IDs

Request Example

json
{
    "ids": [1, 2, 3]
}

Response Data

FieldTypeDescription
deletedintNumber of deleted entries
idsint[]List of deleted entry IDs

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "deleted": 3,
        "ids": [1, 2, 3]
    }
}

Memory Library APIs

Create Memory Library

Create a new memory library.

Request

http
POST /api/open_api/v1/memory-libs/create
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
namestringYesMemory library name, max 255 characters
source_languagestringYesSource language code (LanguageEnum value)
target_languagestringYesTarget language code (LanguageEnum value)
descriptionstringNoDescription, max 500 characters

Request Example

json
{
    "name": "Technical Documentation TM",
    "source_language": "zh-CN",
    "target_language": "en-US",
    "description": "Technical documentation translation memory"
}

Response Data

FieldTypeDescription
idintMemory library ID
namestringMemory library name
source_languagestringSource language code
target_languagestringTarget language code
descriptionstringDescription
entry_countintNumber of entries
create_timedatetimeCreation time

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "name": "Technical Documentation TM",
        "source_language": "zh-CN",
        "target_language": "en-US",
        "description": "Technical documentation translation memory",
        "entry_count": 0,
        "create_time": "2024-01-15T10:30:00"
    }
}

List Memory Libraries

Get paginated list of memory libraries.

Request

http
POST /api/open_api/v1/memory-libs/list
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
pageintNoPage number, default 1, minimum 1
sizeintNoPage size, default 10, range 1-100
keywordstringNoKeyword search, max 100 characters
source_languagestringNoSource language filter (LanguageEnum value)
target_languagestringNoTarget language filter (LanguageEnum value)

Request Example

json
{
    "page": 1,
    "size": 10,
    "keyword": "technical",
    "source_language": "zh-CN",
    "target_language": "en-US"
}

Response Data

FieldTypeDescription
itemsarrayMemory library list
items[].idintMemory library ID
items[].namestringMemory library name
items[].source_languagestringSource language code
items[].target_languagestringTarget language code
items[].descriptionstringDescription
items[].entry_countintNumber of entries
items[].create_timedatetimeCreation time
items[].update_timedatetimeUpdate time
totalintTotal count
pageintCurrent page
sizeintPage size
pagesintTotal pages

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "items": [
            {
                "id": 1,
                "name": "Technical Documentation TM",
                "source_language": "zh-CN",
                "target_language": "en-US",
                "description": "Technical documentation translation memory",
                "entry_count": 500,
                "create_time": "2024-01-15T10:30:00",
                "update_time": "2024-01-16T08:00:00"
            }
        ],
        "total": 3,
        "page": 1,
        "size": 10,
        "pages": 1
    }
}

Edit Memory Library

Edit memory library information.

Request

http
POST /api/open_api/v1/memory-libs/edit
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idintYesMemory library ID
namestringNoNew name, max 255 characters
descriptionstringNoNew description, max 500 characters

Request Example

json
{
    "id": 1,
    "name": "New Memory Library Name",
    "description": "Updated description"
}

Response Data

FieldTypeDescription
idintMemory library ID
namestringMemory library name
source_languagestringSource language code
target_languagestringTarget language code
descriptionstringDescription
entry_countintNumber of entries
update_timedatetimeUpdate time

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "name": "New Memory Library Name",
        "source_language": "zh-CN",
        "target_language": "en-US",
        "description": "Updated description",
        "entry_count": 500,
        "update_time": "2024-01-16T10:00:00"
    }
}

Delete Memory Library

Delete a memory library and all its entries.

Request

http
POST /api/open_api/v1/memory-libs/delete
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idintYesMemory library ID

Request Example

json
{
    "id": 1
}

Response Data

FieldTypeDescription
idintMemory library ID
deletedbooleanWhether deletion was successful

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "deleted": true
    }
}

Add Memory Entries

Add one or more entries to a memory library.

Request

http
POST /api/open_api/v1/memory-entries/add
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
memory_lib_idintYesMemory library ID
entriesobject[]YesEntry list
entries[].source_textstringYesSource text, max 5000 characters
entries[].target_textstringYesTarget text, max 5000 characters

Request Example

json
{
    "memory_lib_id": 1,
    "entries": [
        {
            "source_text": "This is an example sentence.",
            "target_text": "这是一个示例句子。"
        },
        {
            "source_text": "Machine translation technology is developing rapidly.",
            "target_text": "机器翻译技术正在快速发展。"
        }
    ]
}

Response Data

None (data is null)

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": null
}

List Memory Entries

Get entries from a memory library.

Request

http
POST /api/open_api/v1/memory-entries/list
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
memory_lib_idintYesMemory library ID
pageintNoPage number, default 1, minimum 1
sizeintNoPage size, default 10, range 1-100
keywordstringNoKeyword search, max 100 characters

Request Example

json
{
    "memory_lib_id": 1,
    "page": 1,
    "size": 10,
    "keyword": "example"
}

Response Data

FieldTypeDescription
itemsarrayEntry list
items[].idintEntry ID
items[].source_textstringSource text
items[].target_textstringTarget text
items[].create_timedatetimeCreation time
items[].update_timedatetimeUpdate time
totalintTotal count
pageintCurrent page
sizeintPage size
pagesintTotal pages

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "items": [
            {
                "id": 1,
                "source_text": "This is an example sentence.",
                "target_text": "这是一个示例句子。",
                "create_time": "2024-01-15T10:30:00",
                "update_time": null
            }
        ],
        "total": 500,
        "page": 1,
        "size": 10,
        "pages": 50
    }
}

Edit Memory Entry

Edit a single memory entry.

Request

http
POST /api/open_api/v1/memory-entries/edit
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idintYesEntry ID
source_textstringNoNew source text, max 5000 characters
target_textstringNoNew target text, max 5000 characters

Request Example

json
{
    "id": 1,
    "source_text": "New source text.",
    "target_text": "New target text."
}

Response Data

FieldTypeDescription
idintEntry ID
source_textstringSource text
target_textstringTarget text
update_timedatetimeUpdate time

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "source_text": "New source text.",
        "target_text": "New target text.",
        "update_time": "2024-01-16T10:00:00"
    }
}

Delete Memory Entries

Delete one or more memory entries.

Request

http
POST /api/open_api/v1/memory-entries/delete
Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
idsint[]YesList of entry IDs

Request Example

json
{
    "ids": [1, 2, 3]
}

Response Data

FieldTypeDescription
deletedintNumber of deleted entries
idsint[]List of deleted entry IDs

Response Example

json
{
    "code": 0,
    "message": "success",
    "data": {
        "deleted": 3,
        "ids": [1, 2, 3]
    }
}

Error Codes

Authentication Related (910xx)

Error CodeDescription
91000API Key is required
91001Invalid API Key
91002API Key has expired
91003API Key is disabled
91004API Key is not yet effective
91005Customer not found
91006Rate limit exceeded

File Translation Related (911xx)

Error CodeDescription
91100File size exceeds the limit
91101File type not supported
91102File upload failed
91103File not found
91104File status does not allow this operation
91105Insufficient account balance
91106Refund failed, balance record not found
91107Task not found
91108Task not completed, cannot download
91109Translated file not found
91110Failed to get download URL
91111File is being translated, cannot operate

Term Library Related (912xx)

Error CodeDescription
91200Term library name already exists
91201Term library not found
91202Source term already exists
91203Term entry not found
91204Entry list cannot be empty

Memory Library Related (913xx)

Error CodeDescription
91300Memory library name already exists
91301Memory library not found
91302Memory entry not found
91303Entry list cannot be empty

Language Code Reference

The following are common language codes (for the complete list, call the /api/open_api/v1/languages API):

CodeLanguage
zh-CNChinese (Simplified)
zh-TWChinese (Traditional)
en-USEnglish
jaJapanese
koKorean
deGerman
frFrench
esSpanish
ptPortuguese
ruRussian
arArabic
thThai
viVietnamese
idIndonesian
msMalay

Usage Examples

Python Example

python
import requests

BASE_URL = "https://api.example.com/api/open_api/v1"
API_KEY = "your_api_key"

headers = {
    "X-API-Key": API_KEY,
    "Content-Type": "application/json"
}

# 1. Upload file
with open("document.docx", "rb") as f:
    files = {"file": f}
    data = {"is_can_edit": "true"}
    response = requests.post(
        f"{BASE_URL}/files/upload",
        files=files,
        data=data,
        headers={"X-API-Key": API_KEY}
    )
    file_id = response.json()["data"]["file_id"]

# 2. Submit translation
response = requests.post(
    f"{BASE_URL}/translate/submit",
    json={
        "file_id": int(file_id),
        "source_language": "zh-CN",
        "target_language": "en-US",
        "trans_mode": "deep"
    },
    headers=headers
)

# 3. Query status
response = requests.post(
    f"{BASE_URL}/files/status",
    json={"file_ids": [file_id]},
    headers=headers
)
status = response.json()["data"]["files"][0]["status"]

# 4. Get download URL (after translation is complete)
response = requests.post(
    f"{BASE_URL}/translate/download",
    json={"file_id": file_id},
    headers=headers
)
download_url = response.json()["data"]["download_url"]

cURL Example

bash
# Get supported languages
curl -X GET "https://api.example.com/api/open_api/v1/languages" \
  -H "X-API-Key: your_api_key"

# Upload file
curl -X POST "https://api.example.com/api/open_api/v1/files/upload" \
  -H "X-API-Key: your_api_key" \
  -F "file=@document.docx" \
  -F "is_can_edit=true"

# Submit translation
curl -X POST "https://api.example.com/api/open_api/v1/translate/submit" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"file_id": 12345678901234567, "source_language": "zh-CN", "target_language": "en-US", "trans_mode": "deep"}'

# Query status
curl -X POST "https://api.example.com/api/open_api/v1/files/status" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"file_ids": ["12345678901234567"]}'

# Create term library
curl -X POST "https://api.example.com/api/open_api/v1/term-libs/create" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Technical Terms", "source_language": "zh-CN", "target_language": "en-US"}'

# Add term entries
curl -X POST "https://api.example.com/api/open_api/v1/term-entries/add" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"term_lib_id": 1, "entries": [{"source_text": "人工智能", "target_text": "AI"}]}'