Skip to content

Developers

Connect your system to the rest of healthcare.

Standard REST, bearer-token auth and signed webhooks. Suppliers integrate in an afternoon; everyone else plugs in through the connections below.

Live

Supplier catalog API

Push your catalog from your own system with one authenticated request. Products land in review; nothing publishes itself.

Live

Signed fulfillment webhooks

Receive released orders the moment payment clears, signed so you can verify every delivery came from Porto MD.

Live

Calendar sync (Google, ICS)

Provider calendars sync with Google Calendar or any ICS client, so availability is always real.

Live

Accounting sync (QuickBooks Online)

Invoices and payments sync to QuickBooks Online for reconciliation.

Live

SMS & email notifications

Appointment reminders and updates by SMS and email, with opt-in consent recorded.

In development

Platform API for enterprise

Programmatic access to scheduling, records and orders for enterprise groups, available by arrangement as it rolls out.

Supplier catalog API

One request. Straight into review.

Send up to 1,000 products per request with your API key. They arrive in Porto MD's intake queue as drafts; Porto MD reviews them and sets pricing and visibility. You never set selling price, margin or visibility yourself.

  • Per-supplier API keys, issued and rotated by your Porto MD account manager.
  • Your cost data is admin-only and never shown on any public or customer surface.
POST /api/v1/supplier/products
curl https://www.portomd.com/api/v1/supplier/products \
  -H "Authorization: Bearer pmd_sk_••••••••" \
  -H "Content-Type: application/json" \
  -d '{ "products": [{
        "product_name": "Your product name",
        "product_category": "Medical supplies",
        "supplier_sku": "YOUR-SKU-001",
        "min_order_qty": 1
      }] }'
200 OK
{ "ok": true, "created": 1, "skipped": 0, "errors": [] }

Fulfillment webhooks

Orders arrive after payment clears.

When an order is released, Porto MD posts it to your endpoint with a timestamp and an HMAC-SHA256 signature over the timestamp and body. Verify the signature, reject stale timestamps, and ship. Tracking flows back through your portal or API.

Webhook delivery
POST https://your-system.example/porto/orders
X-PortoMD-Event: order.released
X-PortoMD-Timestamp: 1790290000
X-PortoMD-Signature: t=1790290000,v1=<HMAC-SHA256(secret, "t.body")>