---
title: "Get languages, glossary or static text"
method: GET
path: "/projects/{projectId}/localization"
tags: ["Languages and localization"]
---

# Get languages, glossary or static text

`GET /projects/{projectId}/localization`

## Request

- Base URL: `https://studio.weaverse.io/api/v1/content`
- URL: `https://studio.weaverse.io/api/v1/content/projects/{projectId}/localization`
- Auth: HTTP bearer

Reads one kind of localization data, chosen by `kind` (default `languages`):

- `languages`: the project's languages (`id`, `code`, `name`, `languageCode`), oldest first
- `glossary`: glossary entries, sorted by source term
- `static`: the resolved static text for `locale` (required), as a nested object merged into the response: key defaults overlaid with that language's values
- `static-keys`: the static text keys with their ids (`id`, `key`, `defaultValue`), used by `static-key-default` and `static-key-delete`

Any other `kind`, or `static` without `locale`, returns `400 INVALID_PARAMS`.

Required scope: `content:read`

## Response `200`

Requested data

- object

## Other responses

- `401`: Missing or invalid credentials
- `403`: Foreign project or missing scope (INSUFFICIENT_SCOPE)
- `404`: Not found (never discloses other tenants)

---

[API](https://skmtc.dev/weaverse/apis/weaverse-content-api.md) - [All operations](https://skmtc.dev/weaverse/apis/weaverse-content-api/llms.txt) - [OpenAPI document](https://skmtc.dev/weaverse/apis/weaverse-content-api/revisions/d189794169bb?raw)
