> For the complete documentation index, see [llms.txt](https://apidocs.d6plus.co.za/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.d6plus.co.za/reference/administration+/lookups/language-s.md).

# Language(s)

## Get the list of available languages

<mark style="color:blue;">`GET`</mark> `https://integrate.d6plus.co.za/api/v1/adminplus/lookup/language/{language_id}`

Use this endpoint to retrieve the list of available languages within the d6+ SAMS. The list is generic across all d6+ SAMS clients. By default all available languages are returned.&#x20;

It is possible to retrieve the information for a single languages by providing the optional `language_id` query parameter.

#### Path Parameters

| Name         | Type    | Description                        |
| ------------ | ------- | ---------------------------------- |
| language\_id | Integer | The ID of the language to retrieve |

#### Headers

| Name                                              | Type   | Description       |
| ------------------------------------------------- | ------ | ----------------- |
| HTTP-X-USERNAME<mark style="color:red;">\*</mark> | String | As provided by d6 |
| HTTP-X-PASSWORD<mark style="color:red;">\*</mark> | String | As provided by d6 |

{% tabs %}
{% tab title="200 The request was successful." %}

```json
[
    {
        "id": "1",
        "name": "Afrikaans"
    },
    {
        "id": "2",
        "name": "English"
    },
    {
        "id": "3",
        "name": "Ndebele"
    },
    {
        "id": "4",
        "name": "Swazi"
    },
    {
        "id": "5",
        "name": "Xhosa"
    }
]
```

{% endtab %}

{% tab title="404: Not Found The resource was not found." %}

```json
{
    "error": "Not found",
    "error_description": "No language(s) found"
}
```

{% endtab %}

{% tab title="401: Unauthorized The server understood the request, but access is not allowed." %}

```json
{
    "error": "Unauthorized",
    "error_description": "Request not authorised"
}
```

{% endtab %}
{% endtabs %}

## Examples

{% tabs %}
{% tab title="PHP" %}

```php
<?php

const BASE_URL = 'https://integrate.d6plus.co.za/api/v1/adminplus/lookup/language';
const LANGUAGE_ID = '1';

const API_USERNAME = getenv('API_USERNAME'); // Assuming you have these environment variables set
const API_PASSWORD = getenv('API_PASSWORD');

$curl = curl_init();

$options = [
    CURLOPT_URL => BASE_URL . '/' . LANGUAGE_ID,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        "HTTP-X-USERNAME: " . API_USERNAME,
        "HTTP-X-PASSWORD: " . API_PASSWORD
    ],
];

curl_setopt_array($curl, $options);

$response = curl_exec($curl);

if (curl_errno($curl)) {
    throw new Exception('Curl error: ' . curl_error($curl));
}

curl_close($curl);

echo $response;
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --location 'https://integrate.d6plus.co.za/api/v1/adminplus/lookup/language/1' \
--header 'HTTP-X-USERNAME: your_username' \
--header 'HTTP-X-PASSWORD: your_password'
```

{% endtab %}
{% endtabs %}
