Skip to main content

Get eligible languages

Enterprise

This endpoint is part of Countly Enterprise. To get access, contact sales or compare versions. Existing customers can reach the support portal with questions.

Endpoint

/o/content/langs

Overview

Returns language distribution for app users and optional content-block translation languages.

Authentication

Pass api_key or auth_token as a query parameter, or send countly-token as a header. See Authentication.

Permissions

  • Required permission: Read on the content feature

Request Parameters

ParameterTypeRequiredDescription
api_keyStringYes (or auth_token)API key for authentication
auth_tokenStringYes (or api_key)Auth token for authentication
app_idStringYesApplication identifier
content_idStringNoContent block ID; when set, translation languages found in this block are merged into the result

Examples

Example 1: Get Eligible Languages for App

/o/content/langs?api_key=YOUR_API_KEY&app_id=5be987d7b93798516eb5289a

Example 2: Get Eligible Languages for Specific Content Block

/o/content/langs?api_key=YOUR_API_KEY&app_id=5be987d7b93798516eb5289a&content_id=5d4472152de8f07336f3b352

Response

Success Response

{
"default": "en",
"eligibleLanguages": [
{
"code": "en",
"name": "English",
"percentage": 64
},
{
"code": "es",
"name": "Spanish",
"percentage": 36
},
{
"code": "de",
"name": "German",
"percentage": "~"
}
]
}

Response Fields

FieldTypeDescription
defaultStringDefault language (member language or en)
eligibleLanguagesArrayLanguages list
eligibleLanguages[].codeStringLanguage code
eligibleLanguages[].nameStringLanguage name
eligibleLanguages[].percentageNumber/StringUser distribution percentage, or "~" when language is added from content translations only

Error Responses

HTTP StatusResponse
500Error message from language processing (for example "appId is required")

Behavior

  1. Calculates language distribution from app user language values.
  2. If content_id is provided, extracts translation language codes from the content block structure and merges missing languages into result.
  3. Returns default plus eligibleLanguages.
Implementation details

Database Collections

CollectionUsed forData touched by this endpoint
countly.app_users{app_id}Endpoint data source** - Language distribution source
countly.content_blocksEndpoint data source** - Read only when content_id is provided