---
title: "Payload Codec page"
canonical: "https://docs.loriot.io/space/NMS/6032820/Payload%20Codec%20page"
format: markdown
---
> ℹ️ The Payload Codec feature it's currently available only on [Professional Public Servers](https://www.loriot.io/professional-public-server.html) and [Private Servers](https://www.loriot.io/enterprise-private-server.html).

### Access to the Payload Codec page

---

> Macro (rw-ui-tabs-macro)
> 
> > Macro (rw-tab)
> 
> 1. Choose the LoRaWAN® Application containing the end-device under consideration.
> 
> From the Application details page, select the **Devices **option on the sidebar menu.
> 
> ![image-20240313-163703.png](media://8f8bc805-c6b5-4ce1-a929-564662ac109d)
> 
> 2. Select the **end-device** under consideration.
> 
> ![image-20240313-163800.png](media://316b8f0e-a4bc-46d7-ae28-52ca78a02937)
> 
> 3. From the Device details page, select the **Payload Codec** option on the sidebar menu to access the **Payload Codec page** (explained in the section below).
> 
> ![image-20240313-163822.png](media://b503f308-821d-4e25-8be5-f913ad8a786a)
> 
> > Macro (rw-tab)
> 
> 1. From the Applications main page, select the **Device Templates** option on the sidebar menu.
> 
> ![image-20240313-163915.png](media://d9ffc1cc-daf3-44ce-92ec-267f2d05f7e1)
> 
> 2. From the list of Device Templates, select the intended **Device Template**.
> 
> ![image-20240313-163945.png](media://dc128f79-1b2f-4606-ba66-a99f3a718547)
> 
> 3. From the Device Template details page, select the **Payload Codec** option from the sidebar menu to access the **Payload Codec page** (explained in the section below).
> 
> ![image-20240313-164009.png](media://38d5b550-a70b-4e10-9eea-f57c31250144)


### Payload Codec page

---

Even though it is possible to access the **Payload Codec page** either from an end-device or a Device Template, the page itself is the same in both cases.

#### Payload Codec list

When first accessing the Payload Coded page, the only significant UI element shown is the **Payload Codec list**.

![codec_list.gif](media://c52b37d6-3b20-45bd-8151-adbcdca04f98)

The fields **Name**, **CodecID** and **Version** are filterable and sortable. The values for these fields are defined by the user when creating a new Codec and can be later modified.

The field **Access** is only filterable, and it specifies if a Codec is either available to all users in the NMS server instance, or if it’s only available to users within a given Organization.

> ℹ️ When a Server Admin/Operator user creates a Payload Codec, the new Codec is available to all users server-wide, regardless of their Organization.
> ℹ️ 
> ℹ️ On the other hand, when an Organization Admin user creates a Codec, the new Codec is only available to users belonging to the same Organization as the Organization Admin user.

When selecting a Payload Codec from the list, two new elements are displayed to the right: the **Payload Codec details** and the **Test Decoder**.

![1_2.jpg](media://0536521f-34e7-45da-856b-8d983edaf86f)

> ℹ️ The **Test Decoder** tool is covered on the [Test a Payload Codec](https://docs-loriot.atlassian.net/wiki/spaces/NMS/pages/6031909) article.

#### Payload Codec details

The **Payload Codec details** element (see the image below) shows the values of fields **Name**,** CodecId **and **Version **included in the Codecs list, as well as two more fields: **VendorId** and **Description**.

These two new fields are also defined by the user when creating a new Codec and can be later modified.

![image](media://d9c2e4ea-ded5-448c-8d40-df0a1780bcdd)

Additionally, next to the **Name** of the Codec on the **Codec details** element users will find the Codec's internal **Id**. The value of **Id** is automatically defined by the NMS when creating a new Codec and it cannot be modified afterwards.

![image](media://bf500e62-6ede-45db-bc71-08393cf8838f)

> ℹ️ Take into account that multiple different Codecs on the same NMS instance can share the same **CodecID **value, but the internal **Id **is unique for each Codec.
> ℹ️ 
> ℹ️ This is why the internal **Id **is the one that must be used if users wish to consult and operate Codecs through [API REST requests](https://docs.loriot.io/space/NMS/6033359/Admin+API+v8#tab-v8.1) instead of using the NMS UI.

Note that there's another field called **Codec Format**, which features a button named **Show source code**. By selecting this button, users will access a modal window showing the selected Codec source code.

The Codec source code cannot be changed from this UI element; instead, the modal window is meant to be a code review tool for users.

![image](media://54d8ba2e-f109-4404-9a15-5c348cf3e92c)

On top of the **Payload Codec details** element users will find a couple of buttons, **Cancel **and **Link codec**, which are only shown when a Codec is selected from the Payload Codec list.

When selecting the **Cancel **button, the previously selected Codec is unselected and the Payload Codec page returns to its first appearance, as illustrated below.

![1_6.jpg](media://d5cdaf39-5f9e-4c4e-9644-b02a3f44dced)

> ℹ️ To learn about linking Devices to a Payload Codec, take a look at the [Link Devices to a Payload Codec](https://docs.loriot.io/space/NMS/6033269/Link+Devices+to+a+Payload+Codec) article.