# IRPCLanguagesAdmin.AddLanguage

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Administration API](https://developer.m-files.com/APIs/gRPC-API/admin/index.md) > [Language administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/AddLanguage/

Badges: `Administration API / specialized` `admin` `session`

Adds a language to the vault.

- **Service:** [Language administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/index.md) `MFiles.IRPCLanguagesAdmin`
- **gRPC method:** `/MFiles.IRPCLanguagesAdmin/AddLanguage`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/add-language`
- **Request:** [`AddLanguageRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/AddLanguage/index.md#request)
- **Response:** [`AddLanguageResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/AddLanguage/index.md#response)
- **Book and level:** Administration API, specialized
- **Kind:** admin
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** no
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

- Requires the vault rights `change_metadata_structure` and `license_allows_modifications`, and
  a server license that includes the languages feature.
- The server assigns the ID; the value you send is ignored.

<a id="request"></a>

## Request: AddLanguageRequest

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `lang` | [`Language`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Language/index.md) | The new language: `name` and `language_code` (for example `fi`). `id` is ignored. |
| `lang.id` | `int32` | Language ID. |
| `lang.name` | `string` | The name of the language. |
| `lang.language_code` | `string` | Language indentifier, e.g. the ISO 639-1 or ISO 639-2 language code such as "en" or "eng". |

<a id="response"></a>

## Response: AddLanguageResponse

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `id` | `int32` | The ID of the new language. |
