{"openapi":"3.1.0","info":{"title":"MedFabric API","version":"1.0.0","description":"Healthcare provider verification & monitoring built on the GeoFabric graph: 7.3M NPPES identities, state medical-board licenses, OIG LEIE / SAM.gov / OFAC sanctions, CMS PECOS enrollments, CMS Physician Compare education, HRSA shortage areas, and 3.3M+ Medicare billing-reassignment edges."},"servers":[{"url":"https://medfabric.org/api/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/verify":{"get":{"summary":"Verify one provider (legacy verification shape)","parameters":[{"name":"npi","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationResult"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/verify/batch":{"post":{"summary":"Verify up to 100 NPIs","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["npis"],"properties":{"npis":{"type":"array","items":{"type":"string"},"maxItems":100}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/VerificationResult"}},"summary":{"type":"object"}}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/verify/export":{"post":{"summary":"Batch verify and export (CSV or JSON attachment)","parameters":[{"name":"format","in":"query","schema":{"type":"string","enum":["csv","json"],"default":"csv"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"npis":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"File attachment"}}}},"/providers/{npi}":{"get":{"summary":"Full provider record (CD contract shape)","parameters":[{"name":"npi","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"},"description":"10-digit NPI"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderRecord"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/providers/{npi}/history":{"get":{"summary":"Monitoring + compliance event history","parameters":[{"name":"npi","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"},"description":"10-digit NPI"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/providers/{npi}/evidence":{"get":{"summary":"Audit-grade evidence bundle (record + checklist + sources + SHA-256 integrity hash)","parameters":[{"name":"npi","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"},"description":"10-digit NPI"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceBundle"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/search":{"get":{"summary":"Search providers by name","parameters":[{"name":"last_name","in":"query","required":true,"schema":{"type":"string","minLength":2}},{"name":"first_name","in":"query","schema":{"type":"string"}},{"name":"state","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","maximum":50,"default":20}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object"}},"count":{"type":"integer"}}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/network/{npi}":{"get":{"summary":"Billing network for an individual NPI (Medicare reassignment edges from CMS PPEF)","parameters":[{"name":"npi","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"},"description":"10-digit NPI"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"object"},"affiliations":{"type":"array","items":{"type":"object"}}}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/network/org/{npi}":{"get":{"summary":"Individuals billing through an organization NPI","parameters":[{"name":"npi","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{10}$"},"description":"10-digit NPI"},{"name":"limit","in":"query","schema":{"type":"integer","maximum":200,"default":100}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"organization":{"type":"object"},"members":{"type":"array","items":{"type":"object"}},"statistics":{"type":"object"}}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/roster":{"get":{"summary":"List the caller's monitored roster","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"Add or remove a roster entry","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"npi":{"type":"string"},"action":{"type":"string","enum":["add","remove"]}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/changes":{"get":{"summary":"Change feed (license/exclusion status changes)","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/recent":{"get":{"summary":"Recent verifications for the caller","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/status":{"get":{"summary":"System status + dataset counts + freshness","security":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/coverage":{"get":{"summary":"State license-coverage map","security":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/webhooks":{"get":{"summary":"List webhook subscriptions","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"Create a webhook subscription (enterprise)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Missing/invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key from the MedFabric dashboard (gfm_...)"}},"schemas":{"Error":{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"type":"string"}}},"Exclusion":{"type":"object","properties":{"excluded":{"type":"boolean"},"since":{"type":["string","null"]},"reason":{"type":["string","null"]}}},"License":{"type":"object","properties":{"state":{"type":"string"},"num":{"type":"string"},"type":{"type":["string","null"]},"status":{"type":"string"},"issued":{"type":["string","null"]},"exp":{"type":["string","null"]},"authority":{"type":["string","null"]},"src":{"type":"string"},"uncovered":{"type":"boolean"},"action":{"type":["string","null"],"description":"Disciplinary action text when available"}}},"ProviderRecord":{"type":"object","description":"The CD contract record returned by /providers/{npi}","properties":{"npi":{"type":"string"},"first":{"type":["string","null"]},"last":{"type":["string","null"]},"org":{"type":["string","null"]},"entity":{"type":"string","enum":["Individual","Organization"]},"specialty":{"type":["string","null"]},"taxonomy":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"verdict":{"type":"string","enum":["compliant","non_compliant","unverified","no_coverage"]},"licenses":{"type":"array","items":{"$ref":"#/components/schemas/License"}},"oig":{"$ref":"#/components/schemas/Exclusion"},"sam":{"$ref":"#/components/schemas/Exclusion"},"ofac":{"$ref":"#/components/schemas/Exclusion"},"pecos":{"type":"object","properties":{"enrolled":{"type":"boolean"},"type":{"type":["string","null"]},"states":{"type":"array","items":{"type":"string"}}}},"education":{"type":["object","null"],"properties":{"medicalSchool":{"type":["string","null"]},"graduationYear":{"type":["integer","null"]},"credentials":{"type":["string","null"]},"secondarySpecialties":{"type":"array","items":{"type":"string"}}}},"sources":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string"},"ageH":{"type":"number"},"tier":{"type":"string"}}}},"hpsa":{"type":["object","null"]},"completeness":{"type":"object","properties":{"score":{"type":"integer"},"factors":{"type":"array","items":{"type":"object"}}}},"summary":{"type":"string"},"insights":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"text":{"type":"string"}}}},"monitored":{"type":"boolean"}}},"VerificationResult":{"type":"object","properties":{"npi":{"type":"string"},"verification_status":{"type":"string"},"compliance":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}},"provider":{"type":["object","null"]},"license":{"type":["object","null"]},"oig_exclusion":{"type":["object","null"]},"sam_exclusion":{"type":["object","null"]},"medicare_enrollment":{"type":["object","null"]}}},"EvidenceBundle":{"type":"object","properties":{"bundle_type":{"type":"string","const":"medfabric.evidence.v1"},"npi":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"record":{"$ref":"#/components/schemas/ProviderRecord"},"credentialing_checklist":{"type":"object"},"sources_checked":{"type":"array","items":{"type":"object"}},"content_sha256":{"type":"string"}}}}}}