GET /v1/manifest
Returns the list of languages available for this project.
Overview
Use this endpoint to discover which language codes your project has live translations for. The response is suitable for populating a language-switcher UI or deciding which locales to pre-fetch.
Authentication
X-API-Key header required. See Authentication.
Request
GET https://sapi.i18nme.com/v1/manifest| Header | Required | Description |
|---|---|---|
X-API-Key | ✅ | Your project API key |
No path parameters or query parameters.
Response
200 OK
json
{
"project_id": "3fa85f64-...",
"languages": [
{ "code": "en", "name": "English", "iso": "en", "approved_count": 120 },
{ "code": "pl", "name": "Polish", "iso": "pl", "approved_count": 98 },
{ "code": "de", "name": "German", "iso": "de", "approved_count": 45 }
]
}Field reference
| Field | Type | Description |
|---|---|---|
project_id | string | UUID of the project |
languages | Language[] | Ordered list of languages that have at least one translation |
languages[].code | string | URL-safe locale identifier (used in endpoint paths) |
languages[].name | string | Human-readable language name |
languages[].iso | string | ISO 639-1 code |
languages[].approved_count | number | Number of keys with an approved translation in this language |
Examples
bash
curl https://sapi.i18nme.com/v1/manifest \
-H "X-API-Key: key_live_XXXX"js
const res = await fetch('https://sapi.i18nme.com/v1/manifest', {
headers: { 'X-API-Key': process.env.I18N_API_KEY }
})
const { languages } = await res.json()
// ['en', 'pl', 'de']
const codes = languages.map(l => l.code)python
import httpx, os
res = httpx.get(
'https://sapi.i18nme.com/v1/manifest',
headers={'X-API-Key': os.environ['I18N_API_KEY']}
)
languages = res.json()['languages']
print([l['code'] for l in languages])See also
- Cached manifest — same shape, served from S3
- GET /v1/translations/{language} — fetch all translations for a language