Languages and localized values

Use the Accept-Language request header to choose the language of supported display names in jobs and their supporting lookups. Supported languages are English (en), German (de), French (fr), Spanish (es), Italian (it) and Dutch (nl).

curl --fail-with-body "https://api.join.com/v3/contract-types?countryCode=DE" \
  -H "Authorization: Bearer $JOIN_API_TOKEN" \
  -H "Join-Version: 2026-11-01" \
  -H "Accept-Language: de-CH, en"

Regional variants use their main language: de-CH selects German and fr-CA selects French. When you send a list, JOIN uses the first supported language. If you omit the header or none of your preferences match, JOIN uses English.

The Content-Language response header identifies the language used for translated display names. For the request above, it is Content-Language: de.

Localized display names help users choose values. Use stable identifiers and slugs as integration keys. Job ads and other text entered by your company retain their original language.

Display names and the job ad’s language

SettingPurpose
Accept-Language: de request headerReturn supported display names in German
languageCode=en query parameter on the jobs listSelect jobs whose advertisement is written in English

Combine them to read English-language jobs while presenting their supporting display names in German:

curl --fail-with-body "https://api.join.com/v3/jobs?languageCode=en&limit=1" \
  -H "Authorization: Bearer $JOIN_API_TOKEN" \
  -H "Join-Version: 2026-11-01" \
  -H "Accept-Language: de"

On job creation, languageCode describes the language of the ad you supply.