Zapier
Connect HealthTable to thousands of apps without writing code.
Developers
Everything a person can do in HealthTable goes through the same APIs you get. Build your product on it, sync it with your systems or give your assistants safe read access.
curl https://api.healthtable.example/api/v1/tables/$TABLE_ID/records \
-H "Authorization: Bearer $HT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"fld_reason": "Medication question",
"fld_due_at": "2026-11-02T16:00:00Z",
"fld_patient": ["rec_pt482"]
}
}'Read and write records with scoped keys. Described by an OpenAPI 3.1 spec.
A FHIR server per clinical app, with search, history, bundles and terminology.
Signed outbound events when records change, with retries.
Connect assistants to an app through the Model Context Protocol. Read only.
REST API
A public REST surface for listing, reading, creating, updating and deleting records, with the same validation and permissions as the app. The spec is published as OpenAPI 3.1, so you can generate a client in your language.
GET/api/v1/tables/{tableId}/records
GET/api/v1/tables/{tableId}/records/{recordId}
POST/api/v1/tables/{tableId}/records
PATCH/api/v1/tables/{tableId}/records/{recordId}
DELETE/api/v1/tables/{tableId}/records/{recordId}
GET/v1/openapi.json
GET /metadata
CapabilityStatement · 19 resources from Core
Clinical installed · 45 resources
GET /Patient?family=Okafor
Bundle · searchset · 1 match
POST / transaction
Patient + Observation · 2 created
GET /Observation/obs82/_history
3 versions from the event log
GET /ValueSet/$expand
LOINC vital signs · 9 codes
FHIR R4 API
Each FHIR app serves its own base URL. The CapabilityStatement reflects the packs installed, and every resource version comes from the event log.
Webhooks
Subscribe an endpoint to record events. Each delivery carries an HMAC SHA256 signature with a timestamp, so you can verify it came from HealthTable and reject replays.
import { createHmac, timingSafeEqual } from "node:crypto";
// X-HT-Signature: t=<unix seconds>,v1=<hex hmac>
export function verify(rawBody: string, header: string, secret: string) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const signed = `${parts.t}.${rawBody}`;
const expected = createHmac("sha256", secret).update(signed).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300;
return fresh && timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}{
"mcpServers": {
"triage-app": {
"url": "https://api.healthtable.example/mcp/v1",
"headers": { "Authorization": "Bearer $HT_API_KEY" }
}
}
}
// tools: describe_schema, query_records, get_record, aggregateMCP server
Every application exposes a Model Context Protocol server. Assistants can describe the schema, query and aggregate records, scoped by an API key and logged like any other client.
Also available
Connect HealthTable to thousands of apps without writing code.
Run your own script as an automation step, isolated from the platform.
HL7 v2, Consolidated CDA and X12 eligibility and claims are planned.
Tell us what you are building. We will set up a sandbox application and walk your team through the APIs.