Read a Persona operator nonce
curl --request GET \
--url https://api.example.com/persona-operators/{did}/nonceimport requests
url = "https://api.example.com/persona-operators/{did}/nonce"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/persona-operators/{did}/nonce', 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/persona-operators/{did}/nonce",
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/persona-operators/{did}/nonce"
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/persona-operators/{did}/nonce")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/persona-operators/{did}/nonce")
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_bodyPersonas
Read a Persona operator nonce
Read the shared operator counter before a first Persona registration
Read a Persona operator nonce
curl --request GET \
--url https://api.example.com/persona-operators/{did}/nonceimport requests
url = "https://api.example.com/persona-operators/{did}/nonce"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/persona-operators/{did}/nonce', 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/persona-operators/{did}/nonce",
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/persona-operators/{did}/nonce"
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/persona-operators/{did}/nonce")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/persona-operators/{did}/nonce")
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_bodyRead the current Persona authorization nonce for an active operator DID. This works before that DID owns any Persona. The Directory reads finalized chain state. It returns
The counter is shared by that DID’s Persona operations. Obtain a fresh prepared payload if it changes before submission. A DNS challenge also returns this counter, and named Persona preparation can fill it in automatically.
404 when the DID does not exist and rejects deactivated DIDs.
This endpoint is part of the new Directory release, which has not yet been deployed to alpha.
string
required
Complete operator DID, URL-encoded.
curl --url 'https://directory.example.com/persona-operators/did%3Aopenpayload%3A1111111111111111111111/nonce'
{
"operator_did": "did:openpayload:1111111111111111111111",
"operator_nonce": "0"
}
Straight to the point
GET /persona-operators/{did}/nonce

