Skip to content

Credentials

Manage EDFlow API credentials: self-serve in the developer portal or issued by the hospital or the vendor, shown once, rotation with overlap, expiry reminders, revocation, and what to do if a key leaks.

Credentials and keys: each credential with its type, prefix, created date and last use.
WebCaptured from build 5003605 on September 27, 2026

Where credentials come from

PathWhoNotes
Self-serve in the developer portalIntegration developersSandbox apps are active at once. Customer-test and live apps need approval by a different person first
Issued to an EMR team by the platform operatorYour EDFlow contactZero-knowledge: no secret exists until the recipient signs in and presses Reveal. Or the team registers a public key and no secret is ever created
HMAC source keys by the hospital's integration analystIntegration analystsFor /ehr/v1/*. See Sources and keys
Sources and keys: registered sources with status, key versions and last use, and Rotate and Disable.
WebCaptured from build 7c7f41f on September 27, 2026

Formats

CredentialFormatSecret?
Client idedf_{env}_cli_…No, public
Client secretedf_{env}_cs_… with a checksumYes, shown once
API keyedf_{env}_sk_… with a checksumYes, shown once
Webhook signing secretwhsec_…Yes, shown once
Access tokenJWTYes, 5 minutes

{env} is test (sandbox), uat (customer test) or live. The prefix and checksum let secret scanners detect leaked credentials with almost no false positives.

Lifecycle

stateDiagram-v2
  [*] --> active: create (shown once)
  [*] --> pending_reveal: issued by the platform
  pending_reveal --> active: recipient reveals
  active --> expiring: rotate (overlap starts)
  expiring --> expired: overlap ends
  active --> expired: expiry date reached
  active --> revoked: revoke (immediate)
  expiring --> revoked: revoke
  • Shown once. The reveal dialog offers Copy and Download .env and asks you to confirm you've stored it. Afterwards only the prefix and last 4 characters are visible, everywhere.
  • Rotate with overlap: a new credential; the old one keeps working for the overlap you choose (1 hour, 24 hours, 7 days by default, or 30 days). Last used for each shows when the old one goes quiet, so you can end the overlap early.
  • Expiry: live client secrets 365 days, API keys 90 days. Reminders by email and by the integration.credential_expiring webhook at 30, 7 and 1 days.
  • Revoke: immediate. Every token minted with it fails on its next use.
  • Public keys: a JWKS URL (recommended) or up to 5 uploaded keys (RSA 2048+ or EC P-256/P-384).
  • mTLS: up to 4 certificate thumbprints, or a subject DN with your organization's CA bundle.

Revealing and rotating in customer test and live needs a fresh sign-in check, an approved app, and a person who isn't the app's approver.

If a key leaks

Revoke

Revoke the credential in the portal (or ask the integration analyst to disable the source for an HMAC key). It stops working at once.

Rotate

Create a replacement and update your engine's secret store.

Review

Check the portal's request log for the credential's IP addresses and operations since the leak.

Notify

The hospital's privacy office has already received an automatic alert. Export the audit trail they ask for and follow their incident process.

Never paste a credential into a ticket, a chat or these docs' assistant.

Last updated on

Was this page helpful?

On this page