curl --request GET \
--url https://api.finosu.com/customers \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.finosu.com/customers"
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://api.finosu.com/customers', 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.finosu.com/customers",
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://api.finosu.com/customers"
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://api.finosu.com/customers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finosu.com/customers")
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>",
"firstName": "<string>",
"lastName": "<string>",
"email": "[email protected]",
"birthday": "2023-12-25",
"ssnLastFour": "<string>",
"timezone": "<string>",
"phoneNumber": "<string>",
"streetAddress1": "<string>",
"streetAddress2": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"doNotCall": true,
"isTest": true,
"taskType": "<string>",
"externalMetadata": {}
}
]{
"error": 123,
"message": "<string>"
}Get Customers
Returns all customers from the system that the user has access to
curl --request GET \
--url https://api.finosu.com/customers \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.finosu.com/customers"
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://api.finosu.com/customers', 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.finosu.com/customers",
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://api.finosu.com/customers"
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://api.finosu.com/customers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finosu.com/customers")
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>",
"firstName": "<string>",
"lastName": "<string>",
"email": "[email protected]",
"birthday": "2023-12-25",
"ssnLastFour": "<string>",
"timezone": "<string>",
"phoneNumber": "<string>",
"streetAddress1": "<string>",
"streetAddress2": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"doNotCall": true,
"isTest": true,
"taskType": "<string>",
"externalMetadata": {}
}
]{
"error": 123,
"message": "<string>"
}Filtering Test Customers
Use thetest query parameter to control which customers are returned:
test=true- Returns only test customerstest=falseor omitted - Returns only non-test customers (default behavior)
test. It is unrelated to the
deprecated test body field on Create Customer,
which is being replaced by isTest — see the migration
window. Filtering here stays ?test=true
after that field is removed.Authorizations
Query Parameters
The maximum number of results to return
Filter for test customers only. If true, returns only test customers. If false or omitted, returns only non-test customers.
Response
Customer response
Unique identifier for the customer. This is your customer reference and should match your internal system's ID.
The first name of the customer
The last name of the customer
Customer email address
Customer birthday in YYYY-MM-DD format
Last 4 digits of SSN
Timezone of the customer (IANA timezone name, e.g., 'America/New_York', 'America/Los_Angeles')
Phone number of the customer
Street address line 1
Street address line 2 (optional)
City name
State code (e.g., NY, CA)
ZIP/postal code
Do not call the customer
Indicates if this is a test customer
Type of tasks created for the customer's automated call schedule
Additional custom metadata about the customer