# Locale

## Retrieves supported languages with country metadata.

> Returns language information used by localization and onboarding flows, including linked country details.

```json
{"openapi":"3.0.1","info":{"title":"WebApi | v1","version":"1.0.0"},"tags":[{"name":"Locale"}],"servers":[{"url":"https://api.safegpt.nl/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT bearer token. Example: 'Bearer {token}'.","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/v1/Locale/GetLanguages":{"get":{"tags":["Locale"],"summary":"Retrieves supported languages with country metadata.","description":"Returns language information used by localization and onboarding flows, including linked country details.","responses":{"200":{"description":"OK"},"401":{"description":"Authentication is required."},"403":{"description":"The user is not authorized to access this endpoint."}}}}}}
```

## Get countries.

> Use this endpoint to retrieve countries.

```json
{"openapi":"3.0.1","info":{"title":"WebApi | v1","version":"1.0.0"},"tags":[{"name":"Locale"}],"servers":[{"url":"https://api.safegpt.nl/"}],"paths":{"/v1/Locale/GetCountries":{"get":{"tags":["Locale"],"summary":"Get countries.","description":"Use this endpoint to retrieve countries.","responses":{"200":{"description":"OK"}}}}}}
```

## Retrieves available text-to-speech voices for a language.

> Returns Azure Speech voice options that match the provided language code.\
> \
> Required roles: Admin, Moderator.

```json
{"openapi":"3.0.1","info":{"title":"WebApi | v1","version":"1.0.0"},"tags":[{"name":"Locale"}],"servers":[{"url":"https://api.safegpt.nl/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT bearer token. Example: 'Bearer {token}'.","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/v1/Locale/GetVoices/{languageCode}":{"get":{"tags":["Locale"],"summary":"Retrieves available text-to-speech voices for a language.","description":"Returns Azure Speech voice options that match the provided language code.\n\nRequired roles: Admin, Moderator.","parameters":[{"name":"languageCode","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Authentication is required."},"403":{"description":"The user is not authorized to access this endpoint."}}}}}}
```

## Generates a voice sample audio stream for a selected voice.

> Translates a sample sentence to the voice locale, synthesizes speech, and registers associated model usage for billing and analytics.\
> \
> Required roles: Admin, Moderator.

```json
{"openapi":"3.0.1","info":{"title":"WebApi | v1","version":"1.0.0"},"tags":[{"name":"Locale"}],"servers":[{"url":"https://api.safegpt.nl/"}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"JWT bearer token. Example: 'Bearer {token}'.","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/v1/Locale/GetVoiceSample/{voiceName}":{"get":{"tags":["Locale"],"summary":"Generates a voice sample audio stream for a selected voice.","description":"Translates a sample sentence to the voice locale, synthesizes speech, and registers associated model usage for billing and analytics.\n\nRequired roles: Admin, Moderator.","parameters":[{"name":"voiceName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"401":{"description":"Authentication is required."},"403":{"description":"The user is not authorized to access this endpoint."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.safegpt.nl/api-en/endpoints/locale.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
