Skip to main content
POST
/
api
/
partner
/
request
Request partner access
curl --request POST \
  --url https://signsealship.com/api/partner/request \
  --header 'Content-Type: application/json' \
  --data '
{
  "firmName": "Maple Title Co.",
  "contactName": "Dana Reyes",
  "workEmail": "dana@mapletitle.com",
  "role": "Escrow officer",
  "expectedVolume": "15 closings/month",
  "useCase": "Create a Verified Closing Room per escrow file and share the live link with buyers, sellers, and lenders."
}
'
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
firmName: 'Maple Title Co.',
contactName: 'Dana Reyes',
workEmail: 'dana@mapletitle.com',
role: 'Escrow officer',
expectedVolume: '15 closings/month',
useCase: 'Create a Verified Closing Room per escrow file and share the live link with buyers, sellers, and lenders.'
})
};

fetch('https://signsealship.com/api/partner/request', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
import requests

url = "https://signsealship.com/api/partner/request"

payload = {
"firmName": "Maple Title Co.",
"contactName": "Dana Reyes",
"workEmail": "dana@mapletitle.com",
"role": "Escrow officer",
"expectedVolume": "15 closings/month",
"useCase": "Create a Verified Closing Room per escrow file and share the live link with buyers, sellers, and lenders."
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
{
  "status": "issued",
  "message": "Your Closing Rooms access is ready — check your email."
}
{
"error": "<string>"
}

Body

application/json
firmName
string
required

Your firm or company name.

Maximum string length: 200
contactName
string
required

The requester's full name.

Maximum string length: 200
workEmail
string<email>
required

A deliverable work email. The issued key is sent here; a business domain is the strongest signal for instant issue.

Maximum string length: 254
role
string

Your role at the firm (e.g. "Escrow officer").

Maximum string length: 120
expectedVolume
string

Rough expected volume (e.g. "10-20 closings/month").

Maximum string length: 120
useCase
string

What you plan to build or run on the API.

Maximum string length: 4000
recaptchaToken
string

Optional bot-screening token; omit when calling the API directly.

Response

Request accepted (issued or pending).

status
enum<string>
required

issued — a trial key was created and emailed. pending — queued for human review.

Available options:
issued,
pending
message
string
required

A browser-safe confirmation message.