curl --request POST \
--url https://api.attention.tech/v2/labels \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": true,
"allTeams": false,
"options": [
{
"value": "high-intent",
"description": "Prospect has explicit buying signals"
}
]
}
'import requests
url = "https://api.attention.tech/v2/labels"
payload = {
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": True,
"allTeams": False,
"options": [
{
"value": "high-intent",
"description": "Prospect has explicit buying signals"
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Buying Signal',
description: 'Conversations where the prospect expresses a buying signal.',
aiFlow: true,
allTeams: false,
options: [{value: 'high-intent', description: 'Prospect has explicit buying signals'}]
})
};
fetch('https://api.attention.tech/v2/labels', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.attention.tech/v2/labels",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Buying Signal',
'description' => 'Conversations where the prospect expresses a buying signal.',
'aiFlow' => true,
'allTeams' => false,
'options' => [
[
'value' => 'high-intent',
'description' => 'Prospect has explicit buying signals'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.attention.tech/v2/labels"
payload := strings.NewReader("{\n \"name\": \"Buying Signal\",\n \"description\": \"Conversations where the prospect expresses a buying signal.\",\n \"aiFlow\": true,\n \"allTeams\": false,\n \"options\": [\n {\n \"value\": \"high-intent\",\n \"description\": \"Prospect has explicit buying signals\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.attention.tech/v2/labels")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Buying Signal\",\n \"description\": \"Conversations where the prospect expresses a buying signal.\",\n \"aiFlow\": true,\n \"allTeams\": false,\n \"options\": [\n {\n \"value\": \"high-intent\",\n \"description\": \"Prospect has explicit buying signals\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attention.tech/v2/labels")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Buying Signal\",\n \"description\": \"Conversations where the prospect expresses a buying signal.\",\n \"aiFlow\": true,\n \"allTeams\": false,\n \"options\": [\n {\n \"value\": \"high-intent\",\n \"description\": \"Prospect has explicit buying signals\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"uuid": "fe515723-fe2e-4959-a5fa-c4d3937fe7e4",
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": true,
"allTeams": false,
"isDefaultTemplate": false,
"options": [],
"organizationUUID": "16b78cec-82ef-46d2-8213-5d3bb7d2571c",
"createdAt": "2026-04-16T18:00:00Z"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}Create Label
Creates a new label in the caller’s organization. The label name must be unique within the organization; attempting to create a duplicate returns 409. On a network retry after a successful first request, clients may observe a 409 and should fetch the label by name to confirm creation.
curl --request POST \
--url https://api.attention.tech/v2/labels \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": true,
"allTeams": false,
"options": [
{
"value": "high-intent",
"description": "Prospect has explicit buying signals"
}
]
}
'import requests
url = "https://api.attention.tech/v2/labels"
payload = {
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": True,
"allTeams": False,
"options": [
{
"value": "high-intent",
"description": "Prospect has explicit buying signals"
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Buying Signal',
description: 'Conversations where the prospect expresses a buying signal.',
aiFlow: true,
allTeams: false,
options: [{value: 'high-intent', description: 'Prospect has explicit buying signals'}]
})
};
fetch('https://api.attention.tech/v2/labels', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.attention.tech/v2/labels",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Buying Signal',
'description' => 'Conversations where the prospect expresses a buying signal.',
'aiFlow' => true,
'allTeams' => false,
'options' => [
[
'value' => 'high-intent',
'description' => 'Prospect has explicit buying signals'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.attention.tech/v2/labels"
payload := strings.NewReader("{\n \"name\": \"Buying Signal\",\n \"description\": \"Conversations where the prospect expresses a buying signal.\",\n \"aiFlow\": true,\n \"allTeams\": false,\n \"options\": [\n {\n \"value\": \"high-intent\",\n \"description\": \"Prospect has explicit buying signals\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.attention.tech/v2/labels")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Buying Signal\",\n \"description\": \"Conversations where the prospect expresses a buying signal.\",\n \"aiFlow\": true,\n \"allTeams\": false,\n \"options\": [\n {\n \"value\": \"high-intent\",\n \"description\": \"Prospect has explicit buying signals\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attention.tech/v2/labels")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Buying Signal\",\n \"description\": \"Conversations where the prospect expresses a buying signal.\",\n \"aiFlow\": true,\n \"allTeams\": false,\n \"options\": [\n {\n \"value\": \"high-intent\",\n \"description\": \"Prospect has explicit buying signals\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"uuid": "fe515723-fe2e-4959-a5fa-c4d3937fe7e4",
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": true,
"allTeams": false,
"isDefaultTemplate": false,
"options": [],
"organizationUUID": "16b78cec-82ef-46d2-8213-5d3bb7d2571c",
"createdAt": "2026-04-16T18:00:00Z"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}{
"id": "not_found_error",
"status": "404",
"code": "404",
"title": "Not Found Error",
"detail": "The requested resource was not found",
"source": {
"pointer": "/data/attributes/id"
}
}Authorizations
Body
Details of the label to create.
Payload for creating a new label in the authenticated organization. The organization UUID is derived from the API key and must not be supplied in the body.
Human-readable label name. Trimmed before validation. Must be unique within the organization.
1 - 128"Buying Signal"
Optional description of the label. 0 to 2000 characters.
2000"Conversations where the prospect expresses a buying signal."
Whether this label participates in the AI flow (auto-classification during conversation post-processing). Defaults to false.
true
Whether this label applies to all teams in the organization. Defaults to false.
false
Optional set of selectable values when the label is a multi-value enum. Omit or send an empty array for binary labels.
Show child attributes
Show child attributes
Response
Label successfully created
Single-resource response envelope for label endpoints.
A label (label category) used to classify conversations and drive AI flows, scorecard criteria, and intelligence-item-collection criteria. Labels are scoped to a single organization.
Show child attributes
Show child attributes
{
"uuid": "fe515723-fe2e-4959-a5fa-c4d3937fe7e4",
"name": "Buying Signal",
"description": "Conversations where the prospect expresses a buying signal.",
"aiFlow": true,
"allTeams": false,
"isDefaultTemplate": false,
"options": [
{
"value": "high-intent",
"description": "Prospect has explicit buying signals"
}
],
"organizationUUID": "16b78cec-82ef-46d2-8213-5d3bb7d2571c",
"createdAt": "2026-04-16T18:00:00Z"
}
Was this page helpful?