curl --request POST \
--url https://api.cardinalzyn.com/title/{id}/sign \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"signers": [
{
"name": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"dob": "<string>",
"id": "<string>",
"name_first": "<string>",
"name_middle": "<string>",
"name_last": "<string>",
"name_suffix": "<string>",
"oats_names": [
"<string>"
],
"contact_phone": "<string>",
"contact_email": "<string>",
"ssn": "<string>",
"insurance": {
"provider_name": "<string>",
"provider_naic": "<string>",
"policy_number": "<string>"
},
"is_nonobligor": true
}
],
"documents_to_sign": [
{
"filename": "<string>",
"id": "<string>",
"signer_id": [
"<string>"
],
"signed_copy": "<string>"
}
],
"redirect_url": "<string>",
"requester_email": "<string>",
"instructions": "<string>"
}
'import requests
url = "https://api.cardinalzyn.com/title/{id}/sign"
payload = {
"signers": [
{
"name": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"dob": "<string>",
"id": "<string>",
"name_first": "<string>",
"name_middle": "<string>",
"name_last": "<string>",
"name_suffix": "<string>",
"oats_names": ["<string>"],
"contact_phone": "<string>",
"contact_email": "<string>",
"ssn": "<string>",
"insurance": {
"provider_name": "<string>",
"provider_naic": "<string>",
"policy_number": "<string>"
},
"is_nonobligor": True
}
],
"documents_to_sign": [
{
"filename": "<string>",
"id": "<string>",
"signer_id": ["<string>"],
"signed_copy": "<string>"
}
],
"redirect_url": "<string>",
"requester_email": "<string>",
"instructions": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
signers: [
{
name: '<string>',
addr: {
street1: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
recipient_name: '<string>',
street2: '<string>',
county: '<string>'
},
dob: '<string>',
id: '<string>',
name_first: '<string>',
name_middle: '<string>',
name_last: '<string>',
name_suffix: '<string>',
oats_names: ['<string>'],
contact_phone: '<string>',
contact_email: '<string>',
ssn: '<string>',
insurance: {
provider_name: '<string>',
provider_naic: '<string>',
policy_number: '<string>'
},
is_nonobligor: true
}
],
documents_to_sign: [
{
filename: '<string>',
id: '<string>',
signer_id: ['<string>'],
signed_copy: '<string>'
}
],
redirect_url: '<string>',
requester_email: '<string>',
instructions: '<string>'
})
};
fetch('https://api.cardinalzyn.com/title/{id}/sign', 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.cardinalzyn.com/title/{id}/sign",
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([
'signers' => [
[
'name' => '<string>',
'addr' => [
'street1' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>',
'recipient_name' => '<string>',
'street2' => '<string>',
'county' => '<string>'
],
'dob' => '<string>',
'id' => '<string>',
'name_first' => '<string>',
'name_middle' => '<string>',
'name_last' => '<string>',
'name_suffix' => '<string>',
'oats_names' => [
'<string>'
],
'contact_phone' => '<string>',
'contact_email' => '<string>',
'ssn' => '<string>',
'insurance' => [
'provider_name' => '<string>',
'provider_naic' => '<string>',
'policy_number' => '<string>'
],
'is_nonobligor' => true
]
],
'documents_to_sign' => [
[
'filename' => '<string>',
'id' => '<string>',
'signer_id' => [
'<string>'
],
'signed_copy' => '<string>'
]
],
'redirect_url' => '<string>',
'requester_email' => '<string>',
'instructions' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.cardinalzyn.com/title/{id}/sign"
payload := strings.NewReader("{\n \"signers\": [\n {\n \"name\": \"<string>\",\n \"addr\": {\n \"street1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"recipient_name\": \"<string>\",\n \"street2\": \"<string>\",\n \"county\": \"<string>\"\n },\n \"dob\": \"<string>\",\n \"id\": \"<string>\",\n \"name_first\": \"<string>\",\n \"name_middle\": \"<string>\",\n \"name_last\": \"<string>\",\n \"name_suffix\": \"<string>\",\n \"oats_names\": [\n \"<string>\"\n ],\n \"contact_phone\": \"<string>\",\n \"contact_email\": \"<string>\",\n \"ssn\": \"<string>\",\n \"insurance\": {\n \"provider_name\": \"<string>\",\n \"provider_naic\": \"<string>\",\n \"policy_number\": \"<string>\"\n },\n \"is_nonobligor\": true\n }\n ],\n \"documents_to_sign\": [\n {\n \"filename\": \"<string>\",\n \"id\": \"<string>\",\n \"signer_id\": [\n \"<string>\"\n ],\n \"signed_copy\": \"<string>\"\n }\n ],\n \"redirect_url\": \"<string>\",\n \"requester_email\": \"<string>\",\n \"instructions\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.cardinalzyn.com/title/{id}/sign")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"signers\": [\n {\n \"name\": \"<string>\",\n \"addr\": {\n \"street1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"recipient_name\": \"<string>\",\n \"street2\": \"<string>\",\n \"county\": \"<string>\"\n },\n \"dob\": \"<string>\",\n \"id\": \"<string>\",\n \"name_first\": \"<string>\",\n \"name_middle\": \"<string>\",\n \"name_last\": \"<string>\",\n \"name_suffix\": \"<string>\",\n \"oats_names\": [\n \"<string>\"\n ],\n \"contact_phone\": \"<string>\",\n \"contact_email\": \"<string>\",\n \"ssn\": \"<string>\",\n \"insurance\": {\n \"provider_name\": \"<string>\",\n \"provider_naic\": \"<string>\",\n \"policy_number\": \"<string>\"\n },\n \"is_nonobligor\": true\n }\n ],\n \"documents_to_sign\": [\n {\n \"filename\": \"<string>\",\n \"id\": \"<string>\",\n \"signer_id\": [\n \"<string>\"\n ],\n \"signed_copy\": \"<string>\"\n }\n ],\n \"redirect_url\": \"<string>\",\n \"requester_email\": \"<string>\",\n \"instructions\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cardinalzyn.com/title/{id}/sign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signers\": [\n {\n \"name\": \"<string>\",\n \"addr\": {\n \"street1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"recipient_name\": \"<string>\",\n \"street2\": \"<string>\",\n \"county\": \"<string>\"\n },\n \"dob\": \"<string>\",\n \"id\": \"<string>\",\n \"name_first\": \"<string>\",\n \"name_middle\": \"<string>\",\n \"name_last\": \"<string>\",\n \"name_suffix\": \"<string>\",\n \"oats_names\": [\n \"<string>\"\n ],\n \"contact_phone\": \"<string>\",\n \"contact_email\": \"<string>\",\n \"ssn\": \"<string>\",\n \"insurance\": {\n \"provider_name\": \"<string>\",\n \"provider_naic\": \"<string>\",\n \"policy_number\": \"<string>\"\n },\n \"is_nonobligor\": true\n }\n ],\n \"documents_to_sign\": [\n {\n \"filename\": \"<string>\",\n \"id\": \"<string>\",\n \"signer_id\": [\n \"<string>\"\n ],\n \"signed_copy\": \"<string>\"\n }\n ],\n \"redirect_url\": \"<string>\",\n \"requester_email\": \"<string>\",\n \"instructions\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"transaction_access_url": "<string>",
"redirect_url": {
"url": "<string>",
"message": "<string>"
},
"requester_email": "<string>",
"id": "<string>",
"documents_to_sign": [
{
"filename": "<string>",
"id": "<string>",
"signer_id": [
"<string>"
],
"signed_copy": "<string>"
}
],
"created_at": "<string>",
"updated_at": "<string>",
"signers": [
{
"name": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"dob": "<string>",
"id": "<string>",
"name_first": "<string>",
"name_middle": "<string>",
"name_last": "<string>",
"name_suffix": "<string>",
"oats_names": [
"<string>"
],
"contact_phone": "<string>",
"contact_email": "<string>",
"dlid": {
"number": "<string>",
"state": "<string>",
"sex": "<string>",
"expiration_date": "<string>",
"first_name": "<string>",
"middle_name": "<string>",
"last_name": "<string>",
"suffix": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
}
},
"ssn": "<string>",
"addr_mailing": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"insurance": {
"provider_name": "<string>",
"provider_naic": "<string>",
"policy_number": "<string>"
},
"is_nonobligor": true,
"transaction_access_url": "<string>"
}
],
"sign_cert": "<string>",
"collected_dlid": "<string>",
"full_export": "<string>",
"physical_tracking": {
"status": "<string>",
"tracking_url": "<string>",
"label_url": "<string>",
"shipment_id": "<string>",
"return_tracking_url": "<string>",
"return_label_url": "<string>",
"return_shipment_id": "<string>"
},
"instructions": "<string>",
"metadata": {}
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}Sign Title Documents
Initiate signature process for title documents
curl --request POST \
--url https://api.cardinalzyn.com/title/{id}/sign \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"signers": [
{
"name": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"dob": "<string>",
"id": "<string>",
"name_first": "<string>",
"name_middle": "<string>",
"name_last": "<string>",
"name_suffix": "<string>",
"oats_names": [
"<string>"
],
"contact_phone": "<string>",
"contact_email": "<string>",
"ssn": "<string>",
"insurance": {
"provider_name": "<string>",
"provider_naic": "<string>",
"policy_number": "<string>"
},
"is_nonobligor": true
}
],
"documents_to_sign": [
{
"filename": "<string>",
"id": "<string>",
"signer_id": [
"<string>"
],
"signed_copy": "<string>"
}
],
"redirect_url": "<string>",
"requester_email": "<string>",
"instructions": "<string>"
}
'import requests
url = "https://api.cardinalzyn.com/title/{id}/sign"
payload = {
"signers": [
{
"name": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"dob": "<string>",
"id": "<string>",
"name_first": "<string>",
"name_middle": "<string>",
"name_last": "<string>",
"name_suffix": "<string>",
"oats_names": ["<string>"],
"contact_phone": "<string>",
"contact_email": "<string>",
"ssn": "<string>",
"insurance": {
"provider_name": "<string>",
"provider_naic": "<string>",
"policy_number": "<string>"
},
"is_nonobligor": True
}
],
"documents_to_sign": [
{
"filename": "<string>",
"id": "<string>",
"signer_id": ["<string>"],
"signed_copy": "<string>"
}
],
"redirect_url": "<string>",
"requester_email": "<string>",
"instructions": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
signers: [
{
name: '<string>',
addr: {
street1: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
recipient_name: '<string>',
street2: '<string>',
county: '<string>'
},
dob: '<string>',
id: '<string>',
name_first: '<string>',
name_middle: '<string>',
name_last: '<string>',
name_suffix: '<string>',
oats_names: ['<string>'],
contact_phone: '<string>',
contact_email: '<string>',
ssn: '<string>',
insurance: {
provider_name: '<string>',
provider_naic: '<string>',
policy_number: '<string>'
},
is_nonobligor: true
}
],
documents_to_sign: [
{
filename: '<string>',
id: '<string>',
signer_id: ['<string>'],
signed_copy: '<string>'
}
],
redirect_url: '<string>',
requester_email: '<string>',
instructions: '<string>'
})
};
fetch('https://api.cardinalzyn.com/title/{id}/sign', 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.cardinalzyn.com/title/{id}/sign",
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([
'signers' => [
[
'name' => '<string>',
'addr' => [
'street1' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>',
'recipient_name' => '<string>',
'street2' => '<string>',
'county' => '<string>'
],
'dob' => '<string>',
'id' => '<string>',
'name_first' => '<string>',
'name_middle' => '<string>',
'name_last' => '<string>',
'name_suffix' => '<string>',
'oats_names' => [
'<string>'
],
'contact_phone' => '<string>',
'contact_email' => '<string>',
'ssn' => '<string>',
'insurance' => [
'provider_name' => '<string>',
'provider_naic' => '<string>',
'policy_number' => '<string>'
],
'is_nonobligor' => true
]
],
'documents_to_sign' => [
[
'filename' => '<string>',
'id' => '<string>',
'signer_id' => [
'<string>'
],
'signed_copy' => '<string>'
]
],
'redirect_url' => '<string>',
'requester_email' => '<string>',
'instructions' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.cardinalzyn.com/title/{id}/sign"
payload := strings.NewReader("{\n \"signers\": [\n {\n \"name\": \"<string>\",\n \"addr\": {\n \"street1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"recipient_name\": \"<string>\",\n \"street2\": \"<string>\",\n \"county\": \"<string>\"\n },\n \"dob\": \"<string>\",\n \"id\": \"<string>\",\n \"name_first\": \"<string>\",\n \"name_middle\": \"<string>\",\n \"name_last\": \"<string>\",\n \"name_suffix\": \"<string>\",\n \"oats_names\": [\n \"<string>\"\n ],\n \"contact_phone\": \"<string>\",\n \"contact_email\": \"<string>\",\n \"ssn\": \"<string>\",\n \"insurance\": {\n \"provider_name\": \"<string>\",\n \"provider_naic\": \"<string>\",\n \"policy_number\": \"<string>\"\n },\n \"is_nonobligor\": true\n }\n ],\n \"documents_to_sign\": [\n {\n \"filename\": \"<string>\",\n \"id\": \"<string>\",\n \"signer_id\": [\n \"<string>\"\n ],\n \"signed_copy\": \"<string>\"\n }\n ],\n \"redirect_url\": \"<string>\",\n \"requester_email\": \"<string>\",\n \"instructions\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.cardinalzyn.com/title/{id}/sign")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"signers\": [\n {\n \"name\": \"<string>\",\n \"addr\": {\n \"street1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"recipient_name\": \"<string>\",\n \"street2\": \"<string>\",\n \"county\": \"<string>\"\n },\n \"dob\": \"<string>\",\n \"id\": \"<string>\",\n \"name_first\": \"<string>\",\n \"name_middle\": \"<string>\",\n \"name_last\": \"<string>\",\n \"name_suffix\": \"<string>\",\n \"oats_names\": [\n \"<string>\"\n ],\n \"contact_phone\": \"<string>\",\n \"contact_email\": \"<string>\",\n \"ssn\": \"<string>\",\n \"insurance\": {\n \"provider_name\": \"<string>\",\n \"provider_naic\": \"<string>\",\n \"policy_number\": \"<string>\"\n },\n \"is_nonobligor\": true\n }\n ],\n \"documents_to_sign\": [\n {\n \"filename\": \"<string>\",\n \"id\": \"<string>\",\n \"signer_id\": [\n \"<string>\"\n ],\n \"signed_copy\": \"<string>\"\n }\n ],\n \"redirect_url\": \"<string>\",\n \"requester_email\": \"<string>\",\n \"instructions\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cardinalzyn.com/title/{id}/sign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signers\": [\n {\n \"name\": \"<string>\",\n \"addr\": {\n \"street1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"recipient_name\": \"<string>\",\n \"street2\": \"<string>\",\n \"county\": \"<string>\"\n },\n \"dob\": \"<string>\",\n \"id\": \"<string>\",\n \"name_first\": \"<string>\",\n \"name_middle\": \"<string>\",\n \"name_last\": \"<string>\",\n \"name_suffix\": \"<string>\",\n \"oats_names\": [\n \"<string>\"\n ],\n \"contact_phone\": \"<string>\",\n \"contact_email\": \"<string>\",\n \"ssn\": \"<string>\",\n \"insurance\": {\n \"provider_name\": \"<string>\",\n \"provider_naic\": \"<string>\",\n \"policy_number\": \"<string>\"\n },\n \"is_nonobligor\": true\n }\n ],\n \"documents_to_sign\": [\n {\n \"filename\": \"<string>\",\n \"id\": \"<string>\",\n \"signer_id\": [\n \"<string>\"\n ],\n \"signed_copy\": \"<string>\"\n }\n ],\n \"redirect_url\": \"<string>\",\n \"requester_email\": \"<string>\",\n \"instructions\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"transaction_access_url": "<string>",
"redirect_url": {
"url": "<string>",
"message": "<string>"
},
"requester_email": "<string>",
"id": "<string>",
"documents_to_sign": [
{
"filename": "<string>",
"id": "<string>",
"signer_id": [
"<string>"
],
"signed_copy": "<string>"
}
],
"created_at": "<string>",
"updated_at": "<string>",
"signers": [
{
"name": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"dob": "<string>",
"id": "<string>",
"name_first": "<string>",
"name_middle": "<string>",
"name_last": "<string>",
"name_suffix": "<string>",
"oats_names": [
"<string>"
],
"contact_phone": "<string>",
"contact_email": "<string>",
"dlid": {
"number": "<string>",
"state": "<string>",
"sex": "<string>",
"expiration_date": "<string>",
"first_name": "<string>",
"middle_name": "<string>",
"last_name": "<string>",
"suffix": "<string>",
"addr": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
}
},
"ssn": "<string>",
"addr_mailing": {
"street1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"recipient_name": "<string>",
"street2": "<string>",
"county": "<string>"
},
"insurance": {
"provider_name": "<string>",
"provider_naic": "<string>",
"policy_number": "<string>"
},
"is_nonobligor": true,
"transaction_access_url": "<string>"
}
],
"sign_cert": "<string>",
"collected_dlid": "<string>",
"full_export": "<string>",
"physical_tracking": {
"status": "<string>",
"tracking_url": "<string>",
"label_url": "<string>",
"shipment_id": "<string>",
"return_tracking_url": "<string>",
"return_label_url": "<string>",
"return_shipment_id": "<string>"
},
"instructions": "<string>",
"metadata": {}
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}{
"error": "<string>",
"statusCode": 123,
"disallowedFields": [
"<string>"
]
}signers and documents_to_sign, or omit the body entirely to let the API build the request from the title entry. Auto-build requires signer contact_email values to already be present on the entry, usually via a prior PATCH /title/{id}.
redirect_url belongs in the request body, not the query string.
Signing URLs in the response
For Notarize/Proof-based organizations, the response includes per-signer signing URLs atsigners[].transaction_access_url. Each signer receives their own unique link to access the signing session.
{
"id": "NTRZ::ot_abc123",
"status": "SENT",
"signers": [
{
"name": "Jane Doe",
"contact_email": "jane@example.com",
"transaction_access_url": "https://app.proof.com/activate-transaction?..."
}
]
}
transaction_access_url on the SignatureRequest object is not populated on the initial create response — it is only set after an explicit activate action on a DRAFT request. Always read signing URLs from signers[].transaction_access_url.
DocuSign-based requests do not include transaction_access_url — signing links are delivered directly to signers via email by DocuSign.
Internal signature actions for managing existing requests are not part of the partner-facing API surface.Authorizations
API key or Clerk JWT supplied as Authorization: Bearer
Path Parameters
Unique identifier of the title entry
Body
Customization options for the signature request (e.g., in cases where you don't want to collect signatures from all titled owners).
List of specific people who should sign the documents. Each signer must include contact_email. If the body is omitted entirely, the API attempts to build signers from current owners/borrowers already stored on the entry.
1Show child attributes
Show child attributes
List of specific documents to be signed.
1Show child attributes
Show child attributes
Optional redirect URL or redirect descriptor used by the signature provider after signing.
Additional notification email for signature completion
Special instructions for the signer
Response
Signature request created successfully
Top-level transaction URL. Only populated after an explicit activate action on a DRAFT Notarize/Proof request. For the initial create response, look at each signer's transaction_access_url instead.
Show child attributes
Show child attributes
Additional notification email for signature completion
Provider-specific ID (NTRZ::id for Notarize, DSGN::id for DocuSign, DMNS::id for Documenso, PNDC::id for Pandadoc)
Type of signature required
WET_SIGN, WET_NOTARY, RON, E_SIGN, NONE Current status of the signature request
DRAFT, SENT, OPENED, COMPLETED, FAILED, EXPIRED Show child attributes
Show child attributes
When the request was created
Last status update
Signers on this request. In the response from POST /title/{id}/sign, each signer object includes a transaction_access_url field with the per-signer signing link (Notarize/Proof provider only).
Show child attributes
Show child attributes
S3 path to signing certification
S3 path to collected driver license ID
S3 path to full export consisting of sign cert, collected_dlid, and documents_to_sign
Show child attributes
Show child attributes
Any special instructions for the signer
Additional provider-specific metadata