# Languages

Languages are the localizations of which data can exist in the PIM installation. If users shall be able to enter data in a specific culture, that language must be added to the system. All languages in the system are based on ISO Culture codes. Each ISO culture code can only be added once, meaning no two languages can use the same culture code

## GET /v1/Languages

> Get all languages added to the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Languages","description":"Languages are the localizations of which data can exist in the PIM installation. If users shall be able to enter data in a specific culture, that language must be added to the system.\r\nAll languages in the system are based on ISO Culture codes. Each ISO culture code can only be added once, meaning no two languages can use the same culture code"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Language.LanguageModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique id of language","format":"int32"},"CultureCode":{"type":"string","description":"Culture code of language","nullable":true},"Name":{"type":"string","description":"Presented name of language","nullable":true},"SortOrder":{"type":"integer","description":"Sort order of language","format":"int32"}},"additionalProperties":false,"description":"Represents a language"}}},"paths":{"/v1/Languages":{"get":{"tags":["Languages"],"summary":"Get all languages added to the system","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Struct.App.Api.Models.Language.LanguageModel"}}}}}}}}}}
```

## POST /v1/Languages

> Add language to system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Languages","description":"Languages are the localizations of which data can exist in the PIM installation. If users shall be able to enter data in a specific culture, that language must be added to the system.\r\nAll languages in the system are based on ISO Culture codes. Each ISO culture code can only be added once, meaning no two languages can use the same culture code"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Language.AddLanguageModel":{"type":"object","properties":{"CultureCode":{"type":"string","description":"ISO 639-1 culture code","nullable":true},"Name":{"type":"string","description":"Presented name of language","nullable":true},"SortOrder":{"type":"integer","description":"Sort order of language","format":"int32"}},"additionalProperties":false,"description":"Model to add a language"},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"Type":{"type":"string","nullable":true},"Title":{"type":"string","nullable":true},"Status":{"type":"integer","format":"int32","nullable":true},"Detail":{"type":"string","nullable":true},"Instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/v1/Languages":{"post":{"tags":["Languages"],"summary":"Add language to system","requestBody":{"description":"Language to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Language.AddLanguageModel"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## PUT /v1/Languages

> Update a language in the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Languages","description":"Languages are the localizations of which data can exist in the PIM installation. If users shall be able to enter data in a specific culture, that language must be added to the system.\r\nAll languages in the system are based on ISO Culture codes. Each ISO culture code can only be added once, meaning no two languages can use the same culture code"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Language.LanguageModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique id of language","format":"int32"},"CultureCode":{"type":"string","description":"Culture code of language","nullable":true},"Name":{"type":"string","description":"Presented name of language","nullable":true},"SortOrder":{"type":"integer","description":"Sort order of language","format":"int32"}},"additionalProperties":false,"description":"Represents a language"},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"Type":{"type":"string","nullable":true},"Title":{"type":"string","nullable":true},"Status":{"type":"integer","format":"int32","nullable":true},"Detail":{"type":"string","nullable":true},"Instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/v1/Languages":{"put":{"tags":["Languages"],"summary":"Update a language in the system","requestBody":{"description":"Updated language","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Language.LanguageModel"}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## DELETE /v1/Languages

> Delete a language in the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Languages","description":"Languages are the localizations of which data can exist in the PIM installation. If users shall be able to enter data in a specific culture, that language must be added to the system.\r\nAll languages in the system are based on ISO Culture codes. Each ISO culture code can only be added once, meaning no two languages can use the same culture code"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"Type":{"type":"string","nullable":true},"Title":{"type":"string","nullable":true},"Status":{"type":"integer","format":"int32","nullable":true},"Detail":{"type":"string","nullable":true},"Instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/v1/Languages":{"delete":{"tags":["Languages"],"summary":"Delete a language in the system","parameters":[{"name":"id","in":"query","description":"Id of language","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## GET /v1/Languages/{id}

> Get a specific language in the system

```json
{"openapi":"3.0.1","info":{"title":"Struct PIM Public API","version":"1.0"},"tags":[{"name":"Languages","description":"Languages are the localizations of which data can exist in the PIM installation. If users shall be able to enter data in a specific culture, that language must be added to the system.\r\nAll languages in the system are based on ISO Culture codes. Each ISO culture code can only be added once, meaning no two languages can use the same culture code"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"","name":"Authorization","in":"header"}},"schemas":{"Struct.App.Api.Models.Language.LanguageModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Unique id of language","format":"int32"},"CultureCode":{"type":"string","description":"Culture code of language","nullable":true},"Name":{"type":"string","description":"Presented name of language","nullable":true},"SortOrder":{"type":"integer","description":"Sort order of language","format":"int32"}},"additionalProperties":false,"description":"Represents a language"}}},"paths":{"/v1/Languages/{id}":{"get":{"tags":["Languages"],"summary":"Get a specific language in the system","parameters":[{"name":"id","in":"path","description":"Id of language","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Language.LanguageModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Struct.App.Api.Models.Language.LanguageModel"}}}}}}}}}
```


---

# 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.struct.com/api-reference/endpoints/languages.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.
