Get all translation types
GET /api/translation-types
Success: 200 OK
- Products: Operator (
FOH) - Features: Front of House Generic Access (
FOHGENERIC)
Overview
Lists the translation types available to your tenant. A translation type names a kind of record that can carry localised text — Site, Activity, MembershipType, PriceLevel and so on — and every translated string in the platform is filed against exactly one of them.
Call this first when you are working with translations. The translation import, export and bulk-modify endpoints all identify the records they act on by translation type name, and the names they accept are precisely the type values returned here. Lookup is case-insensitive, but the name must be one of these.
The response body is a JSON array of translation type objects. The fields below are listed without a [] prefix, but each describes an element of that array.
This list is platform-maintained rather than operator-maintained. Gladstone maintains it, so the same set of type names is present on every tenant. id, by contrast, is assigned per tenant, so key your integration off type, not id — the numbers are not guaranteed to agree between tenants or between environments.
Translation types have no active/inactive or status flag and nothing is filtered, so every configured type is returned whether or not your operator uses it. No sort order is applied either, so do not depend on the order entries arrive in.
Three flags held on each translation type — hasName, userMaintainable and hasWebComments — are not returned by this endpoint. They matter because they determine the column count of the CSV used by Export a file containing translations and Import a file containing translations. You cannot discover them from this API; export a file first and read the header row instead.
When there are no translation types to return the endpoint responds 404 with a plain-text body, not 200 with an empty array.
A type added by a platform release may not appear immediately.
Endpoint
GET {base_url}/api/translation-types
{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.
Sample request
curl -X GET '{base_url}/api/translation-types' \
-H 'Authorization: Bearer {accessToken}' \
-H 'X-Use-SSO: true'Response fields
| Field | Type | Description |
|---|---|---|
id | integer (int32) | The translation type's numeric identifier, and the value to pass as translationTypeId to Get translation type by ID. Assigned per tenant, so it can differ between tenants and environments — use type as your stable key and treat id as valid only within the tenant that returned it. |
type | string | The name of the translation type, and the identifier the translation import, export and bulk-modify endpoints expect. Always present, at most 50 characters, and unique within the tenant. Standard values include Site, SiteGroup, Activity, ActivityGroup, Product, ResourceProduct, MembershipType, PriceLevel, TimeBand, TaxCode, Tag, TagGroup, Gender, Title, Status, DocumentType, UserField, UserFieldOption and Consumer. The translation export endpoint requires this value in its translationType field, and matching there is case-insensitive. |
description | string | A short English label for the type, intended for display in a picker — for example Activity Groups for type ActivityGroup. At most 512 characters. It can be null, but it is set for every standard type, so in practice it is populated. It is not localised; localised labels, where an operator has configured any, arrive in translations. |
translations | array of object | Localised labels for this translation type record itself — that is, translations of the type's own display text, not the translations belonging to records of this type. Returned as an empty array, never null, when none are configured. To read the translations of the records themselves, pass this entry's type as the translationType of Export a file containing translations. |
translations[].culture | string | The culture the text applies to, as a code drawn from the tenant's configured culture list — see Get all available cultures. At most 20 characters, and always a code from that list, so an arbitrary BCP 47 tag is not necessarily valid here. |
translations[].type | string | Despite the name, this is not a translation type. It is the name of the property on the record that this text replaces, so a record with several translatable properties produces one entry per property per culture. At most 50 characters. |
translations[].text | string | The localised text itself, replacing the named property for the named culture. Unbounded in length here, but when writing translations a 255-character limit is enforced and exceeding it is rejected. |
translations[].language | string | Always null on this endpoint. The 20-character limit applies when writing translations through the bulk-modify and import endpoints, where an empty string is coerced to null before processing. |
Sample response
[
{
"id": 25,
"type": "ActivityGroup",
"description": "Activity Groups",
"translations": []
},
{
"id": 26,
"type": "Site",
"description": "Sites",
"translations": [
{
"culture": "cy-GB",
"type": "Description",
"text": "<the localised label>",
"language": null
}
]
}
]Errors
| Status | Meaning | When |
|---|---|---|
404 | Not found | The translation type list came back empty. The body is the plain-text string GetAllTranslationTypes called successfully but returned no data, not JSON. Because Gladstone provides the list, this should not occur on a correctly provisioned tenant — treat it as a configuration fault rather than as "no results". |
500 | Internal server error | Any unexpected server-side failure while reading the list. The response has no body, so there is nothing to parse and nothing that distinguishes one cause from another. |