Federal tax identification number of the organization operating the site. Empty string when not known, and always empty for customer accounts.
Endpoints
Site research
/v0/sites/{site_id}/researchTrigger AI research for a site
Trigger AI research for a site in the background.
Returns the current site data immediately. The research runs asynchronously;
poll GET /v0/sites/<site_id> and check researchFinished for completion.
Parameters
site_idstringpath, requiredThe id of the site to research.
ReturnsSuccess
siteobjectThe site's own fields.
site.idstringUnique identifier of the site.
site.npisstring[]National Provider Identifiers registered to the site, each a 10-digit number as text. Empty when none is known.
site.isFacilitybooleanWhether the site is a facility, such as a hospital, clinic or pharmacy, rather than an individual practitioner.
site.namestringName of the site.
site.updatedAtstringWhen the site was last updated, as an RFC 3339 timestamp in UTC.
siteEvidenceobjectPer-field research provenance for the site-level scalars (system name, phone, main fax, website). Departments carry their own evidence inline on each department's `evidence` field.
hasEmbeddingbooleanWhether the site is indexed for name-and-address similarity matching, so new submissions can be matched to it.
hasReferenceDatabooleanWhether there is a reference half to toggle to, i.e. whether the details Reference control should render. When `reference` is included in the response, this is `true` exactly when `reference` is present. Otherwise it reflects whether the site has reference links at all, and may occasionally be `true` for a link that no longer resolves; the first Reference request corrects it.
Conditional attributes
site.taxIdstringsite.addressLine1stringFirst line of the street address. Empty string when not known.
site.addressLine2stringSecond line of the street address, such as a suite or building. Empty string when there is none.
site.citystringCity of the site's address. Empty string when not known.
site.zipstringZIP code of the site's address, as text so leading zeros are kept. Empty string when not known.
site.phonestringMain telephone number of the site. Empty string when not known.
site.mainFaxstringMain fax number of the site in E.164 format. Separate from the departments' fax numbers. Null when not known.
site.emailstringGeneral email address of the site. Separate from the departments' email addresses. Empty string when not known.
site.statestringState of the site's address, normally a two-letter code. Empty string when not known.
site.systemNamestringName of the health system the site belongs to. Empty string when not known.
site.primarySpecialtystringPrimary medical specialty of the site. Empty string when not known.
site.latitudenumberLatitude of the site in decimal degrees. Null when the address has not been located on a map, such as a PO box.
site.longitudenumberLongitude of the site in decimal degrees. Null when the address has not been located on a map, such as a PO box.
site.formattedAddressstringComplete address of the site on one line. Empty string when not known.
site.researchFinishedstringWhen the most recent full research run on the site's contact details finished, as an RFC 3339 timestamp in UTC. Null when the site has not been researched.
site.researchDurationMsintegerWall-clock duration of the most recently completed AI research run.
site.operationalStatusstringOperational status determined by AI research; null until a site has been researched.
site.operationalStatusNotestringGenerated explanation shown under the operational status (why the facility is closed/acquired and where records were transferred).
site.placeIdstringIdentifier of the map place the site's address and name were verified against. Empty string when the site has not been verified.
site.addressHashintegerNumeric fingerprint of the site's normalized address, used to find sites at the same address. Null when the address has not been normalized.
site.fingerprintedAtstringWhen the site's address was last normalized and fingerprinted, as an RFC 3339 timestamp in UTC. Null when it never has been.
site.dedupConsideredAtstringWhen the site was last reviewed for duplicate records, as an RFC 3339 timestamp in UTC. Null when it never has been.
site.websitestringWebsite of the site. Empty string when not known.
site.acceptsEsignaturebooleanWhether the site accepts electronically signed authorizations with a record request. Null when not known.
site.googlePlacesNamestringName of the site as listed by the map place in `placeId`. Empty string when the site has not been verified.
site.dataSourcesstring[]Internal provenance labels for the site's information. Omitted when empty, and always empty for customer accounts.
site.npiEnumerationDatestringDate (YYYY-MM-DD) the site's NPI was first issued in the national provider registry. Null when not known.
site.npiDeactivationReasonstringReason the national provider registry gives for deactivating the site's NPI. Empty string when the NPI has not been deactivated.
site.npiDeactivationDatestringDate (YYYY-MM-DD) the site's NPI was deactivated. Null when it has not been.
site.npiReactivationDatestringDate (YYYY-MM-DD) a deactivated NPI was reactivated. Null when it has not been.
site.medicalDepartmentIdstringIdentifier of the department that receives medical records requests for this site. Null when none is routed.
site.facilityBillingDepartmentIdstringIdentifier of the department that receives facility billing records requests. Null when none is routed.
site.physicianBillingDepartmentIdstringIdentifier of the department that receives physician billing records requests. Null when none is routed.
site.imagingBillingDepartmentIdstringIdentifier of the department that receives imaging billing records requests. Null when none is routed.
site.emergencyRoomBillingDepartmentIdstringIdentifier of the department that receives emergency room billing records requests. Null when none is routed.
site.anesthesiologyBillingDepartmentIdstringIdentifier of the department that receives anesthesiology billing records requests. Null when none is routed.
site.imagingDepartmentIdstringIdentifier of the department that receives imaging records requests. Null when none is routed.
managingOrganizationIdstringThe Organization that manages this site's Location — the legacy `Org-{site_id}` for untouched rows, a minted `Org-mint-{ksuid}` once the site has been through org dedup. Resolved from the projection because it is no longer derivable from the site id.
siteEvidence.systemNameobjectProvenance and sign-off for the site's `systemName`.
siteEvidence.systemName.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.systemName.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.systemName.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.systemName.confirmedAtstringWhen the value was confirmed.
siteEvidence.systemName.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.phoneobjectProvenance and sign-off for the site's `phone`.
siteEvidence.phone.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.phone.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.phone.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.phone.confirmedAtstringWhen the value was confirmed.
siteEvidence.phone.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.mainFaxobjectProvenance and sign-off for the site's `mainFax`.
siteEvidence.mainFax.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.mainFax.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.mainFax.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.mainFax.confirmedAtstringWhen the value was confirmed.
siteEvidence.mainFax.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.websiteobjectProvenance and sign-off for the site's `website`.
siteEvidence.website.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.website.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.website.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.website.confirmedAtstringWhen the value was confirmed.
siteEvidence.website.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.operationalStatusobjectProvenance and sign-off for the site's operational status (whether it is open, closed, merged or relocated).
siteEvidence.operationalStatus.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.operationalStatus.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.operationalStatus.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.operationalStatus.confirmedAtstringWhen the value was confirmed.
siteEvidence.operationalStatus.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.nameobjectSign-off for the site's `name`.
siteEvidence.name.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.name.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.name.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.name.confirmedAtstringWhen the value was confirmed.
siteEvidence.name.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.taxIdobjectSign-off for the site's `taxId`.
siteEvidence.taxId.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.taxId.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.taxId.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.taxId.confirmedAtstringWhen the value was confirmed.
siteEvidence.taxId.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.isFacilityobjectSign-off for the site's `isFacility`.
siteEvidence.isFacility.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.isFacility.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.isFacility.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.isFacility.confirmedAtstringWhen the value was confirmed.
siteEvidence.isFacility.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.emailobjectProvenance and sign-off for the site's `email`.
siteEvidence.email.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.email.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.email.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.email.confirmedAtstringWhen the value was confirmed.
siteEvidence.email.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.primarySpecialtyobjectSign-off for the site's `primarySpecialty`.
siteEvidence.primarySpecialty.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.primarySpecialty.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.primarySpecialty.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.primarySpecialty.confirmedAtstringWhen the value was confirmed.
siteEvidence.primarySpecialty.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.acceptsEsignatureobjectSign-off for the site's `acceptsEsignature`.
siteEvidence.acceptsEsignature.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.acceptsEsignature.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.acceptsEsignature.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.acceptsEsignature.confirmedAtstringWhen the value was confirmed.
siteEvidence.acceptsEsignature.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.addressLine1objectSign-off for the site's `addressLine1`.
siteEvidence.addressLine1.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.addressLine1.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.addressLine1.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.addressLine1.confirmedAtstringWhen the value was confirmed.
siteEvidence.addressLine1.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.addressLine2objectSign-off for the site's `addressLine2`.
siteEvidence.addressLine2.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.addressLine2.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.addressLine2.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.addressLine2.confirmedAtstringWhen the value was confirmed.
siteEvidence.addressLine2.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.cityobjectSign-off for the site's `city`.
siteEvidence.city.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.city.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.city.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.city.confirmedAtstringWhen the value was confirmed.
siteEvidence.city.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.stateobjectSign-off for the site's `state`.
siteEvidence.state.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.state.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.state.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.state.confirmedAtstringWhen the value was confirmed.
siteEvidence.state.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
siteEvidence.zipobjectSign-off for the site's `zip`.
siteEvidence.zip.authoredbooleanWhether the backing value was explicitly authored by a user or the AI researcher. Catalog ingestion and historical evidence serialized before this marker was introduced default to `false`.
siteEvidence.zip.sourcesobject[]Citations backing the value. Empty for manually-entered, ingested, or pre-evidence-replayed values; `authored` distinguishes the first case.
siteEvidence.zip.confirmedBystringUser id that confirmed this researched value, or null while it is still system-authored (unconfirmed).
siteEvidence.zip.confirmedAtstringWhen the value was confirmed.
siteEvidence.zip.unverifiedbooleanAI-authored value whose citation could not be kept: the researcher read it from a source we could not verify or store (a dead/blocked link, or a short-lived search-grounding redirect). The value is retained rather than discarded, but flagged so the UI shows the AI badge with an "unverified" source instead of a link. Distinct from `sources.is_empty()` alone, which means "manually entered".
googleMapsUrlstringMap link for the site's verified place. Null when the site has no `placeId`.
medicalDepartmentobject & objectDepartment that receives medical records requests for this site, including values inherited from the managing organization. Null when none is routed.
facilityBillingDepartmentobject & objectDepartment that receives facility billing records requests. Null when none is routed.
physicianBillingDepartmentobject & objectDepartment that receives physician billing records requests. Null when none is routed.
imagingBillingDepartmentobject & objectDepartment that receives imaging billing records requests. Null when none is routed.
emergencyRoomBillingDepartmentobject & objectDepartment that receives emergency room billing records requests. Null when none is routed.
anesthesiologyBillingDepartmentobject & objectDepartment that receives anesthesiology billing records requests. Null when none is routed.
imagingDepartmentobject & objectDepartment that receives imaging records requests. Null when none is routed.
referenceobjectCatalog-union half for the site-details Reference toggle. Absent when the site has no reference links, or when the viewer never asked for Reference mode and the union was not built. Details-only; not a browse column.
Errors
401404500