curl --request GET \
--url https://api.reply.io/v3/whoami/team-users \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.reply.io/v3/whoami/team-users"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.reply.io/v3/whoami/team-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://api.reply.io/v3/whoami/team-users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.reply.io/v3/whoami/team-users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.reply.io/v3/whoami/team-users")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.reply.io/v3/whoami/team-users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"teamId": 118,
"teamName": "Growth",
"userId": 10471,
"userName": "Olivia Martinez",
"userEmail": "olivia@example.com",
"isOwner": true,
"teamRole": null,
"organizationRole": null
},
{
"teamId": 118,
"teamName": "Growth",
"userId": 10482,
"userName": "Daniel Cooper",
"userEmail": "daniel@example.com",
"isOwner": false,
"teamRole": "Team Lead",
"organizationRole": "Admin"
}
]List team users
List the users you work with, pairing each with their team. Handy for turning a userId into a name and email address.
Each user also reports whether they own the workspace and which team and organization roles they hold, so you can tell members apart by role without a separate lookup.
curl --request GET \
--url https://api.reply.io/v3/whoami/team-users \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.reply.io/v3/whoami/team-users"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.reply.io/v3/whoami/team-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://api.reply.io/v3/whoami/team-users",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.reply.io/v3/whoami/team-users"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.reply.io/v3/whoami/team-users")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.reply.io/v3/whoami/team-users")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"teamId": 118,
"teamName": "Growth",
"userId": 10471,
"userName": "Olivia Martinez",
"userEmail": "olivia@example.com",
"isOwner": true,
"teamRole": null,
"organizationRole": null
},
{
"teamId": 118,
"teamName": "Growth",
"userId": 10482,
"userName": "Daniel Cooper",
"userEmail": "daniel@example.com",
"isOwner": false,
"teamRole": "Team Lead",
"organizationRole": "Admin"
}
]Authorizations
Authenticate every request with a Bearer token. Pass your Reply API key in the
Authorization header:
Authorization: Bearer <your-api-key>
Get your API key from the Reply dashboard: Settings → API Key.
Response
Team users retrieved successfully
The team (workspace) ID
The team (workspace) name
The user's ID
The user's display name
The user's email address
Whether the user owns the workspace (team)
The name of the permission role the user holds in this workspace, as shown in the workspace settings. null when the user holds no team role, which is the case for the workspace owner.
The name of the permission role the user holds in the organization, as shown in the organization settings. null when the user holds no organization role.