SYSTRAN Corpus API
Manage translation-memory corpora and their bilingual segments - add, import, list, export, match, update, and delete corpora under /resources/corpus, plus segment and segment-target CRUD used to adapt and tune translation output.
Manage translation-memory corpora and their bilingual segments - add, import, list, export, match, update, and delete corpora under /resources/corpus, plus segment and segment-target CRUD used to adapt and tune translation output.
openapi: 3.0.3
info:
title: SYSTRAN Translate & NLP API
description: >-
RESTful API for SYSTRAN machine translation and natural language processing.
The Translate API (server https://api-translate.systran.net) covers text,
HTML, and file translation, supported-language discovery, user dictionaries,
corpora (translation memory), and translation profiles. The SYSTRAN.io /
Platform NLP surface (server https://api-platform.systran.net) adds language
detection, morphology, tokenization, segmentation, and named entity
recognition. Authenticate with an API key passed as the `key` query
parameter or an `Authorization` header.
Endpoint status: paths under /translation, /resources, and /profiles are
grounded in the published docs.systran.net Translate API reference
(confirmed). Paths under /nlp are modeled from the historical SYSTRAN.io /
Platform NLP service and marked with `x-endpoint-status: modeled`.
version: '1.0'
contact:
name: SYSTRAN
url: https://docs.systran.net/translateAPI/en/
termsOfService: https://www.systran.net
servers:
- url: https://api-translate.systran.net
description: SYSTRAN Translate API (translation, dictionary, corpus, profiles)
- url: https://api-platform.systran.net
description: SYSTRAN.io / Platform NLP surface (language detection and NLP)
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
tags:
- name: Translation
- name: File Translation
- name: Supported Languages
- name: Language Detection
- name: NLP
- name: Dictionary
- name: Profiles
- name: Corpus
paths:
/translation/text/translate:
post:
tags:
- Translation
operationId: translateText
summary: Translate text
description: Translate one or more text inputs from a source to a target language.
parameters:
- name: source
in: query
schema:
type: string
description: Source language code (auto-detected when omitted).
- name: target
in: query
required: true
schema:
type: string
description: Target language code.
- name: input
in: query
schema:
type: array
items:
type: string
description: Text input(s) to translate.
- name: format
in: query
schema:
type: string
enum: [text, html]
- name: profile
in: query
schema:
type: string
responses:
'200':
description: Translation output.
/translation/apiVersion:
get:
tags:
- Translation
operationId: getTranslationApiVersion
summary: Get Translation API version
responses:
'200':
description: API version.
/translation/supportedLanguages:
get:
tags:
- Supported Languages
operationId: getSupportedLanguages
summary: List supported language pairs
parameters:
- name: source
in: query
schema:
type: string
- name: target
in: query
schema:
type: string
responses:
'200':
description: Supported language pairs.
/translation/supportedFeatures:
get:
tags:
- Supported Languages
operationId: getSupportedFeatures
summary: List available model options by language pair
responses:
'200':
description: Supported features.
/translation/supportedFormats:
get:
tags:
- Supported Languages
operationId: getSupportedFormats
summary: List supported input/output formats
responses:
'200':
description: Supported formats.
/translation/supportedSelectors:
get:
tags:
- Supported Languages
operationId: getSupportedSelectors
summary: List available domains, owners, and sizes
responses:
'200':
description: Supported selectors.
/translation/profiles:
get:
tags:
- Translation
operationId: listTranslationProfiles
summary: List translation profiles
responses:
'200':
description: Profiles.
/translation/feedback/add:
post:
tags:
- Translation
operationId: addTranslationFeedback
summary: Submit translation feedback
responses:
'200':
description: Feedback recorded.
/translation/file/translate:
post:
tags:
- File Translation
operationId: translateFile
summary: Translate a file
description: Submit a document for translation. Set async=true for asynchronous processing.
parameters:
- name: source
in: query
schema:
type: string
- name: target
in: query
required: true
schema:
type: string
- name: async
in: query
schema:
type: boolean
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
input:
type: string
format: binary
responses:
'200':
description: Translated file or a requestId for async jobs.
/translation/file/status:
get:
tags:
- File Translation
operationId: getFileTranslationStatus
summary: Get async file translation status
parameters:
- name: requestId
in: query
required: true
schema:
type: string
responses:
'200':
description: Job status.
/translation/file/result:
get:
tags:
- File Translation
operationId: getFileTranslationResult
summary: Retrieve async file translation result
parameters:
- name: requestId
in: query
required: true
schema:
type: string
responses:
'200':
description: Translated file.
/translation/file/cancel:
post:
tags:
- File Translation
operationId: cancelFileTranslation
summary: Cancel an async file translation request
parameters:
- name: requestId
in: query
required: true
schema:
type: string
responses:
'200':
description: Cancelled.
/translation/file/batch/create:
post:
tags:
- File Translation
operationId: createTranslationBatch
summary: Create a translation batch
responses:
'200':
description: Batch created.
/translation/file/batch/status:
get:
tags:
- File Translation
operationId: getTranslationBatchStatus
summary: Get batch status and associated requests
parameters:
- name: batchId
in: query
required: true
schema:
type: string
responses:
'200':
description: Batch status.
/translation/file/batch/close:
post:
tags:
- File Translation
operationId: closeTranslationBatch
summary: Close a batch (no new requests)
responses:
'200':
description: Batch closed.
/translation/file/batch/cancel:
post:
tags:
- File Translation
operationId: cancelTranslationBatch
summary: Cancel a batch and its ongoing requests
responses:
'200':
description: Batch cancelled.
/resources/dictionary/lookup:
get:
tags:
- Dictionary
operationId: dictionaryLookup
summary: Look up dictionary entries
parameters:
- name: source
in: query
schema:
type: string
- name: target
in: query
schema:
type: string
- name: input
in: query
schema:
type: string
responses:
'200':
description: Dictionary matches.
/resources/dictionary/lookup/supportedLanguages:
get:
tags:
- Dictionary
operationId: dictionaryLookupSupportedLanguages
summary: List languages supported by dictionary lookup
responses:
'200':
description: Supported languages.
/resources/dictionary/supportedLanguages:
get:
tags:
- Dictionary
operationId: dictionarySupportedLanguages
summary: List languages supported by user dictionaries
responses:
'200':
description: Supported languages.
/resources/dictionary/list:
post:
tags:
- Dictionary
operationId: listDictionaries
summary: List user dictionaries
responses:
'200':
description: Dictionaries.
/resources/dictionary/add:
post:
tags:
- Dictionary
operationId: addDictionary
summary: Create a user dictionary
responses:
'200':
description: Dictionary created.
/resources/dictionary/update:
post:
tags:
- Dictionary
operationId: updateDictionary
summary: Update a user dictionary
responses:
'200':
description: Dictionary updated.
/resources/dictionary/delete:
post:
tags:
- Dictionary
operationId: deleteDictionary
summary: Delete a user dictionary
responses:
'200':
description: Dictionary deleted.
/resources/dictionary/export:
post:
tags:
- Dictionary
operationId: exportDictionary
summary: Export a user dictionary
responses:
'200':
description: Dictionary export.
/resources/dictionary/apply:
post:
tags:
- Dictionary
operationId: applyDictionary
summary: Apply a user dictionary
responses:
'200':
description: Dictionary applied.
/resources/dictionary/entry/list:
post:
tags:
- Dictionary
operationId: listDictionaryEntries
summary: List dictionary entries
responses:
'200':
description: Entries.
/resources/dictionary/entry/add:
post:
tags:
- Dictionary
operationId: addDictionaryEntry
summary: Add a dictionary entry
responses:
'200':
description: Entry added.
/resources/dictionary/entry/update:
post:
tags:
- Dictionary
operationId: updateDictionaryEntry
summary: Update a dictionary entry
responses:
'200':
description: Entry updated.
/resources/dictionary/entry/delete:
post:
tags:
- Dictionary
operationId: deleteDictionaryEntry
summary: Delete a dictionary entry
responses:
'200':
description: Entry deleted.
/resources/dictionary/entry/import:
post:
tags:
- Dictionary
operationId: importDictionaryEntries
summary: Import dictionary entries
responses:
'200':
description: Entries imported.
/profiles:
get:
tags:
- Profiles
operationId: listProfiles
summary: List profiles
responses:
'200':
description: Profiles.
/profiles/create:
post:
tags:
- Profiles
operationId: createProfile
summary: Create a profile
responses:
'200':
description: Profile created.
/profiles/delete:
post:
tags:
- Profiles
operationId: deleteProfile
summary: Delete a profile
responses:
'200':
description: Profile deleted.
/profiles/activate:
post:
tags:
- Profiles
operationId: activateProfile
summary: Activate a profile
responses:
'200':
description: Profile activated.
/profiles/deactivate:
post:
tags:
- Profiles
operationId: deactivateProfile
summary: Deactivate a profile
responses:
'200':
description: Profile deactivated.
/profiles/{id}/permissions:
get:
tags:
- Profiles
operationId: getProfilePermissions
summary: Get profile permissions
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Permissions.
post:
tags:
- Profiles
operationId: updateProfilePermissions
summary: Update profile permissions
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Permissions updated.
/translationResources:
get:
tags:
- Profiles
operationId: listTranslationResources
summary: List translation resources
responses:
'200':
description: Translation resources.
/resources/corpus/list:
get:
tags:
- Corpus
operationId: listCorpora
summary: List corpora
responses:
'200':
description: Corpora.
/resources/corpus/add:
post:
tags:
- Corpus
operationId: addCorpus
summary: Create a corpus
responses:
'200':
description: Corpus created.
/resources/corpus/import:
post:
tags:
- Corpus
operationId: importCorpus
summary: Import corpus content
responses:
'200':
description: Corpus imported.
/resources/corpus/details:
get:
tags:
- Corpus
operationId: getCorpusDetails
summary: Get corpus details
responses:
'200':
description: Corpus details.
/resources/corpus/match:
get:
tags:
- Corpus
operationId: matchCorpus
summary: Match segments against a corpus
responses:
'200':
description: Matches.
/resources/corpus/update:
post:
tags:
- Corpus
operationId: updateCorpus
summary: Update a corpus
responses:
'200':
description: Corpus updated.
/resources/corpus/delete:
post:
tags:
- Corpus
operationId: deleteCorpus
summary: Delete a corpus
responses:
'200':
description: Corpus deleted.
/resources/corpus/segment/list:
get:
tags:
- Corpus
operationId: listCorpusSegments
summary: List corpus segments
responses:
'200':
description: Segments.
/resources/corpus/segment/add:
post:
tags:
- Corpus
operationId: addCorpusSegment
summary: Add a corpus segment
responses:
'200':
description: Segment added.
/resources/corpus/segment/update:
post:
tags:
- Corpus
operationId: updateCorpusSegment
summary: Update a corpus segment
responses:
'200':
description: Segment updated.
/resources/corpus/segment/delete:
post:
tags:
- Corpus
operationId: deleteCorpusSegment
summary: Delete a corpus segment
responses:
'200':
description: Segment deleted.
/nlp/lid/detectLanguage:
get:
tags:
- Language Detection
operationId: detectLanguage
summary: Detect the language of a text
x-endpoint-status: modeled
servers:
- url: https://api-platform.systran.net
parameters:
- name: input
in: query
required: true
schema:
type: string
responses:
'200':
description: Detected language and confidence.
/nlp/lid/supportedLanguages:
get:
tags:
- Language Detection
operationId: lidSupportedLanguages
summary: List languages the detector can recognize
x-endpoint-status: modeled
servers:
- url: https://api-platform.systran.net
responses:
'200':
description: Supported languages.
/nlp/morphology/extractRoots:
get:
tags:
- NLP
operationId: extractRoots
summary: Extract morphological roots
x-endpoint-status: modeled
servers:
- url: https://api-platform.systran.net
parameters:
- name: lang
in: query
schema:
type: string
- name: input
in: query
required: true
schema:
type: string
responses:
'200':
description: Morphological analysis.
/nlp/tokenization/tokenize:
get:
tags:
- NLP
operationId: tokenize
summary: Tokenize text
x-endpoint-status: modeled
servers:
- url: https://api-platform.systran.net
parameters:
- name: lang
in: query
schema:
type: string
- name: input
in: query
required: true
schema:
type: string
responses:
'200':
description: Tokens.
/nlp/segmentation/segment:
get:
tags:
- NLP
operationId: segment
summary: Segment text into sentences
x-endpoint-status: modeled
servers:
- url: https://api-platform.systran.net
parameters:
- name: lang
in: query
schema:
type: string
- name: input
in: query
required: true
schema:
type: string
responses:
'200':
description: Segments.
/nlp/ner/extractNamedEntities:
get:
tags:
- NLP
operationId: extractNamedEntities
summary: Extract named entities
x-endpoint-status: modeled
servers:
- url: https://api-platform.systran.net
parameters:
- name: lang
in: query
schema:
type: string
- name: input
in: query
required: true
schema:
type: string
responses:
'200':
description: Named entities.
components:
securitySchemes:
ApiKeyQuery:
type: apiKey
in: query
name: key
description: SYSTRAN API key passed as the `key` query parameter.
ApiKeyHeader:
type: apiKey
in: header
name: Authorization
description: 'API key passed as an Authorization header, e.g. `Authorization: Key YOUR_API_KEY`.'