Quickstart

The smallest working integration: create a dispatch, and let Ferrymark handle notification, retries, and receipts.

1. Create a dispatch

Point Ferrymark at a file your backend already has access to, and list who should receive it.

// server const dispatch = await ferrymark.dispatch.create({ fileUrl: "s3://exports/onboarding-kit.zip", recipients: ["ops@delridge-partners.com"], expiresIn: "72h", });

2. Recipients get a scoped link

Each recipient receives their own email with a unique, expiring link — not a shared URL passed around between people.

3. Receive delivery receipts

Register a webhook once, and get notified the moment a link is opened or a download completes.

// webhook payload { "event": "dispatch.opened", "dispatchId": "dsp_2f7a91", "recipient": "ops@delridge-partners.com", "openedAt": "2026-09-15T09:14:02Z" }

Retry behavior

A failed email or webhook delivery is retried up to four times on an increasing backoff. If all attempts fail, the dispatch is marked needs_review and your registered webhook is notified once, not on every retry.