The CRAIG API provides secure, instant translation services, tailored exclusively to each client. It enables seamless access to client-specific translation configurations — whether optimized for latency or translation quality. The interface is simple, robust, and purpose-built to support customized, production-ready language workflows.
https://craig-api.all-in.global
API access requires a valid API key issued per client, tied to a usage plan aligned with their subscription tier. Each request must include the key in the headers:
x-api-key: YOUR_CLIENT_API_KEY
You can request yours by contacting sales(at)all-in.global
All requests and responses use:
Content Type: application/json
For technical doubts, please contact craig.support(at)all-in.global
This translation service is optimized for quality. Translations are tailored to each client and content type, including two layers: one of customized neural machine translation and one of genAI-based automatic post-editing, carefully crafted on the backend by the CRAIG team to meet client-specific requirements and needs. This method accepts specific instructions per request.
x-api-key: YOUR_CLIENT_API_KEY
Content-Type: application/json
Parameters
service
string - required
Use the specific service name provided by the CRAIG team, which corresponds to a service crafted to each client and use case.
source_language
string - required
Language name, written exactly as in the list provided in the Supported Languages section. Please confirm with the CRAIG team the availability of a specific language as a source for your service.
target_language
string - required
Language name, written exactly as in the list provided in the Supported Languages section. Please confirm with the CRAIG team the availability of a specific language as a target for your service.
source_text
string - required
Text to be translated. The recommended text extension ranges between 500 and 1000 characters, with 1000 being the maximum length. Multiple sentences can be bundled together using the delimiter ¤ in the string. Alternative solutions for sentence bundling delimiters can be discussed with the CRAIG team.
POST /translate
{
"service": "CustomServiceName",
"source_language": "English",
"target_language": "Spanish",
"source_text": "Hello world¤This is a test."
}
{
"status": 200,
"translation": "Hola mundo.¤Esto es una prueba."
}
❌ Common Errors
400 - Invalid request body. Please check the request format and any missing or malformed input objects.
403 - Forbidden. Missing or invalid API key.
429 - Limit Exceeded. Monthly API quota exceeded, according to the client subscription.
You can use this as a model to test it via curl or adapt it accordingly to your environment:
curl -X POST https://craig-api.all-in.global/translate \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_CLIENT_API_KEY" \
-d '{
"service": "CustomServiceName",
"source_language": "en",
"target_language": "es",
"source_text": "Hello world.¤This is a test."
}'
These are the languages supported by CRAIG with their respective language codes (ISO 639-1 format). Please confirm with the CRAIG team the availability of a specific language as a source or target for your use case.
When using a language name in a parameter, please type it exactly as in this list. Confirm with the CRAIG team whether a specific language is available as a source or target for your service.
Arabic
Armenian
Bosnian (Latin)
Bulgarian
Czech
Danish
Dutch
Dutch (Belgium)
English
Estonian
Finnish
French (Canada)
French (France)
German
Greek
Hindi
Croatian
Hungarian
Indonesian
Italian
Japanese
Georgian
Korean
Latvian
Lithuanian
Macedonian
Malay
Norwegian (Bokmål)
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Romanian
Russian
Serbian (Latin)
Slovak
Slovenian
Spanish (Spain)
Spanish (Mexico)
Swedish (Sweden)
Tagalog
Thai
Turkish
Ukrainian
Vietnamese
Chinese (PRC)
Chinese (Hong Kong S.A.R.)
Chinese (Taiwan)
Uzbek (Latin)
CRAIG, by All-in Global. 2026