Industry Guide: Real Estate & Title
This guide walks through a complete Docyard setup for a title and escrow company. Docyard’s four stakeholder classes map naturally to real estate workflows:
| Docyard Role | Real Estate Persona | Access Pattern |
|---|
| Mortgagee | Lender / Mortgage Servicer | Bulk API for closing docs |
| Agent | Title Agent / Escrow Officer | Portal + bulk download |
| Policyholder | Buyer / Property Owner | Self-service portal |
| Auditor | Compliance Auditor (RESPA/TRID) | Time-boxed read-only |
Step 1: Create a Dock
Create a dock for the title company:
curl -X POST https://api.docyard.io/v1/docks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Pinnacle Title & Escrow",
"domain": "pinnacletitle.com",
"legalName": "Pinnacle Title & Escrow LLC",
"businessType": "llc",
"businessEmail": "[email protected]"
}'
Step 2: Upload Documents
Upload title and closing documents. Docyard computes a SHA-256 hash and deduplicates automatically.
# Upload a closing disclosure
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
# Upload a deed of trust
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
Tag artifacts with real estate metadata for policy routing:
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "closing-disclosure-FILE-2025-10042.pdf",
"metadata": {
"file_number": "FILE-2025-10042",
"document_type": "closing-disclosure",
"property_address": "1847 Maple Drive, Pasadena, CA 91101",
"closing_date": "2025-03-15"
}
}'
Step 3: Add Recipients (All Four Personas)
Lender / Mortgage Servicer — Bulk API access
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../recipients \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Pacific West Mortgage",
"email": "[email protected]",
"stakeholderClass": "mortgagee",
"identifiers": {
"lender_id": "PWM-2200",
"file_number": "FILE-2025-10042"
}
}'
Title Agent / Escrow Officer — Portal + bulk download
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../recipients \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "David Park — Pinnacle Title Group",
"email": "[email protected]",
"stakeholderClass": "agent",
"identifiers": {
"agent_license": "TL-CA-88210",
"file_number": "FILE-2025-10042"
}
}'
Buyer / Property Owner — Single retrieval via portal
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../recipients \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Maria Espinoza",
"email": "[email protected]",
"stakeholderClass": "policyholder",
"identifiers": {
"phone": "+1-213-555-0198",
"date_of_birth": "1990-08-22",
"file_number": "FILE-2025-10042"
}
}'
Compliance Auditor — Time-boxed read-only
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../recipients \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "KPMG — Nathan Brooks",
"email": "[email protected]",
"stakeholderClass": "auditor",
"identifiers": {
"badge_id": "AUD-KPMG-2025-0119",
"nda_hash": "sha256:b4f9a2c8d1e7f3a0..."
}
}'
Step 4: Create Access Policies
Lender bulk access policy
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../policies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Lender Bulk API Access",
"recipe": "{\"stakeholderClass\":\"mortgagee\",\"artifactTypes\":[\"closing-disclosure\",\"deed-of-trust\",\"settlement-statement\",\"title-policy\"],\"auth\":{\"factors\":[\"shared_passphrase\",\"tls_certificate\"],\"tls\":{\"require_mutual\":true}},\"access\":{\"method\":\"bulk_api\",\"max_batch_size\":10000},\"match\":{\"identifiers\":[\"lender_id\",\"file_number\"]}}"
}'
Title agent portal access policy
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../policies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Title Agent Portal & Download",
"recipe": "{\"stakeholderClass\":\"agent\",\"artifactTypes\":[\"title-commitment\",\"closing-disclosure\",\"deed-of-trust\",\"settlement-statement\",\"escrow-instructions\",\"title-search\"],\"auth\":{\"factors\":[\"webauthn\"],\"webauthn\":{\"challenge_type\":\"platform_or_cross_platform\"}},\"access\":{\"method\":[\"portal\",\"bulk_download\"]},\"match\":{\"identifiers\":[\"agent_license\",\"file_number\"]}}"
}'
Buyer self-service policy
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../policies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Buyer Self-Service Portal",
"recipe": "{\"stakeholderClass\":\"policyholder\",\"artifactTypes\":[\"closing-disclosure\",\"deed\",\"settlement-statement\",\"title-policy\"],\"auth\":{\"factors\":[\"sms_otp\"],\"otp\":{\"delivery\":\"sms\",\"code_length\":6,\"ttl_seconds\":300}},\"access\":{\"method\":\"portal\",\"max_concurrent_downloads\":1},\"match\":{\"identifiers\":[\"email\",\"date_of_birth\",\"file_number\"]}}"
}'
RESPA/TRID compliance audit policy
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../policies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Q1 2025 RESPA/TRID Compliance Audit",
"recipe": "{\"stakeholderClass\":\"auditor\",\"artifactTypes\":[\"*\"],\"auth\":{\"factors\":[\"badge_id\",\"nda_hash\"],\"nda\":{\"hash_algorithm\":\"sha256\",\"require_match\":true}},\"access\":{\"method\":\"portal\",\"read_only\":true,\"download_enabled\":false},\"match\":{\"identifiers\":[\"badge_id\",\"nda_hash\"]},\"constraints\":{\"time_window\":{\"start\":\"2025-01-15T00:00:00Z\",\"end\":\"2025-03-15T00:00:00Z\"},\"auto_expire\":true}}"
}'
Publish the lender policy to production:
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../policies/pol_01HQ3P.../publish \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "stage": "production" }'
Step 5: Generate Lender Passphrase
The lender’s policy requires a shared passphrase. Generate one:
curl -X POST https://api.docyard.io/v1/recipients/rcp_01HQ3N.../secrets \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Pacific West Mortgage — API Passphrase",
"expiresInDays": 90
}'
The secret value is returned only once. Securely transmit it to the lender. Docyard stores only the SHA-256 hash and cannot recover the plaintext.
Step 6: Lender Retrieves via Bulk API
The lender creates a bulk retrieval job for closing documents:
curl -X POST https://api.docyard.io/v1/retrieval/jobs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dockId": "dock_01HQ3K...",
"recipientId": "rcp_01HQ3N...",
"metadata": { "document_type": "closing-disclosure" },
"sinceTimestamp": "2025-01-01T00:00:00.000Z"
}'
Fetch results with signed download URLs:
curl https://api.docyard.io/v1/retrieval/jobs/job_01HQ3Q.../results \
-H "Authorization: Bearer YOUR_API_KEY"
Compliance Notes: RESPA/TRID
Real estate document distribution must comply with RESPA (Real Estate Settlement Procedures Act) and TRID (TILA-RESPA Integrated Disclosure) requirements:
- Closing Disclosure timing: TRID requires buyers receive the Closing Disclosure at least 3 business days before closing. Docyard’s audit log provides timestamped proof of delivery.
- Settlement statement access: All parties to a transaction must have access to the settlement statement. Use per-file-number policies to scope access appropriately.
- Audit trail: RESPA Section 8 anti-kickback provisions require documented paper trails. Docyard’s immutable audit log captures every access event.
- Document retention: Title companies must retain closing documents for a minimum period (varies by state). Docyard’s artifact retention is configurable per dock.
Persona Summary
| Persona | Real Estate Role | Auth Factors | Access Method | Key Identifiers |
|---|
| Mortgagee | Lender / Servicer | Passphrase + mTLS | Bulk API | lender_id, file_number |
| Agent | Title Agent / Escrow Officer | WebAuthn | Portal + bulk download | agent_license, file_number |
| Policyholder | Buyer / Property Owner | DOB + SMS OTP | Portal (single retrieval) | email, date_of_birth, file_number |
| Auditor | Compliance Auditor | Badge ID + NDA hash | Portal (read-only, no download) | badge_id, nda_hash |
Next Steps