Quickstart
- Insurance
- Real Estate
- Healthcare
- Financial Services
This guide walks through the core Docyard workflow using realistic insurance distribution examples: creating a dock, uploading a declaration page, adding recipients across all four stakeholder types, and configuring access policies.
This guide walks through the core Docyard workflow using realistic real estate & title examples: creating a dock, uploading closing documents, adding recipients across all four stakeholder types, and configuring access policies.
This guide walks through the core Docyard workflow using realistic healthcare examples: creating a dock, uploading medical records, adding recipients across all four stakeholder types, and configuring access policies.
This guide walks through the core Docyard workflow using realistic financial services & lending examples: creating a dock, uploading loan documents, adding recipients across all four stakeholder types, and configuring access policies.
Prerequisites
- A Docyard API key (get one here)
curlinstalled on your machine
Step 1: Create a Dock
A dock is your isolated workspace. Every artifact, recipient, and policy belongs to a dock.- Insurance
- Real Estate
- Healthcare
- Financial Services
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Meridian Property & Casualty",
"domain": "meridianpc.com",
"legalName": "Meridian Property & Casualty Insurance Co.",
"businessType": "corporation",
"businessEmail": "[email protected]"
}'
Response
Copy
Ask AI
{
"id": "dock_01HQ3K...",
"name": "Meridian Property & Casualty",
"domain": "meridianpc.com",
"status": "ACTIVE",
"domainVerificationStatus": "UNVERIFIED",
"kycStatus": "NOT_STARTED",
"createdAt": "2025-01-15T10:30:00.000Z"
}
Copy
Ask AI
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": "corporation",
"businessEmail": "[email protected]"
}'
Response
Copy
Ask AI
{
"id": "dock_01HQ3K...",
"name": "Pinnacle Title & Escrow",
"domain": "pinnacletitle.com",
"status": "ACTIVE",
"domainVerificationStatus": "UNVERIFIED",
"kycStatus": "NOT_STARTED",
"createdAt": "2025-01-15T10:30:00.000Z"
}
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Lakeside Health System",
"domain": "lakesidehealth.org",
"legalName": "Lakeside Health System Inc.",
"businessType": "corporation",
"businessEmail": "[email protected]"
}'
Response
Copy
Ask AI
{
"id": "dock_01HQ3K...",
"name": "Lakeside Health System",
"domain": "lakesidehealth.org",
"status": "ACTIVE",
"domainVerificationStatus": "UNVERIFIED",
"kycStatus": "NOT_STARTED",
"createdAt": "2025-01-15T10:30:00.000Z"
}
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Summit Capital Partners",
"domain": "summitcapital.com",
"legalName": "Summit Capital Partners LLC",
"businessType": "corporation",
"businessEmail": "[email protected]"
}'
Response
Copy
Ask AI
{
"id": "dock_01HQ3K...",
"name": "Summit Capital Partners",
"domain": "summitcapital.com",
"status": "ACTIVE",
"domainVerificationStatus": "UNVERIFIED",
"kycStatus": "NOT_STARTED",
"createdAt": "2025-01-15T10:30:00.000Z"
}
id — you need it for every subsequent call.
Step 2: Upload Artifacts
- Insurance
- Real Estate
- Healthcare
- Financial Services
Upload a declaration page. Docyard computes a SHA-256 hash and deduplicates automatically.
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
Response
Copy
Ask AI
{
"id": "art_01HQ3M...",
"filename": "dec-page-POL-2025-88401.pdf",
"contentType": "application/pdf",
"size": 245760,
"hash": "sha256:a3f8c2d1e4b5...",
"isDuplicate": false,
"createdAt": "2025-01-15T10:31:00.000Z"
}
Upload a closing disclosure. Docyard computes a SHA-256 hash and deduplicates automatically.
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
Response
Copy
Ask AI
{
"id": "art_01HQ3M...",
"filename": "closing-disclosure-FILE-2025-10042.pdf",
"contentType": "application/pdf",
"size": 312400,
"hash": "sha256:b7e4d2f1c3a6...",
"isDuplicate": false,
"createdAt": "2025-01-15T10:31:00.000Z"
}
Upload an explanation of benefits. Docyard computes a SHA-256 hash and deduplicates automatically.
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
Response
Copy
Ask AI
{
"id": "art_01HQ3M...",
"filename": "eob-MBR-2025-44210.pdf",
"contentType": "application/pdf",
"size": 189200,
"hash": "sha256:d9c1e8f2a7b3...",
"isDuplicate": false,
"createdAt": "2025-01-15T10:31:00.000Z"
}
Upload a loan estimate. Docyard computes a SHA-256 hash and deduplicates automatically.
Copy
Ask AI
curl -X POST https://api.docyard.io/v1/docks/dock_01HQ3K.../artifacts/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]"
Response
Copy
Ask AI
{
"id": "art_01HQ3M...",
"filename": "loan-estimate-LN-2025-78300.pdf",
"contentType": "application/pdf",
"size": 278500,
"hash": "sha256:e2f5a8c3d1b7...",
"isDuplicate": false,
"createdAt": "2025-01-15T10:31:00.000Z"
}
If you upload the same file again,
isDuplicate returns true and no additional storage is consumed.Step 3: Add Recipients (All Four Personas)
Add one recipient per stakeholder type to see the full access model.Two ways to handle identifiers. This quickstart uses Flow A: pre-populated identifiers — you store identifiers when creating the recipient. This is the most common pattern for institutional recipients whose identifiers are known upfront.There’s also Flow B: runtime submission — you create the recipient with just
name and email, and the recipient submits their identifiers when they access documents through the portal or API. See How identifiers flow through the system for details.- Insurance
- Real Estate
- Healthcare
- Financial Services
Mortgagee — Bulk API access
Copy
Ask AI
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": "First National Bank",
"email": "[email protected]",
"stakeholderClass": "mortgagee",
"identifiers": {
"lender_id": "LND-4821",
"policy_number": "POL-2025-88401"
}
}'
Agent — Portal + bulk download
Copy
Ask AI
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": "Sarah Chen — Apex Insurance Group",
"email": "[email protected]",
"stakeholderClass": "agent",
"identifiers": {
"agency_code": "AGN-1192",
"policy_number": "POL-2025-88401"
}
}'
Policyholder — Single retrieval via portal
Copy
Ask AI
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": "James Whitfield",
"email": "[email protected]",
"stakeholderClass": "policyholder",
"identifiers": {
"phone": "+1-860-555-0147",
"date_of_birth": "1983-06-15",
"policy_number": "POL-2025-88401"
}
}'
date_of_birth and policy_number when they access the portal:Copy
Ask AI
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": "James Whitfield",
"email": "[email protected]",
"stakeholderClass": "policyholder"
}'
match.identifiers defines what the recipient must provide at access time. Docyard validates the submitted values against the policy recipe — if they match, access is granted.Auditor — Time-boxed read-only
Copy
Ask AI
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": "Deloitte — Maria Gonzalez",
"email": "[email protected]",
"stakeholderClass": "auditor",
"identifiers": {
"badge_id": "AUD-DT-2025-0042",
"nda_hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
}'
Lender — Bulk API access
Copy
Ask AI
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 — Portal + bulk download
Copy
Ask AI
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 — Single retrieval via portal
Copy
Ask AI
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"
}
}'
date_of_birth and file_number when they access the portal:Copy
Ask AI
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"
}'
match.identifiers defines what the recipient must provide at access time. Docyard validates the submitted values against the policy recipe — if they match, access is granted.Compliance Auditor — Time-boxed read-only
Copy
Ask AI
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:b4f9a2c8d1e7f3a0b5c2d9e4f7a1b8c3d6e9f2a5b8c1d4e7f0a3b6c9d2e5f8"
}
}'
Payer — Bulk API access
Copy
Ask AI
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": "Anthem Blue Cross",
"email": "[email protected]",
"stakeholderClass": "mortgagee",
"identifiers": {
"payer_id": "ANTHEM-00112",
"member_id": "MBR-2025-44210"
}
}'
Referring Provider — Portal + bulk download
Copy
Ask AI
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": "Dr. Lisa Tran — Westside Cardiology",
"email": "[email protected]",
"stakeholderClass": "agent",
"identifiers": {
"npi_number": "1234567890",
"member_id": "MBR-2025-44210"
}
}'
Patient — Single retrieval via portal
Copy
Ask AI
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": "Robert Kim",
"email": "[email protected]",
"stakeholderClass": "policyholder",
"identifiers": {
"phone": "+1-312-555-0234",
"date_of_birth": "1975-11-03",
"member_id": "MBR-2025-44210"
}
}'
date_of_birth and member_id when they access the portal:Copy
Ask AI
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": "Robert Kim",
"email": "[email protected]",
"stakeholderClass": "policyholder"
}'
match.identifiers defines what the recipient must provide at access time. Docyard validates the submitted values against the policy recipe — if they match, access is granted.HHS Investigator — Time-boxed read-only
Copy
Ask AI
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": "HHS OIG — Angela Foster",
"email": "[email protected]",
"stakeholderClass": "auditor",
"identifiers": {
"badge_id": "HHS-OIG-2025-0087",
"nda_hash": "sha256:c7d2e9f1a3b5d8e2f4a6c9b1d3e7f0a2b5c8d1e4f7a0b3c6d9e2f5a8b1c4d7"
}
}'
Warehouse Lender — Bulk API access
Copy
Ask AI
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": "Vanguard Warehouse Lending",
"email": "[email protected]",
"stakeholderClass": "mortgagee",
"identifiers": {
"investor_id": "VWL-5500",
"loan_number": "LN-2025-78300"
}
}'
Loan Officer — Portal + bulk download
Copy
Ask AI
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": "Marcus Johnson — Keystone Mortgage",
"email": "[email protected]",
"stakeholderClass": "agent",
"identifiers": {
"nmls_id": "NMLS-334421",
"loan_number": "LN-2025-78300"
}
}'
Borrower — Single retrieval via portal
Copy
Ask AI
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": "Jennifer & Thomas Wright",
"email": "[email protected]",
"stakeholderClass": "policyholder",
"identifiers": {
"phone": "+1-704-555-0312",
"date_of_birth": "1988-03-27",
"loan_number": "LN-2025-78300"
}
}'
date_of_birth and loan_number when they access the portal:Copy
Ask AI
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": "Jennifer & Thomas Wright",
"email": "[email protected]",
"stakeholderClass": "policyholder"
}'
match.identifiers defines what the recipient must provide at access time. Docyard validates the submitted values against the policy recipe — if they match, access is granted.Regulatory Examiner — Time-boxed read-only
Copy
Ask AI
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": "OCC — Sandra Liu",
"email": "[email protected]",
"stakeholderClass": "auditor",
"identifiers": {
"badge_id": "OCC-2025-EX-0204",
"nda_hash": "sha256:a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1"
}
}'
Step 4: Create Access Policies
Each persona needs a different policy recipe. Here are two examples — the bulk API access (most common) and the auditor (most restrictive).- Insurance
- Real Estate
- Healthcare
- Financial Services
Mortgagee bulk access policy
Copy
Ask AI
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": "Mortgagee Bulk API Access",
"recipe": "{\"stakeholderClass\":\"mortgagee\",\"artifactTypes\":[\"declaration-page\",\"certificate-of-insurance\"],\"auth\":{\"factors\":[\"shared_passphrase\",\"tls_certificate\"],\"tls\":{\"require_mutual\":true}},\"access\":{\"method\":\"bulk_api\",\"max_batch_size\":10000},\"match\":{\"identifiers\":[\"lender_id\",\"policy_number\"]}}"
}'
Auditor time-boxed policy
Copy
Ask AI
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 External Audit",
"recipe": "{\"stakeholderClass\":\"auditor\",\"artifactTypes\":[\"*\"],\"auth\":{\"factors\":[\"badge_id\",\"nda_hash\"]},\"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-02-15T00:00:00Z\"},\"auto_expire\":true}}"
}'
Lender bulk access policy
Copy
Ask AI
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\"]}}"
}'
Compliance auditor time-boxed policy
Copy
Ask AI
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\"]},\"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}}"
}'
Payer bulk access policy
Copy
Ask AI
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": "Payer Bulk Claims Access",
"recipe": "{\"stakeholderClass\":\"mortgagee\",\"artifactTypes\":[\"explanation-of-benefits\",\"claim-summary\",\"pre-authorization\"],\"auth\":{\"factors\":[\"shared_passphrase\",\"tls_certificate\"],\"tls\":{\"require_mutual\":true}},\"access\":{\"method\":\"bulk_api\",\"max_batch_size\":5000},\"match\":{\"identifiers\":[\"payer_id\",\"member_id\"]}}"
}'
HHS investigator time-boxed policy
Copy
Ask AI
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": "HHS OIG Investigation — 2025",
"recipe": "{\"stakeholderClass\":\"auditor\",\"artifactTypes\":[\"*\"],\"auth\":{\"factors\":[\"badge_id\",\"nda_hash\"]},\"access\":{\"method\":\"portal\",\"read_only\":true,\"download_enabled\":false},\"match\":{\"identifiers\":[\"badge_id\",\"nda_hash\"]},\"constraints\":{\"time_window\":{\"start\":\"2025-02-01T00:00:00Z\",\"end\":\"2025-04-01T00:00:00Z\"},\"auto_expire\":true}}"
}'
Investor bulk access policy
Copy
Ask AI
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": "Investor Bulk Loan Doc Access",
"recipe": "{\"stakeholderClass\":\"mortgagee\",\"artifactTypes\":[\"promissory-note\",\"closing-disclosure\",\"appraisal\",\"underwriting-decision\"],\"auth\":{\"factors\":[\"shared_passphrase\",\"tls_certificate\"],\"tls\":{\"require_mutual\":true}},\"access\":{\"method\":\"bulk_api\",\"max_batch_size\":10000},\"match\":{\"identifiers\":[\"investor_id\",\"loan_number\"]}}"
}'
Regulatory examiner time-boxed policy
Copy
Ask AI
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": "OCC Regulatory Examination — Q1 2025",
"recipe": "{\"stakeholderClass\":\"auditor\",\"artifactTypes\":[\"*\"],\"auth\":{\"factors\":[\"badge_id\",\"nda_hash\"]},\"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}}"
}'
Copy
Ask AI
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 a Passphrase
The bulk API policy requires a shared passphrase. Generate one for the institutional recipient:- Insurance
- Real Estate
- Healthcare
- Financial Services
Copy
Ask AI
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": "First National Bank — API Passphrase",
"expiresInDays": 90
}'
Response
Copy
Ask AI
{
"id": "sec_01HQ3T...",
"secret": "dk_sec_7f2a9b4c1e8d3f6a0b5c2d9e4f7a1b8c",
"name": "First National Bank — API Passphrase",
"expiresAt": "2025-04-15T10:32:00.000Z"
}
Copy
Ask AI
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
}'
Response
Copy
Ask AI
{
"id": "sec_01HQ3T...",
"secret": "dk_sec_7f2a9b4c1e8d3f6a0b5c2d9e4f7a1b8c",
"name": "Pacific West Mortgage — API Passphrase",
"expiresAt": "2025-04-15T10:32:00.000Z"
}
Copy
Ask AI
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": "Anthem Blue Cross — Claims API Passphrase",
"expiresInDays": 90
}'
Response
Copy
Ask AI
{
"id": "sec_01HQ3T...",
"secret": "dk_sec_7f2a9b4c1e8d3f6a0b5c2d9e4f7a1b8c",
"name": "Anthem Blue Cross — Claims API Passphrase",
"expiresAt": "2025-04-15T10:32:00.000Z"
}
Copy
Ask AI
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": "Vanguard Warehouse Lending — API Passphrase",
"expiresInDays": 90
}'
Response
Copy
Ask AI
{
"id": "sec_01HQ3T...",
"secret": "dk_sec_7f2a9b4c1e8d3f6a0b5c2d9e4f7a1b8c",
"name": "Vanguard Warehouse Lending — API Passphrase",
"expiresAt": "2025-04-15T10:32:00.000Z"
}
The
secret value is returned only once. Securely transmit it to the recipient. Docyard stores only the SHA-256 hash and cannot recover the plaintext.Step 6: Retrieve via Bulk API
The institutional recipient creates a bulk retrieval job:- Insurance
- Real Estate
- Healthcare
- Financial Services
Copy
Ask AI
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": "declaration-page" },
"sinceTimestamp": "2025-01-01T00:00:00.000Z"
}'
Copy
Ask AI
curl https://api.docyard.io/v1/retrieval/jobs/job_01HQ3Q.../results \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Copy
Ask AI
{
"status": "COMPLETED",
"totalCount": 1,
"items": [
{
"artifactId": "art_01HQ3M...",
"filename": "dec-page-POL-2025-88401.pdf",
"url": "https://storage.docyard.io/signed/...",
"expiresAt": "2025-01-15T11:34:00.000Z"
}
]
}
Copy
Ask AI
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"
}'
Copy
Ask AI
curl https://api.docyard.io/v1/retrieval/jobs/job_01HQ3Q.../results \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Copy
Ask AI
{
"status": "COMPLETED",
"totalCount": 1,
"items": [
{
"artifactId": "art_01HQ3M...",
"filename": "closing-disclosure-FILE-2025-10042.pdf",
"url": "https://storage.docyard.io/signed/...",
"expiresAt": "2025-01-15T11:34:00.000Z"
}
]
}
Copy
Ask AI
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": "explanation-of-benefits" },
"sinceTimestamp": "2025-01-01T00:00:00.000Z"
}'
Copy
Ask AI
curl https://api.docyard.io/v1/retrieval/jobs/job_01HQ3Q.../results \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Copy
Ask AI
{
"status": "COMPLETED",
"totalCount": 1,
"items": [
{
"artifactId": "art_01HQ3M...",
"filename": "eob-MBR-2025-44210.pdf",
"url": "https://storage.docyard.io/signed/...",
"expiresAt": "2025-01-15T11:34:00.000Z"
}
]
}
Copy
Ask AI
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": "promissory-note" },
"sinceTimestamp": "2025-01-01T00:00:00.000Z"
}'
Copy
Ask AI
curl https://api.docyard.io/v1/retrieval/jobs/job_01HQ3Q.../results \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Copy
Ask AI
{
"status": "COMPLETED",
"totalCount": 1,
"items": [
{
"artifactId": "art_01HQ3M...",
"filename": "loan-estimate-LN-2025-78300.pdf",
"url": "https://storage.docyard.io/signed/...",
"expiresAt": "2025-01-15T11:34:00.000Z"
}
]
}
Signed URLs expire after 1 hour. Result sets expire after 24 hours. Download artifacts promptly.
Next Steps
- Verify your domain to enable the branded recipient portal
- Import recipients in bulk via CSV
- Simulate policies before publishing to production
- Configure notification channels for retrieval alerts
- Read the full Policy Recipes guide for all four persona patterns
- Explore industry-specific guides: Real Estate | Healthcare | Financial Services