curl --request GET \
--url https://api.example.com/userimport requests
url = "https://api.example.com/user"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/user', 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.example.com/user",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/user"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/user")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"contacts": [
{
"id": "did:web:humanos.tech:user:73ebefdd-a549-4873-aad9-def80c40c8c8",
"contact": "user@example.com"
}
],
"identityStatus": "HUMANOS",
"organization": {
"contacts": [
"user@example.com",
"+351912345678"
]
},
"createdAt": "2025-01-15T09:30:00.000Z",
"internalId": "internal-12345"
}{
"statusCode": 400,
"message": "Exactly one search parameter must be provided: contact, id, or internalId",
"error": "Bad Request"
}{
"statusCode": 404,
"message": "User not found",
"error": "Not Found"
}Get User
Retrieves detailed information about a user. Search by exactly one parameter: contact, id, or internalId. Only one must be provided.
curl --request GET \
--url https://api.example.com/userimport requests
url = "https://api.example.com/user"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/user', 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.example.com/user",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/user"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/user")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/user")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"contacts": [
{
"id": "did:web:humanos.tech:user:73ebefdd-a549-4873-aad9-def80c40c8c8",
"contact": "user@example.com"
}
],
"identityStatus": "HUMANOS",
"organization": {
"contacts": [
"user@example.com",
"+351912345678"
]
},
"createdAt": "2025-01-15T09:30:00.000Z",
"internalId": "internal-12345"
}{
"statusCode": 400,
"message": "Exactly one search parameter must be provided: contact, id, or internalId",
"error": "Bad Request"
}{
"statusCode": 404,
"message": "User not found",
"error": "Not Found"
}Headers
Pin request, response, and webhook shapes to a specific dated API version (YYYY-MM-DD). Omit to use the version pinned to your API key (set when the key is created; new keys default to the latest version). New integrations should target the latest version.
^\d{4}-\d{2}-\d{2}$"2026-09-01"
Query Parameters
Verified contact value (email or phone)
"user@example.com"
User's VIA identifier
"did:web:humanos.tech:user:73ebefdd-a549-4873-aad9-def80c40c8c8"
Identifier to help you identify the user in your own system. We recommend using a unique value.
"internal-12345"
Response
The user's verified contacts (each with its DID), identity status, internal ID, organization-collected contacts, and registration date. Identity data itself is never returned by this endpoint.
List of verified contacts associated with the user
Show child attributes
Show child attributes
Identity status of the subject within the issuer
- NONE: no identity verified
- KYC: this user has an identity within your organization
- HUMANOS: this user has a Humanos-verified identity
NONE, KYC, HUMANOS "HUMANOS"
Contacts collected by your organization for this user. Identity data is never exposed through this API.
Show child attributes
Show child attributes
Date the subject was first registered
"2025-01-15T09:30:00.000Z"
Identifier to help you identify the user in your own system. We recommend using a unique value.
"internal-12345"