Quickstart
Send your first registered delivery in five minutes. Everything here runs in test mode: nothing is sent to anyone and nothing is billed.
1. Get a test key
Create a free account, or sign in. In the portal, open API keys and make a key in test mode. Test keys start with ps_.
Keep the key out of your code:
export PARASEND_KEY=ps_test_...
2. Upload a file
Upload the document to send. The answer is the file's ID and its SHA-256.
curl -X POST "https://api.parasend.com/v1/files" \
-H "Authorization: Bearer $PARASEND_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-F "file=@invoice-2026-114.pdf"
{
"id": "fil_01M6P3Q7Z8XK2VQ4N9R5T1W3YB",
"object": "file",
"name": "invoice-2026-114.pdf",
"bytes": 48213,
"sha256": "9f2c…",
"created": "2026-11-06T10:12:03Z"
}
3. Send the delivery
Send it to a recipient, with the file's ID. Use your own e-mail address: in test mode it receives nothing, but you will open the link yourself in the next step.
curl -X POST "https://api.parasend.com/v1/deliveries" \
-H "Authorization: Bearer $PARASEND_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"recipient": { "name": "Anna Björk Jónsdóttir", "email": "anna.bjork@example.com", "verification_level": "low" },
"files": ["fil_01M6P3Q7Z8XK2VQ4N9R5T1W3YB"],
"title": "Final notice: invoice 2026-114",
"language": "en"
}'
The answer is the delivery. Keep its id. Its delivery_ is the recipient's link.
4. Open it as the recipient
Open the delivery_ in a browser and confirm receipt. With verification_ the link alone is enough. To try an SMS code instead, send with "verification_ and a phone: in test mode no SMS is sent and the code is always 000000.
5. See what happened
List the delivery's events:
curl "https://api.parasend.com/v1/deliveries/dlv_.../events" \
-H "Authorization: Bearer $PARASEND_KEY"
You will see delivery., delivery., delivery. and delivery.. In production you would not poll: add a webhook endpoint and Parasend sends each event as it happens.
6. Download the proof
curl "https://api.parasend.com/v1/deliveries/dlv_.../evidence/document" \
-H "Authorization: Bearer $PARASEND_KEY" \
-o delivery-certificate.pdf
That is the Delivery Certificate: who sent what to whom, how the recipient verified, and when each step happened.
Next
- Receiving webhooks, and checking their signature.
- Authentication: permissions, and moving to a live key.
- Batches: many deliveries at once, with follow-up.
- Follow-up policies: the reminders a delivery sends while it waits.