Get the current team
curl --request GET \
--url https://client-api.salesfinity.co/v1/team \
--header 'x-api-key: <api-key>'import requests
url = "https://client-api.salesfinity.co/v1/team"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://client-api.salesfinity.co/v1/team', 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://client-api.salesfinity.co/v1/team",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://client-api.salesfinity.co/v1/team"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://client-api.salesfinity.co/v1/team")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://client-api.salesfinity.co/v1/team")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"_id": "<string>",
"name": "<string>",
"users": [
{
"user": {
"_id": "<string>",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>"
},
"status": "<string>",
"license": "<string>"
}
]
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403,
"request_id": "0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"
}{
"message": "Rate limit of 300 requests per minute exceeded. Retry in 12s.",
"error": "Too Many Requests",
"statusCode": 429,
"request_id": "0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"
}{
"message": "Internal server error",
"error": "Internal Server Error",
"statusCode": 500,
"request_id": "0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"
}Team & Call Logs
Get the current team
Returns the team the API key belongs to: its ID, its name, and every member with their status and license. Read-only and safe to retry.
The team is returned inside data: { "data": { "_id": "...", "name": "...", "users": [...] } }. Members whose status is inactive are listed too.
A member’s user._id is the user ID the rest of the API takes: filters[user_ids][] on List call logs, user_ids on the analytics endpoints such as Get analytics overview, user_id on List scored calls, and user_id on Sequencer writes.
GET
/
v1
/
team
Get the current team
curl --request GET \
--url https://client-api.salesfinity.co/v1/team \
--header 'x-api-key: <api-key>'import requests
url = "https://client-api.salesfinity.co/v1/team"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://client-api.salesfinity.co/v1/team', 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://client-api.salesfinity.co/v1/team",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://client-api.salesfinity.co/v1/team"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://client-api.salesfinity.co/v1/team")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://client-api.salesfinity.co/v1/team")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"_id": "<string>",
"name": "<string>",
"users": [
{
"user": {
"_id": "<string>",
"email": "<string>",
"first_name": "<string>",
"last_name": "<string>"
},
"status": "<string>",
"license": "<string>"
}
]
}{
"message": "Forbidden resource",
"error": "Forbidden",
"statusCode": 403,
"request_id": "0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"
}{
"message": "Rate limit of 300 requests per minute exceeded. Retry in 12s.",
"error": "Too Many Requests",
"statusCode": 429,
"request_id": "0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"
}{
"message": "Internal server error",
"error": "Internal Server Error",
"statusCode": 500,
"request_id": "0f6d3c52-9f3e-4c1a-a4b8-2b1f7e5d9c10"
}This call takes no parameters and changes nothing, which makes it the quickest way to check that an
API key works and to look up user IDs.
Inactive members stay on the list. The analytics endpoints count only active members unless you
pass their IDs in
Example
curl https://client-api.salesfinity.co/v1/team \
--header 'x-api-key: YOUR_API_KEY'
{
"data": {
"_id": "64d2b3f2c4e3a6b8f2d9e1a0",
"name": "Acme Sales",
"users": [
{
"user": {
"_id": "64d2b3f2c4e3a6b8f2d9e1a7",
"email": "[email protected]",
"first_name": "Jane",
"last_name": "Smith"
},
"status": "active",
"license": "enterprise"
},
{
"user": {
"_id": "64d2b3f2c4e3a6b8f2d9e1b3",
"email": "[email protected]",
"first_name": "Sam",
"last_name": "Lee"
},
"status": "inactive",
"license": "gold"
}
]
}
}
The team is nested under
data, as in the example above. The response schema on this page lists
the team’s fields without that wrapper.Where the user ID goes
A member’suser._id is the user ID that other endpoints take.
| Endpoint | Parameter |
|---|---|
| List call logs | filters[user_ids][] |
| Get analytics overview, List call performance by contact list, List call performance by SDR | user_ids |
| List scored calls | user_id |
| Sequencer writes | user_id |
user_ids.Authorizations
Team-scoped API key generated in the Salesfinity dashboard under Settings → Connections → API & Webhooks. A missing or invalid key returns HTTP 403.