Skip to main content

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 RoleReal Estate PersonaAccess Pattern
MortgageeLender / Mortgage ServicerBulk API for closing docs
AgentTitle Agent / Escrow OfficerPortal + bulk download
PolicyholderBuyer / Property OwnerSelf-service portal
AuditorCompliance 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

PersonaReal Estate RoleAuth FactorsAccess MethodKey Identifiers
MortgageeLender / ServicerPassphrase + mTLSBulk APIlender_id, file_number
AgentTitle Agent / Escrow OfficerWebAuthnPortal + bulk downloadagent_license, file_number
PolicyholderBuyer / Property OwnerDOB + SMS OTPPortal (single retrieval)email, date_of_birth, file_number
AuditorCompliance AuditorBadge ID + NDA hashPortal (read-only, no download)badge_id, nda_hash

Next Steps