# Labels

## Labels

You can use the API to get or set label information.

## The Model

The API tag is used to implement internationalization and multilingual for the widget and chatbots.

| Key         | Type   | Description                                                     |
| ----------- | ------ | --------------------------------------------------------------- |
| id          | String | The unique identifier for the label which is given by Tiledesk. |
| data        | Object | The label data model.                                           |
| attributes  | Object | The custom attributes which are set for the label.              |
| createdAt   | String | The time (ISO-8601 date string) when the label was created.     |
| updatedAt   | String | The time (ISO-8601 date string) when the label was updated.     |
| createdBy   | String | The unique identifier of the row creator                        |
| id\_project | String | The unique identifier of the project                            |

### Label Data Model

| Key      | Type    | Description                                                    |
| -------- | ------- | -------------------------------------------------------------- |
| lang     | String  | The language identifier                                        |
| data     | Object  | The translation labels data                                    |
| category | String  | The label data category                                        |
| default  | Boolean | Determines if this translation is the default for the project. |

## Get all labels for the project\_id

<mark style="color:blue;">`GET`</mark> `https://api.tiledesk.com/v3/:project_id/labels`

Allows an account to list all the labels.

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | the Project Id is a unique code assigned to your project when you create it in Tiledesk. |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example

```
curl -v -X GET -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels
```

## Get a all the labels for the provided language

<mark style="color:blue;">`GET`</mark> `https://api.tiledesk.com/v3/:project_id/labels/:id`

Fetches the labels by the provided language

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| id          | string | the language iso identifier(Ex. EN, IT, ES, etc.)                                        |
| project\_id | string | The project\_id is a unique code assigned to your project when you create it in Tiledesk |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |
| Content-Type  | string | use "application/json" value           |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example

```
curl -v -X GET -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/EN
```

## Create or update a label

<mark style="color:green;">`POST`</mark> `https://api.tiledesk.com/v3/:project_id/labels`

Allows to add or update labels.

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | The project\_id is a unique code assigned to your project when you create it in Tiledesk |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |
| Content-Type  | string | use "application/json" value           |

#### Request Body

| Name    | Type    | Description                             |
| ------- | ------- | --------------------------------------- |
| lang    | string  | the language identifier                 |
| data    | object  | the data object                         |
| default | boolean | Dermine if this is the default language |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example:

```
curl -v -X POST -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456  -d '{"lang":"andrea", "data":{OBJECT}}' https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels
```

## Make a language as default for the project

<mark style="color:purple;">`PATCH`</mark> `https://api.tiledesk.com/v3/:project_id/labels/:lang/default`

Make a language as default for the project

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | The project\_id is a unique code assigned to your project when you create it in Tiledesk |
| lang        | string | The language identifier                                                                  |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |
| Content-Type  | string | use "application/json" value           |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example:

```
curl -v -X PATCH -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456   https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/EN/default
```

## Delete a label by language identifier

<mark style="color:red;">`DELETE`</mark> `https://api.tiledesk.com/v3/:project_id/labels/:lang`

Allows to delete a label by language identifier.

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | The project\_id is a unique code assigned to your project when you create it in Tiledesk |
| lang        | string | The lang indentifier.                                                                    |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example:

```
curl -v -X DELETE -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456  https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/EN
```

## Delete all the labels of the project

<mark style="color:red;">`DELETE`</mark> `https://api.tiledesk.com/v3/:project_id/labels/`

Allows to delete all the labels of the project

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | The project\_id is a unique code assigned to your project when you create it in Tiledesk |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example:

```
curl -v -X DELETE -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456  https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/
```

## Get all predefined labels

<mark style="color:blue;">`GET`</mark> `https://api.tiledesk.com/v3/:project_id/labels/default`

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | the Project Id is a unique code assigned to your project when you create it in Tiledesk. |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example

```
curl -v -X GET -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/default
```

## Get all the standard pre-translated labels

<mark style="color:blue;">`GET`</mark> `https://api.tiledesk.com/v3/:project_id/labels/default`

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | the Project Id is a unique code assigned to your project when you create it in Tiledesk. |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example

```
curl -v -X GET -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/default
```

## Get the standard pre-translated label by language id

<mark style="color:blue;">`GET`</mark> `https://api.tiledesk.com/v3/:project_id/labels/default/lang`

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | the Project Id is a unique code assigned to your project when you create it in Tiledesk. |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example

```
curl -v -X GET -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/default/EN
```

## Create a label clone from a pre-traslated language

<mark style="color:green;">`POST`</mark> `https://api.tiledesk.com/v3/:project_id/labels/default/clone`

#### Path Parameters

| Name        | Type   | Description                                                                              |
| ----------- | ------ | ---------------------------------------------------------------------------------------- |
| project\_id | string | The project\_id is a unique code assigned to your project when you create it in Tiledesk |

#### Headers

| Name          | Type   | Description                            |
| ------------- | ------ | -------------------------------------- |
| Authorization | string | authorization token. Basic Auth or JWT |
| Content-Type  | string | use "application/json" value           |

#### Request Body

| Name | Type   | Description             |
| ---- | ------ | ----------------------- |
| lang | string | the language identifier |

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

```
TODO
```

{% endtab %}
{% endtabs %}

Example:

```
curl -v -X POST -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 https://api.tiledesk.com/v3/5b55e806c93dde00143163dd/labels/default/clone
```
