Patient-authorized EHR integration
Products built for developers and the agents they work with.
Hosted Connect, the Records API, the Consent Ledger, MCP endpoints, the accountless demo, the Scenario Sandbox, and the Conformance Suite, each with a first request, agent setup, reference tables, and boundaries.
Available now
Set FINCHNODE_API_KEY once in the shell that runs these commands or starts your agent client (replace ck_test_... with your sandbox key; it is the only key value to substitute)
export FINCHNODE_API_KEY=ck_test_...
In the first requests below, SUBJECT is an app-scoped subject ID, which a completed Connect session exposes and GET /users lists; RECEIPT_ID is a consent receipt ID, found in record responses (consent.receiptIds) and in webhook events. Each product page says more.
Connect
One hosted link takes a patient from provider search to a signed consent receipt.
- Status: Available
- Base URL: https://api.finchnode.com/api/v1
- Auth: Sandbox or live API key
- OpenAPI: https://finchnode.com/openapi.yaml
- Authenticated MCP endpoint (API key):
https://api.finchnode.com/api/mcp
First request: Create a sandbox Connect session
curl -X POST https://api.finchnode.com/api/v1/connect/sessions -H "Authorization: Bearer $FINCHNODE_API_KEY" -H "Idempotency-Key: <a fresh UUID>" -H "Content-Type: application/json" -d '{"returnUrl":"http://localhost:3000/return"}'
Markdown twin
Records
Consent-filtered, normalized health records with stable IDs, cursor pages, and a change feed.
- Status: Available
- Base URL: https://api.finchnode.com/api/v1
- Auth: Sandbox or live API key
- OpenAPI: https://finchnode.com/openapi.yaml
- Authenticated MCP endpoint (API key):
https://api.finchnode.com/api/mcp
First request: Read a consent-filtered snapshot
curl "https://api.finchnode.com/api/v1/users/$SUBJECT/records?categories=medications,labs" -H "Authorization: Bearer $FINCHNODE_API_KEY"
Markdown twin
Consent
Versioned consent receipts and signed, retryable webhooks for every grant, revocation, and sync.
- Status: Available
- Base URL: https://api.finchnode.com/api/v1
- Auth: Sandbox or live API key
- OpenAPI: https://finchnode.com/openapi.yaml
- Authenticated MCP endpoint (API key):
https://api.finchnode.com/api/mcp
First request: Fetch a consent receipt
curl https://api.finchnode.com/api/v1/consents/$RECEIPT_ID -H "Authorization: Bearer $FINCHNODE_API_KEY"
Markdown twin
MCP
Two Streamable HTTP MCP endpoints: a keyless synthetic demo and your consented records.
- Status: Available
- Base URL: https://api.finchnode.com/demo/mcp (public demo, no key) and https://api.finchnode.com/api/mcp (authenticated, API key)
- Auth: None for the demo endpoint; API key for the authenticated endpoint
- OpenAPI: https://finchnode.com/openapi.yaml
- OpenAPI: https://finchnode.com/demo-openapi.json
- Public demo MCP endpoint (no key, synthetic):
https://api.finchnode.com/demo/mcp - Authenticated MCP endpoint (API key):
https://api.finchnode.com/api/mcp
First request: List the demo MCP tools
curl -X POST https://api.finchnode.com/demo/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Markdown twin
Demo
Twelve named synthetic scenarios from two synthetic sources, with no account or API key.
- Status: Available
- Base URL: https://api.finchnode.com/demo/v1
- Auth: None
- OpenAPI: https://finchnode.com/demo-openapi.json
- Public demo MCP endpoint (no key, synthetic):
https://api.finchnode.com/demo/mcp
First request: Read a synthetic health record
curl 'https://api.finchnode.com/demo/v1/users/patient-demo-001/records?categories=demographics,labs,medications'
Markdown twin
Sandbox
Named synthetic patients and deterministic failure cases, on the public demo and inside your sandbox.
- Status: Available
- Base URL: https://api.finchnode.com/demo/v1 (public demo, no key) and https://api.finchnode.com/api/v1 (simulation and controls, sandbox key)
- Auth: None for the demo scenarios; sandbox key for simulation and controls
- OpenAPI: https://finchnode.com/openapi.yaml
- OpenAPI: https://finchnode.com/demo-openapi.json
- Public demo MCP endpoint (no key, synthetic):
https://api.finchnode.com/demo/mcp - Authenticated MCP endpoint (API key):
https://api.finchnode.com/api/mcp
First request: List the named synthetic scenarios
curl https://api.finchnode.com/demo/v1/scenarios
Markdown twin
Conformance
A scripted run that grades how your sandbox app handles consent, pagination, rate limits, and webhooks.
- Status: Available
- Base URL: https://api.finchnode.com/api/v1
- Auth: Sandbox key on a sandbox application
- OpenAPI: https://finchnode.com/openapi.yaml
- Authenticated MCP endpoint (API key):
https://api.finchnode.com/api/mcp
First request: Start a conformance run
curl -X POST https://api.finchnode.com/api/v1/conformance/runs -H "Authorization: Bearer $FINCHNODE_API_KEY" -H "Content-Type: application/json" -d '{"scenario":"polypharmacy-senior"}'
Markdown twin
For coding agents
Machine-readable resources
MCP endpoints (Streamable HTTP, JSON-RPC over POST only)
- Public demo MCP endpoint (no key, synthetic)
https://api.finchnode.com/demo/mcp- Authenticated MCP endpoint (API key)
https://api.finchnode.com/api/mcp