List Customers
curl --request GET \
--url https://api.daya.co/v1/customers \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/customers"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://api.daya.co/v1/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.daya.co/v1/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: <x-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.daya.co/v1/customers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-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.daya.co/v1/customers")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "650e8400-e29b-41d4-a716-446655440000",
"email": "customer@example.com",
"first_name": "John",
"last_name": "Doe",
"is_verified": false,
"tier_1_kyc_complete": false,
"tier_2_kyc_complete": false,
"capabilities": [],
"rejection_reasons": [],
"created_at": "2026-01-05T15:04:05Z",
"updated_at": "2026-01-05T15:04:05Z"
}
],
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
Customers
List Customers
List customers for the authenticated merchant
GET
/
v1
/
customers
List Customers
curl --request GET \
--url https://api.daya.co/v1/customers \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/customers"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://api.daya.co/v1/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.daya.co/v1/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: <x-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.daya.co/v1/customers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-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.daya.co/v1/customers")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/customers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "650e8400-e29b-41d4-a716-446655440000",
"email": "customer@example.com",
"first_name": "John",
"last_name": "Doe",
"is_verified": false,
"tier_1_kyc_complete": false,
"tier_2_kyc_complete": false,
"capabilities": [],
"rejection_reasons": [],
"created_at": "2026-01-05T15:04:05Z",
"updated_at": "2026-01-05T15:04:05Z"
}
],
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
Overview
Retrieve a paginated list of customers belonging to the authenticated merchant. Supports filtering by email.Authentication
string
required
Your merchant API key
Query Parameters
integer
Results per pageDefault:
50 | Max: 200integer
Page number to retrieveDefault:
1string
Filter by exact email addressExample:
customer@example.comRequest Example
curl --request GET \
--url 'https://api.daya.co/v1/customers?limit=50' \
--header 'X-Api-Key: YOUR_API_KEY'
curl --request GET \
--url 'https://api.daya.co/v1/customers?email=customer@example.com' \
--header 'X-Api-Key: YOUR_API_KEY'
Response
array
required
Array of customer objects
integer
required
Current page number
integer
required
Results per page
integer
required
Total number of customers matching the query
integer
required
Total number of pages available
Success Response
{
"data": [
{
"id": "650e8400-e29b-41d4-a716-446655440000",
"email": "customer@example.com",
"first_name": "John",
"last_name": "Doe",
"is_verified": false,
"tier_1_kyc_complete": false,
"tier_2_kyc_complete": false,
"capabilities": [],
"rejection_reasons": [],
"created_at": "2026-01-05T15:04:05Z",
"updated_at": "2026-01-05T15:04:05Z"
}
],
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
Pagination
This endpoint uses page-based pagination.- Make your initial request (optionally with
limitandpage) - Check
total_pagesto determine how many pages are available - Increment
pageto fetch subsequent pages until you reachtotal_pages