List customers
curl --request GET \
--url https://api.sandbox.rails.wayex.com/v1/customers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.rails.wayex.com/v1/customers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.rails.wayex.com/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.sandbox.rails.wayex.com/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 => [
"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.sandbox.rails.wayex.com/v1/customers"
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.sandbox.rails.wayex.com/v1/customers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.rails.wayex.com/v1/customers")
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{
"data": [
{
"id": "<string>",
"counterpartyId": "<string>",
"type": "individual",
"contact": {
"email": "jsmith@example.com",
"name": "<string>"
},
"verificationStatus": "in_progress",
"entitlements": [
{
"entitlement": "aud_onramp",
"status": "in_progress"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"externalCustomerId": "<string>",
"businessDetails": {
"companyName": "<string>",
"registrationNumber": "<string>",
"country": "<string>"
},
"individualDetails": {
"firstName": "<string>",
"lastName": "<string>",
"dob": "<string>",
"nationality": "<string>",
"country": "<string>"
},
"metadata": {}
}
],
"hasMore": true,
"nextCursor": "<string>"
}Direct-route records
List customers
Lists end customers onboarded under the current tenant account.
GET
/
v1
/
customers
List customers
curl --request GET \
--url https://api.sandbox.rails.wayex.com/v1/customers \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.rails.wayex.com/v1/customers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.rails.wayex.com/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.sandbox.rails.wayex.com/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 => [
"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.sandbox.rails.wayex.com/v1/customers"
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.sandbox.rails.wayex.com/v1/customers")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.rails.wayex.com/v1/customers")
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{
"data": [
{
"id": "<string>",
"counterpartyId": "<string>",
"type": "individual",
"contact": {
"email": "jsmith@example.com",
"name": "<string>"
},
"verificationStatus": "in_progress",
"entitlements": [
{
"entitlement": "aud_onramp",
"status": "in_progress"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"externalCustomerId": "<string>",
"businessDetails": {
"companyName": "<string>",
"registrationNumber": "<string>",
"country": "<string>"
},
"individualDetails": {
"firstName": "<string>",
"lastName": "<string>",
"dob": "<string>",
"nationality": "<string>",
"country": "<string>"
},
"metadata": {}
}
],
"hasMore": true,
"nextCursor": "<string>"
}What this endpoint does
Lists end customers onboarded under the current tenant account.When to use it
Use it to build customer search, onboarding queues, and links into customer detail.Before you call
Authenticate with an API key that can read this resource. Results are restricted to the tenant account bound to that key.Money and balance effect
This is a read-only request. It does not reserve, debit, credit, or settle money.States and completion
Customer and verification states are snapshots. Fetch the customer or its entitlements when you need current eligibility.Safe retries
GET requests are read-only and may be retried with normal exponential backoff. Do not send anIdempotency-Key.
Read Customers for the complete workflow.Authorizations
BearerApiKey
Send the same Wayex API key as Authorization: Bearer <key>.
Query Parameters
Admin keys only: scope results to the given client account (counterparty). Non-admin callers passing this parameter receive 403 — it is never silently ignored.
Example:
25

