The partner API
When a letter is scanned or a Spanish notification is collected, we send a webhook to your system within a minute. Each event includes the client, sender, any amount and deadline we found, the OCR text and a signed link to the PDF.
You can also query everything over a REST API with a key for your firm, so it fits whatever practice software you already use.
- Auth
- API key per firm; webhooks signed with HMAC-SHA256
- Format
- JSON over HTTPS; PDFs via expiring signed URLs
- Plans
- Included in Asesoría and Firma, +€39/month on Despacho
POST https://your-firm.example/hooks/holapost { "event": "notification.received", "client": { "id": "cl_8Hq2", "name": "Sol y Mar S.L.", "tax_id": "B12345678" }, "item": { "id": "nt_51Xk9", "type": "notification", "sender": { "code": "AEAT", "name": "Agencia Tributaria" }, "subject": "Requerimiento de información — Modelo 303", "summary_en": "Hacienda is asking for invoices supporting the Q2 VAT return.", "amount": null, "made_available_at": "2026-10-01T09:12:00+02:00", "deemed_delivered_at": "2026-10-11T09:12:00+02:00", "response_due": "2026-10-15", "pdf_url": "https://api.holapost.com/v1/items/nt_51Xk9/pdf?sig=…" } }
# Everything new for one client since yesterday curl https://api.holapost.com/v1/items \ -H "Authorization: Bearer $HOLAPOST_KEY" \ -G -d client=cl_8Hq2 \ -d since=2026-09-30 \ -d type=notification,mail # → 200 OK { "data": [ { "id": "nt_51Xk9", "sender": { "code": "AEAT" }, … } ], "next_cursor": null }
# Fetch the original PDF
curl -L https://api.holapost.com/v1/items/nt_51Xk9/pdf \
-H "Authorization: Bearer $HOLAPOST_KEY" \
-o requerimiento-B12345678.pdf
Webhook events
Failed deliveries are retried with backoff for 24 hours.
| mail.received | A paper letter or parcel has been logged and scanned for a client. |
|---|---|
| notification.received | A Spanish digital notification has been collected and opened. |
| notification.deadline_soon | A response or payment deadline is three working days away and the item isn’t marked handled. |
| item.handled | Someone at your firm marked an item as handled. |
| client.verified | A client has finished ID verification and their authorisation is active. |
Endpoints
| GET | /v1/clients | List your clients and their status |
| POST | /v1/clients | Create a client and send their onboarding email |
| GET | /v1/items | List post and notifications, filtered by client, type, sender or date |
| GET | /v1/items/{id} | One item with its summary, OCR text and deadlines |
| GET | /v1/items/{id}/pdf | The original scan or notification as a PDF |
| POST | /v1/items/{id}/handled | Mark an item handled from your own system |
| POST | /v1/items/{id}/forward | Ask us to post the original to an address |
Full API documentation and a sandbox key are available to partners. Ask for access and we’ll send them over.
Request API accessSee if it fits your firm.
A 20-minute call is usually enough. We’ll look at how you handle clients’ post and notifications today, and set up a trial account with a few of your clients.
Book a call