curl --request GET \
--url https://api.sandbox.sardine.ai/v1/identity/entities/{customerId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.sandbox.sardine.ai/v1/identity/entities/{customerId}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.sandbox.sardine.ai/v1/identity/entities/{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.sandbox.sardine.ai/v1/identity/entities/{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 => [
"Authorization: Basic <encoded-value>"
],
]);
$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.sardine.ai/v1/identity/entities/{customerId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.sardine.ai/v1/identity/entities/{customerId}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.sardine.ai/v1/identity/entities/{customerId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"documentKyc": {
"front": "<string>",
"back": "<string>",
"selfie": "<string>"
},
"documentData": {
"documentType": "DRIVERS_LICENSE",
"documentNumber": "D1234567",
"dateOfBirth": "1990-06-15",
"expiryDate": "2028-06-15",
"issuingCountry": "US",
"firstName": "Jane",
"lastName": "Smith",
"gender": "F",
"address": {
"street": "123 Main St",
"city": "San Francisco",
"region": "CA",
"postalCode": "94105"
}
},
"profile": {
"clientId": "acme-corp",
"userId": "3f8c1a22-1234-4abc-9def-000000000001",
"consentId": "b1c2d3e4-5678-4abc-9def-000000000002",
"consentedAt": "2026-05-01T10:30:00Z",
"revokedAt": null,
"primaryIdentity": false,
"clientName": "Acme Corp",
"fullName": "Jane Smith",
"dateOfBirth": "1990-06-15",
"emailAddress": "jane@example.com",
"phoneNumber": "+14155551234",
"address": {
"street": "123 Main St",
"city": "San Francisco",
"region": "CA",
"postalCode": "94105"
}
},
"level": "low",
"customer": {}
}{
"error": "Customer not found for customer ID",
"status": 400
}Get Customer Identity
Returns the verified identity data for a customer, including profile, document data, and document images. The response is gated by the user’s consent:
profilefields are returned when theprofilescope was consented -documentKycanddocumentDataare returned when thedoc_kycscope was consented If the identity belongs to another client, a validkyc_sharingconsent record (consented and not revoked) must exist.
curl --request GET \
--url https://api.sandbox.sardine.ai/v1/identity/entities/{customerId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.sandbox.sardine.ai/v1/identity/entities/{customerId}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.sandbox.sardine.ai/v1/identity/entities/{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.sandbox.sardine.ai/v1/identity/entities/{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 => [
"Authorization: Basic <encoded-value>"
],
]);
$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.sardine.ai/v1/identity/entities/{customerId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
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.sardine.ai/v1/identity/entities/{customerId}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.sardine.ai/v1/identity/entities/{customerId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"documentKyc": {
"front": "<string>",
"back": "<string>",
"selfie": "<string>"
},
"documentData": {
"documentType": "DRIVERS_LICENSE",
"documentNumber": "D1234567",
"dateOfBirth": "1990-06-15",
"expiryDate": "2028-06-15",
"issuingCountry": "US",
"firstName": "Jane",
"lastName": "Smith",
"gender": "F",
"address": {
"street": "123 Main St",
"city": "San Francisco",
"region": "CA",
"postalCode": "94105"
}
},
"profile": {
"clientId": "acme-corp",
"userId": "3f8c1a22-1234-4abc-9def-000000000001",
"consentId": "b1c2d3e4-5678-4abc-9def-000000000002",
"consentedAt": "2026-05-01T10:30:00Z",
"revokedAt": null,
"primaryIdentity": false,
"clientName": "Acme Corp",
"fullName": "Jane Smith",
"dateOfBirth": "1990-06-15",
"emailAddress": "jane@example.com",
"phoneNumber": "+14155551234",
"address": {
"street": "123 Main St",
"city": "San Francisco",
"region": "CA",
"postalCode": "94105"
}
},
"level": "low",
"customer": {}
}{
"error": "Customer not found for customer ID",
"status": 400
}Authorizations
HTTP Basic Auth. Use your clientId as the username and clientSecret as the password.
Path Parameters
Sardine customer UUID returned from POST /identity/entities
Response
Identity data for the customer
Document images, present only when doc_kyc scope was consented
Show child attributes
Show child attributes
Extracted document fields, present only when doc_kyc scope was consented
Show child attributes
Show child attributes
Profile data, present only when profile scope was consented
Show child attributes
Show child attributes
Risk level of the user (high, medium, low). Present when risk enrichment is enabled for the client.
high, medium, low "low"
Full risk customer object from the Sardine risk engine. Present when risk enrichment is enabled.