Update Eligible Users
curl --request PUT \
--url https://backend.nebuly.com/api/external/eligible-users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"users": [
{
"end_user": "<string>",
"tags": {},
"active_from": "<string>",
"active_to": "<string>"
}
]
}
'import requests
url = "https://backend.nebuly.com/api/external/eligible-users"
payload = { "users": [
{
"end_user": "<string>",
"tags": {},
"active_from": "<string>",
"active_to": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
users: [
{end_user: '<string>', tags: {}, active_from: '<string>', active_to: '<string>'}
]
})
};
fetch('https://backend.nebuly.com/api/external/eligible-users', 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://backend.nebuly.com/api/external/eligible-users",
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([
'users' => [
[
'end_user' => '<string>',
'tags' => [
],
'active_from' => '<string>',
'active_to' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://backend.nebuly.com/api/external/eligible-users"
payload := strings.NewReader("{\n \"users\": [\n {\n \"end_user\": \"<string>\",\n \"tags\": {},\n \"active_from\": \"<string>\",\n \"active_to\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://backend.nebuly.com/api/external/eligible-users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"users\": [\n {\n \"end_user\": \"<string>\",\n \"tags\": {},\n \"active_from\": \"<string>\",\n \"active_to\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://backend.nebuly.com/api/external/eligible-users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"users\": [\n {\n \"end_user\": \"<string>\",\n \"tags\": {},\n \"active_from\": \"<string>\",\n \"active_to\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{ "users":
[
{
"end_user": "alice@example.com",
"tags": {
"Product Tier": "Premium",
"Country": "US"
},
"active_from": "2026-01-01",
},
{
"end_user": "bob@example.com",
"tags": {
"Product Tier": "Standard",
"Country": "CA"
},
"active_from": "2025-06-23",
"active_to": "2026-01-12"
}
]
}
Eligible Users
Update Eligible Users
PUT
/
api
/
external
/
eligible-users
Update Eligible Users
curl --request PUT \
--url https://backend.nebuly.com/api/external/eligible-users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"users": [
{
"end_user": "<string>",
"tags": {},
"active_from": "<string>",
"active_to": "<string>"
}
]
}
'import requests
url = "https://backend.nebuly.com/api/external/eligible-users"
payload = { "users": [
{
"end_user": "<string>",
"tags": {},
"active_from": "<string>",
"active_to": "<string>"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
users: [
{end_user: '<string>', tags: {}, active_from: '<string>', active_to: '<string>'}
]
})
};
fetch('https://backend.nebuly.com/api/external/eligible-users', 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://backend.nebuly.com/api/external/eligible-users",
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([
'users' => [
[
'end_user' => '<string>',
'tags' => [
],
'active_from' => '<string>',
'active_to' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://backend.nebuly.com/api/external/eligible-users"
payload := strings.NewReader("{\n \"users\": [\n {\n \"end_user\": \"<string>\",\n \"tags\": {},\n \"active_from\": \"<string>\",\n \"active_to\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://backend.nebuly.com/api/external/eligible-users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"users\": [\n {\n \"end_user\": \"<string>\",\n \"tags\": {},\n \"active_from\": \"<string>\",\n \"active_to\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://backend.nebuly.com/api/external/eligible-users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"users\": [\n {\n \"end_user\": \"<string>\",\n \"tags\": {},\n \"active_from\": \"<string>\",\n \"active_to\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{ "users":
[
{
"end_user": "alice@example.com",
"tags": {
"Product Tier": "Premium",
"Country": "US"
},
"active_from": "2026-01-01",
},
{
"end_user": "bob@example.com",
"tags": {
"Product Tier": "Standard",
"Country": "CA"
},
"active_from": "2025-06-23",
"active_to": "2026-01-12"
}
]
}
This endpoint allows you to update existing eligible users. A match is made using the
end_user field, and any metadata (such as tags, active_from, or active_to) is replaced accordingly.
You need an API key to authenticate. See here for more information about the API keys.
A list of user objects to update.
Show properties
Show properties
The identifier used for the end-user you want to update.
A dictionary of key-values that should be associated with the user.
When the user started being active on the platform.
When the user was deactivated (if applicable).
The list of users that were successfully updated.
Show properties
Show properties
The identifier used for the end-user you want to update.
A dictionary of key-values that should be associated with the user.
When the user started being active on the platform.
When the user was deactivated (if applicable).
{ "users":
[
{
"end_user": "alice@example.com",
"tags": {
"Product Tier": "Premium",
"Country": "US"
},
"active_from": "2026-01-01",
},
{
"end_user": "bob@example.com",
"tags": {
"Product Tier": "Standard",
"Country": "CA"
},
"active_from": "2025-06-23",
"active_to": "2026-01-12"
}
]
}
⌘I