An infrastructure API that generates and preserves verifiable evidence for legal notice delivery. Document hashing, hash-chained custody events, USPS certified mail tracking, and public proof bundles — designed for organizations where proof of service isn't optional.
We don't just send mail and hand you a tracking number. Every step — from document upload to final delivery scan — is cryptographically bound and independently verifiable by any third party.
Every document gets a SHA-256 hash computed server-side at upload. The hash is stored, chained into custody events, and included in the proof bundle — so any party can independently verify the document hasn't been altered.
Each custody event (created, sent, in-transit, delivered, returned) is cryptographically linked to the prior event via a hash chain. Tampering with any event breaks the chain and is immediately detectable by any verifier.
Certified mail tracking numbers, delivery scans, and electronic return receipts are captured from Lob/USPS webhook events and bound to the communication record in real time — no manual data entry.
A judge, auditor, or opposing counsel verifies a proof bundle by tracking number and document hash. No login, no tenant data, no recipient PII, no legal strategy exposed — just the verifiable facts of the send and delivery.
Onboard your organization with an API key. Configure webhooks for delivery events. Optionally provide your own Lob API key for per-tenant isolation.
POST /api/v1/tenants
Authorization: Bearer <platform-key>
Content-Type: application/json
{
"name": "Humboldt County Code Enforcement",
"webhook_url": "https://api.fairprocess.gov/webhooks/pos",
"lob_api_key": "live_..." // optional: per-tenant Lob key
}Send a PDF (multipart or base64). We compute the SHA-256 hash server-side and return it for your independent verification.
POST /api/v1/documents
Authorization: Bearer <tenant-api-key>
Content-Type: multipart/form-data
file=@notice-of-violation.pdf
→ 201 Created
{
"document_id": "doc_a3f5b8c1d2e4",
"sha256": "a3f5b8c1d2e4f6a7...",
"size_bytes": 84729,
"page_count": 3
}Specify the document, recipient address, mail type, and legal reference (statute, cure period, response window). We send via Lob/USPS certified mail and create the custody chain.
POST /api/v1/communications
Authorization: Bearer <tenant-api-key>
Content-Type: application/json
{
"document_id": "doc_a3f5b8c1d2e4",
"recipient": {
"name": "Property Owner",
"address_line1": "500 Market St",
"city": "Eureka", "state": "CA", "zip": "95501"
},
"mail_type": "certified",
"legal_reference": {
"citation": "[JURISDICTION-SPECIFIC CODE SECTION]",
"description": "Notice of violation",
"response_window_days": 30
}
}
→ 201 Created
{
"communication_id": "comm_7f8a2b...",
"tracking_number": "9405511899599...",
"status": "sent",
"custody_chain": [{ "event_type": "created" }, ...]
}Lob/USPS webhook events update the custody chain in real time. When delivered, any third party can verify the proof bundle — no login, no account, no tenant data exposed.
GET /api/v1/verify/9405511899599...
?document_hash=a3f5b8c1d2e4f6a7...
→ 200 OK
{
"verified": true,
"tracking_number": "9405511899599...",
"carrier": "usps",
"mail_type": "certified",
"status": "delivered",
"sent_at": "2026-08-01T14:30:00Z",
"delivered_at": "2026-08-03T11:22:00Z",
"document_sha256": "a3f5b8c1d2e4f6a7...",
"legal_citation": "[JURISDICTION-SPECIFIC CODE SECTION]",
"response_window_ends": "2026-09-02T14:30:00Z",
"custody_chain": [
{ "event_type": "created", "timestamp": "...",
"event_hash": "e1a2b3...", "prior_event_hash": null },
{ "event_type": "sent", "timestamp": "...",
"event_hash": "f2b3c4...", "prior_event_hash": "e1a2b3..." },
{ "event_type": "delivered", "timestamp": "...",
"event_hash": "g3c4d5...", "prior_event_hash": "f2b3c4..." }
]
}Onboard, upload documents, send certified mail, track delivery, and generate verifiable proof bundles. RESTful, JSON, per-tenant API keys.
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| POST | /api/v1/tenants | Create a tenant and get an API key (shown once) | Platform key |
| POST | /api/v1/documents | Upload a document, get SHA-256 hash + document IDrate-limited | Tenant API key |
| GET | /api/v1/documents/:id | Retrieve document metadata (not content) | Tenant API key |
| POST | /api/v1/communications | Create and send a communication via Lob/USPSrate-limited | Tenant API key |
| GET | /api/v1/communications/:id | Get communication status, custody events, tracking | Tenant API key |
| GET | /api/v1/communications/:id/proof | Download the full proof bundle (hash chain + custody events) | Tenant API key |
| GET | /api/v1/communications | List communications with pagination | Tenant API key |
| POST | /api/v1/templates | Create a reusable document template | Tenant API key |
| POST | /api/v1/templates/:id/render | Render a template with variables to produce a document | Tenant API key |
| GET | /api/v1/verify/:trackingNumber | Public verification — no auth, no PII, just the factsrate-limited | Public |
| POST | /api/public/lob-webhook | Unified webhook for Lob delivery events | Webhook signature |
All endpoints return JSON. Rate limits are per-tenant and configurable. Full OpenAPI specification available on request.
We provide the infrastructure that proves you delivered. Each vertical has its own statutory requirements, notice periods, and evidentiary standards. You bring the legal requirements; we provide the proof.
Notices of violation, abatement orders, reinspection scheduling. Track compliance deadlines and prove service to the property owner.
Eviction notices, cure-or-quit notices, rent demands. Varying notice periods by state and county — the API binds each send to the specific statutory requirement.
Validation notices, dispute notices, cease-and-desist confirmations. Reg F governs content and timing strictly — our API proves delivery, not Reg F compliance.
Assessment notices, lien claims, hearing notices. State-specific delivery requirements for liens and foreclosures.
Non-renewal notices, cancellation notices, policy changes. Statutory notice periods vary by state — we prove the notice was sent within the required window.
Any notice that needs cryptographic proof of delivery. The API is vertical-agnostic — bring your own legal requirements and we provide the proof infrastructure.
Per-communication pricing that scales down as volume goes up. Enterprise plans include dedicated onboarding, custom MSA, invoicing, and SLA guarantees.
per certified communication
Up to 100 communications/month
per certified communication
100 — 5,000 communications/month
volume-based pricing
5,000+ communications/month
All plans include USPS certified mail, tracking, electronic return receipt, and full custody chain. Cancel anytime.
A compliance officer evaluating this product will ask two questions before anything else: where does the PDF live, and how long do you keep it. Here are the answers.
Document files are encrypted at rest in Cloudflare R2 storage. Database records (Supabase/PostgreSQL) are encrypted at rest with AES-256. All transit is TLS 1.3.
Each tenant gets isolated API keys, isolated Lob credentials, and row-level security (RLS) in the database. One tenant cannot access another tenant's documents, communications, or custody chains.
Default retention is 7 years from delivery date, matching standard legal records requirements. Enterprise tenants can configure shorter or longer retention periods. Documents are securely deleted after retention expiry.
Every API call, document access, and custody event is logged with timestamp, tenant ID, and IP address. Enterprise plans include exportable audit logs for compliance reviews.
The public verification endpoint exposes only delivery facts — tracking number, status, timestamps, custody chain, and document hash. No recipient name, address, or tenant information is returned to public callers.
SOC 2 Type II audit is on the roadmap. Data Processing Agreement (DPA) available for Enterprise tenants. We do not train models on customer documents.
Need a security review? We provide architecture documentation, data flow diagrams, and a DPA template for Enterprise tenants. Contact us at hello@mailmypdf.com.
We want to be crystal clear about the boundary of our product. Proof-of-Service proves that a notice was sent, delivered, and received. It does not — and cannot — verify that your notice content, timing, or format complies with any specific statute or regulation.
FDCPA — Proof-of-Service proves delivery — not compliance.
This API generates and preserves cryptographic evidence that a notice was sent and delivered. It does not verify that your notice content, timing, or format complies with any federal or state statute. You are responsible for ensuring your notice meets all legal requirements. Consult qualified legal counsel.
Each vertical — code enforcement, landlord-tenant, FDCPA, HOA, insurance — has its own statutory requirements that govern notice content, timing, format, and delivery method. Proof-of-Service provides the evidentiary infrastructure. You and your legal counsel are responsible for ensuring compliance with applicable law.
Contact our team to discuss API access, enterprise pricing, and onboarding for your organization. We'll set up a tenant, configure your webhooks, and get you sending verifiable certified mail within a day.