curl --request GET \
--url https://api.bridge.xyz/v0/customers/{customerID} \
--header 'Api-Key: <api-key>'import requests
url = "https://api.bridge.xyz/v0/customers/{customerID}"
headers = {"Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Api-Key': '<api-key>'}};
fetch('https://api.bridge.xyz/v0/customers/{customerID}', 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.bridge.xyz/v0/customers/{customerID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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.bridge.xyz/v0/customers/{customerID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("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.bridge.xyz/v0/customers/{customerID}")
.header("Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridge.xyz/v0/customers/{customerID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "00000000-0000-0000-0000-000000000000",
"first_name": "John",
"last_name": "Doe",
"email": "johndoe@example.com",
"client_reference_id": "your_internal_id_123",
"status": "active",
"type": "individual",
"persona_inquiry_type": "gov_id_db",
"created_at": "2025-11-19T21:14:58.328Z",
"updated_at": "2025-11-19T21:16:02.894Z",
"rejection_reasons": [],
"has_accepted_terms_of_service": true,
"endorsements": [
{
"name": "base",
"status": "approved",
"requirements": {
"complete": [
"terms_of_service_v1",
"first_name",
"last_name",
"tax_identification_number",
"email_address",
"address_of_residence",
"date_of_birth",
"proof_of_address",
"sanctions_screen",
"pep_screen",
"blocklist_lookup",
"min_age_18",
"selfie_verification",
"government_id_rejection_checks_passed",
"government_id_review_checks_passed",
"government_id_reliance",
"post_processing"
],
"pending": [],
"missing": null,
"issues": []
}
},
{
"name": "sepa",
"status": "approved",
"requirements": {
"complete": [
"terms_of_service_v2",
"first_name",
"last_name",
"tax_identification_number",
"email_address",
"address_of_residence",
"date_of_birth",
"proof_of_address",
"sanctions_screen",
"pep_screen",
"blocklist_lookup",
"min_age_18",
"selfie_verification",
"government_id_rejection_checks_passed",
"government_id_review_checks_passed",
"government_id_reliance"
],
"pending": [],
"missing": null,
"issues": []
}
}
],
"future_requirements_due": [],
"requirements_due": [
"external_account"
],
"capabilities": {
"payin_crypto": "active",
"payout_crypto": "active",
"payin_fiat": "pending",
"payout_fiat": "pending"
}
}Get a single customer object
Retrieve a customer object from the passed in customer ID
curl --request GET \
--url https://api.bridge.xyz/v0/customers/{customerID} \
--header 'Api-Key: <api-key>'import requests
url = "https://api.bridge.xyz/v0/customers/{customerID}"
headers = {"Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Api-Key': '<api-key>'}};
fetch('https://api.bridge.xyz/v0/customers/{customerID}', 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.bridge.xyz/v0/customers/{customerID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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.bridge.xyz/v0/customers/{customerID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("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.bridge.xyz/v0/customers/{customerID}")
.header("Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bridge.xyz/v0/customers/{customerID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "00000000-0000-0000-0000-000000000000",
"first_name": "John",
"last_name": "Doe",
"email": "johndoe@example.com",
"client_reference_id": "your_internal_id_123",
"status": "active",
"type": "individual",
"persona_inquiry_type": "gov_id_db",
"created_at": "2025-11-19T21:14:58.328Z",
"updated_at": "2025-11-19T21:16:02.894Z",
"rejection_reasons": [],
"has_accepted_terms_of_service": true,
"endorsements": [
{
"name": "base",
"status": "approved",
"requirements": {
"complete": [
"terms_of_service_v1",
"first_name",
"last_name",
"tax_identification_number",
"email_address",
"address_of_residence",
"date_of_birth",
"proof_of_address",
"sanctions_screen",
"pep_screen",
"blocklist_lookup",
"min_age_18",
"selfie_verification",
"government_id_rejection_checks_passed",
"government_id_review_checks_passed",
"government_id_reliance",
"post_processing"
],
"pending": [],
"missing": null,
"issues": []
}
},
{
"name": "sepa",
"status": "approved",
"requirements": {
"complete": [
"terms_of_service_v2",
"first_name",
"last_name",
"tax_identification_number",
"email_address",
"address_of_residence",
"date_of_birth",
"proof_of_address",
"sanctions_screen",
"pep_screen",
"blocklist_lookup",
"min_age_18",
"selfie_verification",
"government_id_rejection_checks_passed",
"government_id_review_checks_passed",
"government_id_reliance"
],
"pending": [],
"missing": null,
"issues": []
}
}
],
"future_requirements_due": [],
"requirements_due": [
"external_account"
],
"capabilities": {
"payin_crypto": "active",
"payout_crypto": "active",
"payin_fiat": "pending",
"payout_fiat": "pending"
}
}Authorizations
Path Parameters
A UUID that uniquely identifies a resource
1 - 42[a-z0-9]*Response
Successful customer object response
A UUID that uniquely identifies a resource
1 - 42[a-z0-9]*1 - 10241 - 10241 - 1024offboarded: represents a customer's account that was internally reviewed and closed due to suspicious activity.
paused: represents a customer's account that is currently under review because of activity on the platform.
deposits_restricted: represents a customer's account that is currently restricted from making new deposits because of activity on the platform.
active, awaiting_questionnaire, awaiting_ubo, deposits_restricted, incomplete, not_started, offboarded, paused, rejected, under_review Show child attributes
Show child attributes
This field is deprecated. See endorsements.missing instead.
id_verification KYC requirements still needed to be completed. Please consult our KYC guide on how to resolve each requirement.
external_account, id_verification Time of creation of the customer
Time of last update of the customer
Reasons why a customer KYC was rejected
Show child attributes
Show child attributes
Whether the customer has accepted the terms of service.
Caller-provided identifier used to correlate this customer with your internal records. Returned in API and webhook responses.
1 - 256A summary of whether the customer has received approvals to complete onboarding or use certain products/services offered by Bridge.
Show child attributes
Show child attributes
Was this page helpful?