API v1Labels
Create a label
posthttps://api.whatsable.app/v1/labels
Build a request to copy
This page never sends a request. Fill in the fields, then copy the request and run it from your server.
Request
curl -X POST 'https://api.whatsable.app/v1/labels' \
-H 'Content-Type: application/json' \
-d '{
"name": "VIP",
"color": "label-2",
"keywords": [
"vip"
]
}'bearerAuthheader
AuthorizationBearer <nfy_live_<32 characters>>An API key from Settings > API keys, sent as Authorization: Bearer <key>.
Idempotency-Key?stringAny string up to 255 characters. A repeat with the same key and body answers the stored response; with another body, 409 idempotency_key_reused.
Length
length <= 255application/json- body
A label to create. Names are unique ignoring case and accents.
name*stringLength
1 <= length <= 60color*stringValue in
"label-1""label-2""label-3""label-4""label-5""label-6"description?stringLength
length <= 280keywords?array<>Items
items <= 20number_ids?array<>Limit the label to these numbers. Empty or absent means every number.
Items
items <= 50The label.
application/json- response
A label the organization tags contacts with.
object*stringid*stringLength
1 <= length <= 64name*stringcolor*stringOne of six palette slots the dashboard draws.
Value in
"label-1""label-2""label-3""label-4""label-5""label-6"description*string|nullkeywords*array<string>Words that apply the label automatically to an inbound message, stored normalized.
number_ids*array<>The numbers the label is limited to. Empty means every number.
created_at*stringFormat
date-timeupdated_at*stringFormat
date-timecurl -X POST 'https://api.whatsable.app/v1/labels' \ -H 'Content-Type: application/json' \ -d '{ "name": "VIP", "color": "label-2", "keywords": [ "vip" ]}'Example Response
{ "object": "label", "id": "cm2v8l1a00001qz8h2b3c4d5e", "name": "VIP", "color": "label-2", "description": "Customers with more than five orders", "keywords": [ "vip" ], "number_ids": [], "created_at": "2026-09-01T12:00:00Z", "updated_at": "2026-09-01T12:00:00Z"}