Language codes

Every language value on this API is a lowercase BCP-47 tag. Matching is exact string equality, not “close enough”.

Use these:

  • en-us
  • ja-jp
  • pt-br
  • es-la
  • zh-cn

Do not send these. Only Japanese is rejected outright — the other two are normalised on our side today, but that is not part of the contract and may stop working:

Avoid Why
ja Bare ISO-639. Resolves today by normalisation, not guaranteed
ja-JP Mixed case. Resolves today by normalisation, not guaranteed
Japanese Language name. Rejected

name from the languages list is for display only. Never send it as a code.

Where codes appear

  • source_language_code — required on POST /v1/projects
  • target_language_codes — array of tags on create
  • Responses — same lowercase bcp47 values

List supported languages

Any valid key works. No extra scope.

curl -s https://api-arbitr.straker.ai/v1/languages \
  -H "X-API-Key: abr_live_…"

200:

{
  "languages": [
    { "bcp47": "en-us", "name": "English (United States)" },
    { "bcp47": "fr-fr", "name": "French (France)" }
  ],
  "page": {
    "number": 1,
    "has_more": false,
    "limit": 2
  }
}

Pass languages[].bcp47 into create-project. If a tag is not in this list, do not invent one — add the language in arbitr first, or pick another tag from the list.