# Projects

The Project model

| Key                  | Type    | Description                                                       |
| -------------------- | ------- | ----------------------------------------------------------------- |
| id                   | String  | The unique identifier for the project which is given by Tiledesk. |
| name                 | String  | The project name.                                                 |
| activeOperatingHours | Boolena | Determine if the operating hours option is enabled                |
| operatingHours       | Object  | The operating hours settings.                                     |
| settings             | Object  | The project settings                                              |
| widget               | Object  | The widget settings.                                              |
| profile              | Object  | The project profile object                                        |
| status               | Number  | The project status. Permitted values: 100 active, 0 disabled      |
| createdAt            | String  | The time (ISO-8601 date string) when the project was created.     |
| updatedAt            | String  | The time (ISO-8601 date string) when the project was updated.     |
| createdBy            | String  | The unique identifier of the row creator                          |

## Get a list of projects the user belongs

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

#### Headers

| Name          | Type   | Description                                                |
| ------------- | ------ | ---------------------------------------------------------- |
| Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: user |

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

```
[
{
      "_id":"5acdc6d86fb82500141d56c9",
      "updatedAt":"2019-01-31T18:09:53.417Z",
      "createdAt":"2018-04-11T08:27:04.509Z",
      "id_project":{
         "versions":30,
         "_id":"5acba41a213ae3001451b723",
         "updatedAt":"2019-01-29T12:01:06.793Z",
         "createdAt":"2018-04-09T17:34:18.064Z",
         "name":"conversational landing page",
         "createdBy":"5aabade839db7d001477d3d5",
         "__v":0,
         "profile":{
            "name":"free",
            "trialDays":30,
            "agents":0,
            "type":"free"
         },
         "channels":[
            {
               "name":"chat21"
            }
         ],
         "trialExpired":true,
         "trialDaysLeft":680,
         "isActiveSubscription":false,
         "id":"5acba41a213ae3001451b723"
      },
      "id_user":"5aaa99024c3b110014b478f0",
      "role":"admin",
      "createdBy":"5aabade839db7d001477d3d5",
      "__v":0,
      "user_available":true,
      "id":"5acdc6d86fb82500141d56c9"
   },
...
]
```

{% endtab %}
{% endtabs %}

## Get the project detail

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

#### 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. Minumun role: agent |

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

```
{
   "versions":30,
   "_id":"5df2240cecd41b00173a06bb",
   "name":"000000",
   "activeOperatingHours":true,
   "createdBy":"5aaa99024c3b110014b478f0",
   "profile":{
      "name":"free",
      "trialDays":30,
      "agents":0,
      "type":"free"
   },
   "channels":[
      {
         "name":"chat21"
      }
   ],
   "createdAt":"2019-12-12T11:27:08.548Z",
   "updatedAt":"2020-01-08T10:53:12.844Z",
   "__v":0,
   "operatingHours":"{\"0\":[{\"start\":\"09:00\",\"end\":\"13:00\"},{\"start\":\"14:00\",\"end\":\"18:00\"}],\"1\":[{\"start\":\"09:00\",\"end\":\"13:00\"},{\"start\":\"14:00\",\"end\":\"18:00\"}],\"tzname\":\"Europe/Rome\"}",
   "trialExpired":false,
   "trialDaysLeft":-4,
   "isActiveSubscription":false,
   "id":"5df2240cecd41b00173a06bb"
}
```

{% endtab %}
{% endtabs %}

## Return the available agents

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

Return the available agents evaluating the general operating hours of the project and agents chat load (with Smart Assignment enabled)

#### 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. |

#### Query Parameters

| Name | Type    | Description                                                                                              |
| ---- | ------- | -------------------------------------------------------------------------------------------------------- |
| raw  | Boolean | If true only agents status is considered (the general operating hours of the project are not considered) |

#### Headers

| Name          | Type   | Description                                                |
| ------------- | ------ | ---------------------------------------------------------- |
| Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: user |

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

```
[
   {
      "id":"5aaa99024c3b110014b478f0",
      "firstname":"Andrea"
   },
   {
      "id":"5de9200d6722370017731969",
      "firstname":"Nuovopre"
   }
]
```

{% endtab %}
{% endtabs %}

## Return if the project is open regarding operating hours

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

#### 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. Minumun role: guest |

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

```
   {"isopen":false}
```

{% endtab %}
{% endtabs %}

## Update the project (Widget Settings)

<mark style="color:orange;">`PUT`</mark> `https://api.tiledesk.com/v3/projects/:project_id/availables`

#### 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. Minumun role: user |

#### Request Body

| Name   | Type   | Description                                                                  |
| ------ | ------ | ---------------------------------------------------------------------------- |
| widget | Object | The object containing the widget configuration parameters (See curl example) |

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

```
{
   "widget": {
      "logoChat": "https://your_site_url.com/your-logo.png",
      "themeColor": "#76528B",
      "themeForegroundColor": "#CBCE91",
      "themeColorOpacity": 0,
      "align": "right",
      "displayOnDesktop": true,
      "displayOnMobile": true,
      "onPageChangeVisibilityDesktop": "open",
      "onPageChangeVisibilityMobile": "last",
      "singleConversation": false,
      "baloonImage": "https://your_site_url.com/your-baloon-logo.png",
      "poweredBy": "<a tabindex=\"-1\" target=\"_blank\" href=\"https://your_site_url.com\"><img src=\"https://your_site_url.com/your-logo.png\"/><span>Powered by YourCompany</span></a>"
   }
}
```

{% endtab %}
{% endtabs %}

Example:

```
curl -v -X PUT -H 'Content-Type: application/json' -u andrea.leo@f21.it:123456 -d '{"widget": {"logoChat": "https://your_site_url.com/your-logo.png","themeColor": "#76528B","themeForegroundColor": "#CBCE91","themeColorOpacity": 0,"align": "right","displayOnDesktop": true,"displayOnMobile": true,"onPageChangeVisibilityDesktop": "open","onPageChangeVisibilityMobile": "last","singleConversation": false,"baloonImage": "https://your_site_url.com/your-baloon-logo.png","poweredBy": "<a tabindex=\"-1\" target=\"_blank\" href=\"https://your_site_url.com\"><img src=\"https://your_site_url.com/your-logo.png\"/><span>Powered by YourCompany</span></a>"}}' https://tiledesk-server-pre.herokuapp.com/projects/62c3f10152dc7400352bab0d'
```


---

# 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://developer.tiledesk.com/apis/rest-api/projects.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.
