Get Project Config
const url = 'https://app.lionrapid.com/api/integrations/project-config';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://app.lionrapid.com/api/integrations/project-configFlat project language config for SDK integration keys.
Companion track to the named-key↔auto_ map (docs/20-named-key-autokey-map): the SDK’s language switcher and default locale stop being hardcoded — they come from the dashboard. Adding a target language creates its ProjectFileTarget eagerly, so it shows up here on the SDK’s next load.
Trust model matches translation reads: any key carrying config:read
(pk_ publishable and master). Editor-session keys are denied (403).
Returns { projectId, projectName, defaultLocale, languages } where
languages is source-first, then every dashboard-configured target locale
(deduped).
projectId is the project_uuid, and it is here so a client can verify WHICH
project its key points at. lionrapid.yml’s project: is free text that
nothing checks; it once said “tm-frontpage” while 30 jobs went elsewhere. The
identity is a property of the key, so it is read off the authenticated project
rather than accepted from the caller.
Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Header Parameters
Section titled “Header Parameters”Responses
Section titled “Responses”Successful Response
Flat project language config for SDK integration keys.
Companion track to the named-key↔auto_ map (docs/20): the SDK’s language
switcher and default locale stop being hardcoded — they come from the
dashboard. Same trust model as translation reads (any config:read key, i.e.
pk_/master). languages is source-first, then every dashboard-configured
target locale, deduped. Locales are ISO 639-1 where one exists (else the
raw code). The client (packages/core NetworkRepository.getProjectConfig)
treats a 404 or unusable payload as “keep local fallback”.
projectId/projectName are additive (CLI onboarding): the CLI writes
the id into lionrapid.yml and verifies it before every command, which is
what the free-text project: field could never do — it once read
“tm-frontpage” for 30 jobs that went somewhere else. Both come from the key’s
own project, so no new scope is needed: whoever may read the config already
is that project, and config:read is what a pk_ carries.
object
The project’s UUID — stable across renames, and what a client should store
Display name, for confirming to a human which project a key points at
The project’s source language as a locale (ISO 639-1 where available)
All locales this project serves — source first, then dashboard-configured targets
Example
{ "defaultLocale": "en", "languages": [ "en", "es", "fi" ], "projectId": "019fd669-673f-75ec-a1e7-2ef8a70eda0a", "projectName": "Acme marketing site"}Validation Error
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example" } ]}