curl --request GET \
--url https://testnet.edel-api.xyz/v1/me \
--header 'Authorization: Bearer <token>'import requests
url = "https://testnet.edel-api.xyz/v1/me"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://testnet.edel-api.xyz/v1/me', 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://testnet.edel-api.xyz/v1/me",
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://testnet.edel-api.xyz/v1/me"
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://testnet.edel-api.xyz/v1/me")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://testnet.edel-api.xyz/v1/me")
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{
"version": "account-profile/v1",
"accountId": "<string>",
"accountIds": [
"<string>"
],
"environment": "local",
"email": {
"address": "<string>",
"verified": true
},
"signInProviders": [
{
"provider": "google",
"linkedAt": "<string>"
}
],
"passkeys": {
"version": "account-passkeys/v1",
"relyingPartyId": "<string>",
"passkeys": [
{
"passkeyId": "<string>",
"name": "<string>",
"createdAt": "<string>",
"relyingPartyId": "<string>",
"origin": "<string>",
"status": "usable_here"
}
]
},
"kyc": {
"version": "external-kyc-status/v1",
"required": true,
"providerAvailability": "unavailable",
"state": {
"status": "not_started",
"createdAtEpochMs": 1,
"updatedAtEpochMs": 1
}
},
"party": {
"version": "dfns-party-onboarding/v1",
"accountId": "<string>",
"partyId": null,
"status": "not_started"
},
"apiKeys": {
"version": "api-key-list/v1",
"keys": [
{
"keyId": "<string>",
"accountId": "<string>",
"principalKind": "agent",
"displayPrefix": "<string>",
"scopes": [
"read"
],
"state": "active",
"createdAtEpochMs": 1,
"expiresAtEpochMs": 1,
"revokedAtEpochMs": 1,
"lastUsedAtEpochMs": 1
}
]
},
"agentAccounts": [
{
"agentAccountId": "<string>",
"environment": "local",
"status": "identity_pending",
"createdAt": "<string>"
}
],
"unavailable": [
{
"section": "email",
"reason": "not_recorded"
}
]
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}Read the caller's own profile
Returns the caller’s profile in one answer: the sign-in email (its verified flag is null while no proof of the provider’s address check is stored), the linked sign-in providers, the passkeys with their status in this environment, the KYC status, the Canton Party binding, the API key metadata and the owner’s agent accounts. Each section reuses the shape of its own route. A section the API cannot read is null and listed in unavailable with its reason: not_recorded, not_configured, passkey_required (an API key never reads the key list) or dependency_unavailable. Requires the owner’s passkey session or an API key with the read scope.
Method and path: GET /v1/me
Authentication: DFNS trader bearer required.
Request schema: none.
Response schema: AccountProfileResponse.
Error envelope: ExternalRestError (external-rest-error/v1).
curl --request GET \
--url https://testnet.edel-api.xyz/v1/me \
--header 'Authorization: Bearer <token>'import requests
url = "https://testnet.edel-api.xyz/v1/me"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://testnet.edel-api.xyz/v1/me', 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://testnet.edel-api.xyz/v1/me",
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://testnet.edel-api.xyz/v1/me"
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://testnet.edel-api.xyz/v1/me")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://testnet.edel-api.xyz/v1/me")
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{
"version": "account-profile/v1",
"accountId": "<string>",
"accountIds": [
"<string>"
],
"environment": "local",
"email": {
"address": "<string>",
"verified": true
},
"signInProviders": [
{
"provider": "google",
"linkedAt": "<string>"
}
],
"passkeys": {
"version": "account-passkeys/v1",
"relyingPartyId": "<string>",
"passkeys": [
{
"passkeyId": "<string>",
"name": "<string>",
"createdAt": "<string>",
"relyingPartyId": "<string>",
"origin": "<string>",
"status": "usable_here"
}
]
},
"kyc": {
"version": "external-kyc-status/v1",
"required": true,
"providerAvailability": "unavailable",
"state": {
"status": "not_started",
"createdAtEpochMs": 1,
"updatedAtEpochMs": 1
}
},
"party": {
"version": "dfns-party-onboarding/v1",
"accountId": "<string>",
"partyId": null,
"status": "not_started"
},
"apiKeys": {
"version": "api-key-list/v1",
"keys": [
{
"keyId": "<string>",
"accountId": "<string>",
"principalKind": "agent",
"displayPrefix": "<string>",
"scopes": [
"read"
],
"state": "active",
"createdAtEpochMs": 1,
"expiresAtEpochMs": 1,
"revokedAtEpochMs": 1,
"lastUsedAtEpochMs": 1
}
]
},
"agentAccounts": [
{
"agentAccountId": "<string>",
"environment": "local",
"status": "identity_pending",
"createdAt": "<string>"
}
],
"unavailable": [
{
"section": "email",
"reason": "not_recorded"
}
]
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}{
"version": "external-rest-error/v1",
"requestId": "<string>",
"code": "invalid_request",
"safeMessage": "<string>",
"retryable": true,
"recoveryActions": [
"none"
],
"occurredAtEpochMs": 1,
"realtimeTicketFailure": "invalid",
"apiKeyRejection": "malformed",
"agentRefusal": "agents_not_admitted_in_environment",
"rejectionGuard": "amount_atoms_invalid",
"withdrawalFailure": "requested",
"dependency": "dfns"
}Authorizations
The authorization field takes the session bearer returned by sign-in, or an API key where the route allows keys. Paste the token itself into the authorization field.
Response
Success
"account-profile/v1"111local, development, staging, production Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes