Integrations

Works with your HIS

One API call, authenticated with a single key. A CSV fallback if your vendor won't build it. And an honest answer to “who has actually integrated” — not a logo grid.

The mechanism

Your HIS reports a business event with one HTTP call. Zilo's rules engine owns timing, consent, and channel selection from there — your system is never blocked waiting on a downstream send.

POST/api/v1/events
curl -s -X POST https://<your-zilo-host>/api/v1/events \
  -H "Authorization: Bearer zilo_sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
        "event_type": "visit.completed",
        "occurred_at": "2026-08-02T10:15:00+05:30",
        "patient": {
          "name": "Asha Devi",
          "phone": "9812345678",
          "external_id": "HIS-4471"
        }
      }'

Returns 202 Accepted with { event_id, status, duplicate, request_id } immediately — no waiting on the send. Authentication is a single bearer API key, issued from the Zilo dashboard (Integrations → API Keys), scoped to reputation:events.

Full reference — auth, rate limits, idempotency, error codes — is at docs/api/v1.md.

If your vendor won't build an API integration

Not every HIS/EMR vendor will prioritise a custom integration for one clinic. The dashboard's CSV bulk-upload escape hatch covers the same ground: export your patient contact list, upload it in the Zilo dashboard, and every row runs through the exact same guardrails (suppression, dedupe, monthly cap, consent) a live API call would — no engineering work, no waiting on your vendor's roadmap.

Your vendor isn't listed?

Send them this page. The mechanism above is everything they need to get started — one POST, one API key, and a reference doc.

zilo.care/integrations