Get a customer
curl --request GET \
--url https://api.sandbox.rails.wayex.com/v1/customers/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.rails.wayex.com/v1/customers/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.rails.wayex.com/v1/customers/{id}")
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{
"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": {}
}Direct-route records
Get a customer
Returns the current record for one customer.
GET
/
v1
/
customers
/
{id}
Get a customer
curl --request GET \
--url https://api.sandbox.rails.wayex.com/v1/customers/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.rails.wayex.com/v1/customers/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.rails.wayex.com/v1/customers/{id}")
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{
"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": {}
}What this endpoint does
Returns the current record for one customer.When to use it
Use it for customer detail, support checks, and authoritative state after a webhook.Before you call
Authenticate with customer read access and pass a customer ID owned by the same tenant account.Money and balance effect
This is a read-only request. It does not reserve, debit, credit, or settle money.States and completion
The customer’sverificationStatus is in_progress, approved, rejected, or requires_action; each entitlements entry carries its own status from the same set. Both are authoritative at response time — only approved entitlements can be used.
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>.
Path Parameters
Response
The customer.
Unique Wayex identifier for this customer.
Minimum string length:
1The client account (counterparty) this customer belongs to. For API callers this is always your own account id.
Minimum string length:
1Whether the customer is an individual (natural person) or a business (legal entity).
Available options:
individual, business Show child attributes
Show child attributes
Current verification state. Value can only move on the customer's behalf once approved.
Available options:
in_progress, approved, rejected, requires_action The capabilities this customer is cleared for, granted as verification completes.
Show child attributes
Show child attributes
When the customer was created (ISO 8601).
Your own identifier for this customer, echoed back for cross-referencing.
Minimum string length:
1Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

