Testing your connector
After you apply, we work closely with you to test the connector the same way Heidi calls it in production. The checks below cover every rule in the specification. Heidi runs them again during review.
What it checks
| Check | Rule |
|---|---|
transport.https | Served over HTTPS |
auth.missing_credential_rejected / auth.invalid_credential_rejected | HTTP 401 without a valid key |
connector.reachable | The URL answers (and, for MCP, completes the handshake) |
tools.required_present / tools.output_schemas | MCP only: all required tools exist with schemas |
info.* | Connector info is valid, spec version matches, required capabilities advertised |
practitioners.* | Practitioners match the schema and the list isn't empty |
appointments.shape / appointments.timezone_aware | Appointments match the schema and carry UTC offsets |
appointments.scoped_to_practitioner | Only the requested practitioner's appointments |
appointments.patient_name_matches_record | An appointment's patient name matches that patient's record |
appointments.rejects_inverted_range | invalid_argument for a bad date range |
patients.* | Search requires criteria; search and read match the schema; unknown IDs return not_found |
notes.push_shape / notes.push_idempotent | Push returns a note ID; the same key never creates a second note |
performance.latency | Warns on calls slower than 5 seconds |
Your sandbox needs at least one practitioner with appointments in the next 7 days and a test patient you're happy to write notes to.