🏷️ Labels
You can work with WhatsApp Labels available in WhatsApp Business using the API!

Features
Here’s the list of features that are available by 🏭 Engines:
🏷️ Labels - API
| API | WEBJS | NOWEB | GOWS |
|---|---|---|---|
Get labelsGET /api/{session}/labels | ✔️ | ✔️ | ✔️ |
Create labelPOST /api/{session}/labels | ✔️ | ✔️ | ✔️ |
Update labelPUT /api/{session}/labels/{labelId} | ✔️ | ✔️ | ✔️ |
Delete labelDELETE /api/{session}/labels/{labelId} | ✔️ | ✔️ | ✔️ |
Get chats by label idGET /api/{session}/labels/{labelId}/chats | ✔️ | ✔️ | ✔️ |
Get labels by chat idGET /api/{session}/labels/chats/{chatId}/ | ✔️ | ✔️ | ✔️ |
PUT labels to chatPUT /api/{session}/labels/chats/{chatId}/ | ✔️ | ✔️ | ✔️ |
If you see the feature is not available in the above list, please create a feature request or leave “+1” comment on the existing one.
🏷️ Labels - Events
| Events | WEBJS | NOWEB | GOWS |
|---|---|---|---|
label.upsert | ✔️ | ✔️ | |
label.deleted | ✔️ | ✔️ | |
label.chat.added | ✔️ | ✔️ | |
label.chat.deleted | ✔️ | ✔️ |
Label color
You’ll see two color-related fields in the body and response:
color: 1- internal color number,0-19values.colorHex: #64c4ff- is the latest known hex color for the label
⚠️ It’s possible that color - colorHex map will be changed, so consider using color value instead
when creating or updating labels.
Here’s the current color map (color - colorHex - preview):
0-#ff9485-1-#64c4ff-2-#ffd429-3-#dfaef0-4-#99b6c1-5-#55ccb3-6-#ff9dff-7-#d3a91d-8-#6d7cce-9-#d7e752-10-#00d0e2-11-#ffc5c7-12-#93ceac-13-#f74848-14-#00a0f2-15-#83e422-16-#ffaf04-17-#b5ebff-18-#9ba6ff-19-#9368cf-
API
Get labels
You can get a list of labels for the session using the endpoint:
GET /api/{session}/labels[
{
"id": "1",
"name": "New Client",
"color": 1,
"colorHex": "#64c4ff"
},
...
]Create label
POST /api/{session}/labelsUsing color
{
"name": "New Client",
"color": 1
}Using colorHex
{
"name": "New Client",
"colorHex" : "#64c4ff"
}Update label
PUT /api/{session}/labels/{labelId}Using color
{
"name": "New Client",
"color": 1
}Using colorHex
{
"name": "New Client",
"colorHex" : "#64c4ff"
}Delete label
DELETE /api/{session}/labels/{labelId}Get chats by label id
You can get a list of chats by label id using the endpoint:
GET /api/{session}/labels/{labelId}/chatsℹ️ The response format currently depends on the 🏭 Engine you’re using, similar to how it works with 💬 Chats
Get labels by chat id
You can get a list of labels by chat id using the endpoint:
GET /api/{session}/labels/chats/{chatId}/[
{
"id": "1",
"name": "New Client",
"color": 1,
"colorHex": "#64c4ff"
},
...
]Update labels to chat
PUT /api/{session}/labels/chats/{chatId}/Upsert label:
👉 You need to provide the full list of labels you want to set to the chat. All other labels will be removed.
{
"labels": [
{
"id": "1"
}
]
}Remove labels:
{
"labels": []
}Events
Read more about 🔄 Events.
label.upsert
{
"event": "label.upsert",
"session": "default",
"payload": {
"id": "10",
"name": "Label Name",
"color": 14,
"colorHex": "#00a0f2"
},
"engine": "NOWEB",
...
}label.deleted
{
"event": "label.deleted",
"session": "default",
"payload": {
"id": "10",
"name": "",
"color": 14,
"colorHex": "#00a0f2"
},
"engine": "NOWEB",
...
}label.chat.added
{
"event": "label.chat.added",
"session": "default",
"payload": {
"labelId": "6",
"chatId": "11111111111@c.us",
"label": null // Note: This can be null right after scanning QR code
},
"engine": "NOWEB",
...
}label.chat.deleted
{
"event": "label.chat.deleted",
"session": "default",
"payload": {
"labelId": "6",
"chatId": "11111111111@c.us",
"label": null
},
"engine": "NOWEB",
...
}