Get Create Account URL
curl --request POST \
--url https://api.example.com/client-interfaces/pmo/get-create-account-url \
--header 'Content-Type: application/json' \
--header 'User-Agent: <user-agent>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>' \
--data '
{
"TransactionId": "<string>",
"PersonalData": {
"FirstName": "<string>",
"LastName": "<string>",
"Gender": "<string>",
"Address": {
"CountryCode": "<string>",
"StateCode": "<string>",
"Address1": "<string>",
"Address2": "<string>",
"ZipCode": "<string>",
"City": "<string>"
},
"PhoneNumber": "<string>",
"Email": "<string>",
"MiddleName": "<string>",
"LastName2": "<string>",
"BirthDate": "<string>"
},
"PersonalDocuments": [
{
"Number": "<string>"
}
]
}
'import requests
url = "https://api.example.com/client-interfaces/pmo/get-create-account-url"
payload = {
"TransactionId": "<string>",
"PersonalData": {
"FirstName": "<string>",
"LastName": "<string>",
"Gender": "<string>",
"Address": {
"CountryCode": "<string>",
"StateCode": "<string>",
"Address1": "<string>",
"Address2": "<string>",
"ZipCode": "<string>",
"City": "<string>"
},
"PhoneNumber": "<string>",
"Email": "<string>",
"MiddleName": "<string>",
"LastName2": "<string>",
"BirthDate": "<string>"
},
"PersonalDocuments": [{ "Number": "<string>" }]
}
headers = {
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"User-Agent": "<user-agent>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'User-Agent': '<user-agent>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
TransactionId: '<string>',
PersonalData: {
FirstName: '<string>',
LastName: '<string>',
Gender: '<string>',
Address: {
CountryCode: '<string>',
StateCode: '<string>',
Address1: '<string>',
Address2: '<string>',
ZipCode: '<string>',
City: '<string>'
},
PhoneNumber: '<string>',
Email: '<string>',
MiddleName: '<string>',
LastName2: '<string>',
BirthDate: '<string>'
},
PersonalDocuments: [{Number: '<string>'}]
})
};
fetch('https://api.example.com/client-interfaces/pmo/get-create-account-url', 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/client-interfaces/pmo/get-create-account-url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'TransactionId' => '<string>',
'PersonalData' => [
'FirstName' => '<string>',
'LastName' => '<string>',
'Gender' => '<string>',
'Address' => [
'CountryCode' => '<string>',
'StateCode' => '<string>',
'Address1' => '<string>',
'Address2' => '<string>',
'ZipCode' => '<string>',
'City' => '<string>'
],
'PhoneNumber' => '<string>',
'Email' => '<string>',
'MiddleName' => '<string>',
'LastName2' => '<string>',
'BirthDate' => '<string>'
],
'PersonalDocuments' => [
[
'Number' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"User-Agent: <user-agent>",
"X-Signature: <x-signature>",
"X-Timestamp: <x-timestamp>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/client-interfaces/pmo/get-create-account-url"
payload := strings.NewReader("{\n \"TransactionId\": \"<string>\",\n \"PersonalData\": {\n \"FirstName\": \"<string>\",\n \"LastName\": \"<string>\",\n \"Gender\": \"<string>\",\n \"Address\": {\n \"CountryCode\": \"<string>\",\n \"StateCode\": \"<string>\",\n \"Address1\": \"<string>\",\n \"Address2\": \"<string>\",\n \"ZipCode\": \"<string>\",\n \"City\": \"<string>\"\n },\n \"PhoneNumber\": \"<string>\",\n \"Email\": \"<string>\",\n \"MiddleName\": \"<string>\",\n \"LastName2\": \"<string>\",\n \"BirthDate\": \"<string>\"\n },\n \"PersonalDocuments\": [\n {\n \"Number\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Timestamp", "<x-timestamp>")
req.Header.Add("X-Signature", "<x-signature>")
req.Header.Add("User-Agent", "<user-agent>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/client-interfaces/pmo/get-create-account-url")
.header("X-Timestamp", "<x-timestamp>")
.header("X-Signature", "<x-signature>")
.header("User-Agent", "<user-agent>")
.header("Content-Type", "application/json")
.body("{\n \"TransactionId\": \"<string>\",\n \"PersonalData\": {\n \"FirstName\": \"<string>\",\n \"LastName\": \"<string>\",\n \"Gender\": \"<string>\",\n \"Address\": {\n \"CountryCode\": \"<string>\",\n \"StateCode\": \"<string>\",\n \"Address1\": \"<string>\",\n \"Address2\": \"<string>\",\n \"ZipCode\": \"<string>\",\n \"City\": \"<string>\"\n },\n \"PhoneNumber\": \"<string>\",\n \"Email\": \"<string>\",\n \"MiddleName\": \"<string>\",\n \"LastName2\": \"<string>\",\n \"BirthDate\": \"<string>\"\n },\n \"PersonalDocuments\": [\n {\n \"Number\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/client-interfaces/pmo/get-create-account-url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Timestamp"] = '<x-timestamp>'
request["X-Signature"] = '<x-signature>'
request["User-Agent"] = '<user-agent>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"TransactionId\": \"<string>\",\n \"PersonalData\": {\n \"FirstName\": \"<string>\",\n \"LastName\": \"<string>\",\n \"Gender\": \"<string>\",\n \"Address\": {\n \"CountryCode\": \"<string>\",\n \"StateCode\": \"<string>\",\n \"Address1\": \"<string>\",\n \"Address2\": \"<string>\",\n \"ZipCode\": \"<string>\",\n \"City\": \"<string>\"\n },\n \"PhoneNumber\": \"<string>\",\n \"Email\": \"<string>\",\n \"MiddleName\": \"<string>\",\n \"LastName2\": \"<string>\",\n \"BirthDate\": \"<string>\"\n },\n \"PersonalDocuments\": [\n {\n \"Number\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"RegistrationUrl": "<string>",
"Success": true,
"ResponseDescription": "<string>"
}POST request to:
[Base-URL]/GetCreateAccountUrl.
[Base-URL]; the resource segment /GetCreateAccountUrl, the POST method and the JSON body are fixed by this contract and are case-sensitive.Every request travels signed. It carries the X-Timestamp and X-Signature headers with the HMAC-SHA256 signature of the raw body. The Partner must validate the signature before processing the request.OnDemand.
Expected behavior:
Invokes the retrieval of a temporary delegated registration URL. In cases where the Partner orchestrates the user account registration, this endpoint must generate and return a secure RegistrationUrl where the user can complete or initiate their enrollment.Headers
UTC timestamp in ISO-8601 format with milliseconds (yyyy-MM-ddTHH:mm:ss.fffZ), generated at send time. Its exact string value is part of the signed message, so it cannot be altered, and it lets the Partner reject stale requests (replay protection). See Data Integrity.
HMAC-SHA256 signature of the request, Base64-encoded (standard alphabet). It is computed over bytes(X-Timestamp) + bytes(".") + rawBodyBytes using the shared secret agreed for the integration. The Partner MUST validate it — with a constant-time comparison and over the raw body, before any deserialization — and reject the request if it does not match. See Data Integrity.
Fixed value VNA. Sent on every request. Some Partners' WAFs reject requests without a User-Agent, so the Platform always sets it explicitly; if the Partner filters by this header, this is the value to allow.
Body
Unique identifier of the request, used as an idempotency key. It is derived deterministically from the operation, the Partner and the action, so a retry of the same action arrives with the same value: the Partner MUST process it only once and return the original outcome on repeats.
Personal Data of the Person being created. At least one of PhoneNumber or Email is present, but the address may be partial: only CountryCode and StateCode are guaranteed — Address1, City and ZipCode may be absent.
Show child attributes
Show child attributes
List of identity documents for the Person. May be an empty array when no identity document is on file.
Show child attributes
Show child attributes
Response
Ok
The URL where the Person must complete the registration.
True if the URL generation is Successful / False if it Failed.
If the URL generation is not successful, the reason of the Failure will be provided in this field.