# Meeting topics

## Get list of all meeting topics that are owned by user

<mark style="color:blue;">`GET`</mark> `https://app.zencal.io/api/v1/meeting-topics`

#### Headers

| Name                                               | Type   | Description      |
| -------------------------------------------------- | ------ | ---------------- |
| X-Zencal-Api-Key<mark style="color:red;">\*</mark> | String | Zencal Api key   |
| Content-Type<mark style="color:red;">\*</mark>     | String | application/json |
| Accept<mark style="color:red;">\*</mark>           | String | application/json |

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

```json
{
    "meetingTopics": [
        {
            "uuid": "fd8ec570-a809-40e3-8af6-a7d76c0b5adc",
            "name": "Consulting IT",
            "duration": 120,
            "description": "Lorem ipsum",
            "enabled": true,
            "private": false
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Shorten the link to your meeting topic

<mark style="color:green;">`POST`</mark> `https://app.zencal.io/api/v1/short`

Shorten your long link

#### Headers

| Name                                               | Type   | Description      |
| -------------------------------------------------- | ------ | ---------------- |
| X-Zencal-Api-Key<mark style="color:red;">\*</mark> | String | Zencal Api key   |
| Content-Type<mark style="color:red;">\*</mark>     | String | application/json |
| Accept<mark style="color:red;">\*</mark>           | String | application/json |

#### Request Body

| Name                                     | Type   | Description                           |
| ---------------------------------------- | ------ | ------------------------------------- |
| origin<mark style="color:red;">\*</mark> | String | The original link you want to shorten |

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

```json
{
    "link": "https://zcal.me/xxx"
}
```

{% endtab %}
{% endtabs %}

## Update meeting topic

<mark style="color:purple;">`PUT`</mark> `https://app.zencal.io/api/v1/meeting-topics/{uuid}`

Use this method to update meeting topic data

#### Headers

| Name                                               | Type   | Description      |
| -------------------------------------------------- | ------ | ---------------- |
| X-Zencal-Api-Key<mark style="color:red;">\*</mark> | String | Zencal Api key   |
| Content-Type<mark style="color:red;">\*</mark>     | String | application/json |
| Accept<mark style="color:red;">\*</mark>           | String | application/json |

#### Request Body

| Name        | Type    | Description                                                              |
| ----------- | ------- | ------------------------------------------------------------------------ |
| name        | String  | Name displayed on the planning page                                      |
| description | String  | Description displayed on the planning page                               |
| enabled     | Boolean | Determines whether appointments can be made on this topic                |
| private     | Boolean | Specifies whether the meeting topic should be hidden on the profile page |
| metadata    | Object  | Set the data you need                                                    |
