Tags
Replace an end user's tags
Set the end user’s tags to exactly the tags given, adding and removing as needed. Send an empty list to clear every tag. Every tag heron_id must exist, otherwise nothing changes. Where your access is restricted by tag, this replaces only the tags you hold: any other tag already on the end user stays applied, so the response can include tags you did not send.
PUT
/
api
/
end_users
/
{end_user_id_or_heron_id}
/
tags
Replace an end user's tags
curl --request PUT \
--url https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"tags": [
"<string>"
]
}
'import requests
url = "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags"
payload = { "tags": ["<string>"] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({tags: ['<string>']})
};
fetch('https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags', 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://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'tags' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags"
payload := strings.NewReader("{\n \"tags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<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.put("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"tags": [
{
"name": "<string>",
"color": "<string>",
"description": "<string>",
"heron_id": "<string>",
"is_system_managed": true
}
]
}Was this page helpful?
⌘I
Replace an end user's tags
curl --request PUT \
--url https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"tags": [
"<string>"
]
}
'import requests
url = "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags"
payload = { "tags": ["<string>"] }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({tags: ['<string>']})
};
fetch('https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags', 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://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'tags' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags"
payload := strings.NewReader("{\n \"tags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<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.put("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"tags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/tags")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"tags": [
{
"name": "<string>",
"color": "<string>",
"description": "<string>",
"heron_id": "<string>",
"is_system_managed": true
}
]
}