Get all available cultures

GET /api/translations/cultures

Success: 200 OK

Overview

Lists the cultures (language/locale pairs) the tenant has available for translated content. Use it to populate a language selector, and to learn which code values the translation endpoints will accept when you read or write translated text.

The list is not the .NET or CLDR culture list. Each tenant starts with a fixed set — cy-gb, de, en-au, en-gb, en-ie, en-nz, en-us, es, fr, gd, gd-gb, pt — after which the list belongs to the operator. Cultures can be added, edited or removed per tenant, so treat the contents as tenant data, not as a platform constant, and do not assume a code you saw in one tenant exists in another. Only en-gb is safe to assume in practice, and even that is a convention rather than something the platform enforces.

Unlike some other configuration lists, this one returns 200 with an empty array [] when no cultures are configured — it never returns 204.

A culture the operator adds may not appear immediately.

Endpoint

GET {base_url}/api/translations/cultures

{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.

Sample request

cURL
curl -X GET '{base_url}/api/translations/cultures' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'

Response fields

FieldTypeDescription
[].codestringThe culture identifier, and the value you pass wherever the translation endpoints take a culture. Maximum 20 characters and unique within your tenant. The starter values are lower-case BCP 47-style tags (en-gb, cy-gb, fr) rather than the mixed-case form .NET and most browsers use (en-GB), and some are language-only with no region. Do not feed the value straight into a case-sensitive lookup, and do not construct it yourself — always echo back a code that appeared in this response.
[].descriptionstringThe English name of the culture as entered by the operator, for example English (United Kingdom). Maximum 100 characters. It can be null even when code is populated. It is free text an operator can edit, so use it for display only — never parse it or match on it.
[].localeDescriptionstringThe culture's name in its own language, intended for a language picker where each option should read naturally to a speaker of that language. Maximum 255 characters. Never null in practice: when the operator has not set it, description is returned in its place, so the two fields can be identical. That substitution means an empty localeDescription is indistinguishable from one that deliberately matches the English name.

Sample response

200 OK
[
  {
    "code": "string",
    "description": "string",
    "localeDescription": "string"
  }
]

Errors

StatusMeaningWhen
500Internal server errorAny unexpected server-side failure while reading the culture list. The response is a bare status code with no body, so there is no error detail to act on. Retry with backoff and fall back to a cached copy.

This page as markdown · All pages · llms.txt