Free-text note of the route by which records for this request are received. No fixed value list. Null when none has been recorded.
Endpoints
Record requests
The record request object
Attributes
requestobjectThe record request itself: identifiers, status, request type, dates and the facility details it was submitted with.
request.idstringIdentifier of the record request, unique within its customer, project and patient. Together with `companyId`, `projectId` and `patientId` it addresses the request in every record-request route.
request.companyIdintegerNumeric identifier of the customer organization that owns the request.
The numeric id of the company (tenant) a resource belongs to.
request.projectIdstringIdentifier of the project the request belongs to.
An identifier of 1 to 32 ASCII letters, digits, hyphens or underscores.
request.patientIdstringIdentifier of the patient whose records are requested, unique within the project.
request.statusstringCurrent workflow status of the request. See the status value list for which values are terminal and which mean success or failure.
request.requestTypestringCategory of records this request asks for. Each request carries exactly one type; a submission that asked for several types creates one request per type.
request.createdAtstringWhen the request was created, as an RFC 3339 timestamp in UTC.
request.updatedAtstringWhen the request was last changed, as an RFC 3339 timestamp in UTC.
request.userIdstringIdentifier of the user who created the request.
userobjectThe user who created the request.
user.idstringUnique identifier of the user.
user.emailstringEmail address of the user.
providerPacketobjectThe provider packet: the document package sent to the facility with the request. Its download link is null until a packet has been generated. The upload link is returned only to Hermes staff.
providerPacket.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
providerPacket.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
providerPacket.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
providerPacket.looseFiles[].urlstringShort-lived presigned URL to download the file.
providerPacket.looseFiles[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
providerPacket.looseFiles[].keystringThe file's full storage path, `/`-separated.
providerPacket.looseFiles[].sizeintegerThe file's size in bytes.
providerPacket.looseFiles[].lastModifiedstringWhen the file was last written.
deliverableobjectThe combined chart PDF Hermes generates from the returned records, when one has been published. Its download link is null otherwise. This file is not listed in `deliverables`.
deliverable.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
deliverable.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
deliverable.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
deliverable.looseFiles[].urlstringShort-lived presigned URL to download the file.
deliverable.looseFiles[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
deliverable.looseFiles[].keystringThe file's full storage path, `/`-separated.
deliverable.looseFiles[].sizeintegerThe file's size in bytes.
deliverable.looseFiles[].lastModifiedstringWhen the file was last written.
deliverablesobject[]The files returned for the request, each with a time-limited download link that needs no Authorization header. Each file name is unique across the request, and folder is a display grouping only. Empty until records have been returned.
deliverables[].urlstringShort-lived presigned URL to download the file.
deliverables[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
deliverables[].keystringThe file's full storage path, `/`-separated.
deliverables[].sizeintegerThe file's size in bytes.
deliverables[].lastModifiedstringWhen the file was last written.
siteFeeobjectThe facility's fee document for releasing the records. Its download link is null when none has been uploaded.
siteFee.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
siteFee.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
siteFee.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
siteFee.looseFiles[].urlstringShort-lived presigned URL to download the file.
siteFee.looseFiles[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
siteFee.looseFiles[].keystringThe file's full storage path, `/`-separated.
siteFee.looseFiles[].sizeintegerThe file's size in bytes.
siteFee.looseFiles[].lastModifiedstringWhen the file was last written.
authorizationobjectThe authorization that applies to this request alone, such as one that names this facility. Its download link is null when the request has no authorization of its own, in which case `patientAuthorization` applies.
authorization.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
authorization.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
authorization.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
authorization.looseFiles[].urlstringShort-lived presigned URL to download the file.
authorization.looseFiles[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
authorization.looseFiles[].keystringThe file's full storage path, `/`-separated.
authorization.looseFiles[].sizeintegerThe file's size in bytes.
authorization.looseFiles[].lastModifiedstringWhen the file was last written.
patientAuthorizationobjectThe patient-level authorization, which applies when the request has no authorization of its own. Its download link is null when none has been uploaded.
patientAuthorization.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
patientAuthorization.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
patientAuthorization.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
patientAuthorization.looseFiles[].urlstringShort-lived presigned URL to download the file.
patientAuthorization.looseFiles[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
patientAuthorization.looseFiles[].keystringThe file's full storage path, `/`-separated.
patientAuthorization.looseFiles[].sizeintegerThe file's size in bytes.
patientAuthorization.looseFiles[].lastModifiedstringWhen the file was last written.
notesobject[]Notes recorded on the request, with their author and timestamps. Empty when there are none.
notes[].idstringThe note's ID.
notes[].createdAtstringWhen the note was written.
notes[].userEmailstringEmail address of the user who wrote the note. Empty when that user can no longer be found.
notes[].contentstringThe note's text.
notes[].authoredByAibooleanTrue when the note was authored by the Hermes AI voice agent rather than a human user. Renderers show an automated "AI" badge and skip the human user lookup.
submissionsobject[]The request's activity, oldest first: each time it was sent to the facility and each time records were received for it. Empty when there has been no activity yet.
submissions[].requestMethodstringChannel this activity went through, such as fax, email, mail or a portal.
submissions[].sentAtstringWhen the activity was recorded, as an RFC 3339 timestamp in UTC.
warningsobject | object | object | object & object[]Advisories about what an EHR retrieval for this request will NOT return — dates of service reaching past the partner's 20-year lookback, an end date in the future, a date of birth the partner will not match on. The same array, from the same rules, that `POST .../send` returns, so a client learns at CREATE time rather than after dispatch. Purely advisory: none of these fails a create, an update or a send. Always present, and EMPTY for a request with nothing to report — which is every request that is not a C-CDA one, since no other channel has a lookback.
Conditional attributes
request.recordReceiptRoutestringrequest.followUpDatestringDate (YYYY-MM-DD) the request is next due for follow-up with the facility. Null when no follow-up is scheduled.
request.lastContactDatestringDate (YYYY-MM-DD) of the most recent contact with the facility about this request. Null when no contact has been recorded.
request.completionDatestringDate (YYYY-MM-DD) the request was closed out. Set automatically to the current US Pacific date when the request first moves to a closing status such as `Completed`, `NoRecordFound` or `Canceled` and no date is recorded yet; it can also be set or cleared directly. Null when no completion date has been recorded.
request.siteIdstringIdentifier of the facility (site) the request is addressed to. Null when the request was submitted with facility details only and has not yet been matched to a known site.
request.submittedSiteNamestringFacility name as submitted with the request. When the request was created from `siteId` alone, filled from that site's name as it read at creation. Null when neither is available.
request.submittedSiteAddressLine1stringFirst street-address line of the facility as submitted with the request (street number and street, or PO Box). Null when not supplied.
request.submittedSiteAddressLine2stringSecond street-address line of the facility as submitted with the request (suite, unit or floor). Null when not supplied.
request.submittedSiteAddressstringLegacy single-line address. Readers should prefer `submittedSiteAddressLine1` / `submittedSiteAddressLine2` when either is set; this field is retained for existing rows that predate the structured address-line fields and for the `siteAddress` backward-compat surface on `POST /record-requests`.
request.submittedSiteCitystringFacility city as submitted with the request. Null when not supplied.
request.submittedSiteStatestringFacility state as submitted with the request, normally a two-letter US state code. Null when not supplied.
request.submittedSiteZipstringFacility ZIP code as submitted with the request. Treat as text, not a number. Null when not supplied.
request.ownerUserIdstringIdentifier of the user the request is assigned to. Null when the request is unassigned.
request.uploadCodestringEight-character code printed on the request's provider packet. A facility submits it to the upload-by-code endpoint to return records to this request. Null until a provider packet has been generated.
request.startDateOfServicestringDates of service the request is asking for. Required for new requests.
request.endDateOfServicestringLast date (YYYY-MM-DD) of the service-date window the request asks for; with `startDateOfService` it bounds the visits whose records are requested. Null only on requests created before dates of service were required.
ownerobjectThe user the request is assigned to. Null when the request is unassigned.
siteobjectThe facility (site) the request is addressed to. Null when the request has not been matched to a known site.
medicalDepartmentobject & objectThe facility's department that handles medical-record requests. Null when the request has no site or the site has no such department.
facilityBillingDepartmentobject & objectThe facility's department that handles facility billing requests. Null when the request has no site or the site has no such department.
physicianBillingDepartmentobject & objectThe facility's department that handles physician billing requests. Null when the request has no site or the site has no such department.
imagingBillingDepartmentobject & objectThe facility's department that handles imaging billing requests. Null when the request has no site or the site has no such department.
emergencyRoomBillingDepartmentobject & objectThe facility's department that handles emergency room billing requests. Null when the request has no site or the site has no such department.
anesthesiologyBillingDepartmentobject & objectThe facility's department that handles anesthesiology billing requests. Null when the request has no site or the site has no such department.
imagingDepartmentobject & objectThe facility's department that handles imaging requests. Null when the request has no site or the site has no such department.
providerPacket.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
providerPacket.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
providerPacket.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
providerPacket.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
providerPacket.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
providerPacket.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
providerPacket.looseFiles[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
providerPacket.looseFiles[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
providerPacket.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
deliverable.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
deliverable.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
deliverable.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
deliverable.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
deliverable.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
deliverable.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
deliverable.looseFiles[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
deliverable.looseFiles[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
deliverable.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
deliverables[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
deliverables[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
siteFee.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
siteFee.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
siteFee.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
siteFee.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
siteFee.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
siteFee.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
siteFee.looseFiles[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
siteFee.looseFiles[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
siteFee.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
authorization.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
authorization.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
authorization.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
authorization.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
authorization.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
authorization.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
authorization.looseFiles[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
authorization.looseFiles[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
authorization.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
patientAuthorization.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
patientAuthorization.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
patientAuthorization.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
patientAuthorization.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
patientAuthorization.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
patientAuthorization.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
patientAuthorization.looseFiles[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
patientAuthorization.looseFiles[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
patientAuthorization.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
notes[].updatedAtstringWhen the note was last edited. Null when it has never been edited.
submissions[].requestMethodIdstringIdentifier the channel assigned to this activity, such as a fax job number, an email message id or a reference number. Format depends on the channel. Null when the channel issued none.
submissions[].deliveryStatusobjectCurrent delivery status reported by the channel, looked up when the request is read. Its shape depends on the channel. Null when the channel reports no status or the status could not be retrieved.
recommendedDeliveryMethodstringDefault delivery method to use when the user hasn't picked an override. Computed from the department and site. Null when no method can be recommended.
embedTokenstringPre-minted embed token for iframing a read-only auth-check view. Pass the token to `GET /ui/auth-check/embed?token=...` to render the analysis UI inside your own page without proxying the raw analysis schema. Null when the authorization PDF has not yet been uploaded. Expiry is one hour from fetch time — re-fetch the record request for a fresh token. See [Embedding the auth-check UI](#embedding-the-auth-check-ui).
/v0/companies/{company_id}/projects/{project_id}/patients/{patient_id}/record-requestsCreate a record request (Hermes-generated ID)
Creates one record request for each selected request type, each with a newly generated id. This call is not idempotent: retrying a request that succeeded creates duplicates, so use the PUT form with your own id when you need safe retries. Returns the created record requests.
Request bodyapplication/json
medicalRecordbooleanSet to true to request the patient's medical records. Creates one request of type `MedicalRecord`. At least one of `medicalRecord`, `billing`, `imaging` and `ccda` must be true.
billingbooleanSet to true to request billing records. Creates one request of type `Billing`.
imagingbooleanSet to true to request imaging records. Creates one request of type `Imaging`. Requires permission to create imaging requests.
startDateOfServicestringDates of service the request is asking for. Required at creation — the auth-check uses these on the request page to validate against the extracted DOS on the authorization form.
endDateOfServicestringLast date (YYYY-MM-DD) of the service-date window; with `startDateOfService` it bounds the visits whose records are requested. Required.
Optional parameters
siteIdstringIdentifier of a known facility (site), such as `site.id` from a visit browse row. The preferred way to identify the facility: Hermes already holds its address and submission preferences. When absent, `siteName` is required and the facility is resolved from the facility fields.
ccdabooleanRequest records straight out of the site's EHR through its vendor API. Satisfied by a general (patient-level) authorization rather than a site-specific one, and delivered as a C-CDA. Like the other type flags this mints its OWN record request: `medicalRecord + ehr` creates two, grouped under one order number with `-m` / `-e` suffixes. Defaults to `false` when omitted: EHR is an opt-in capability, so an absent flag means "not requested" rather than forcing every caller to send `"ccda": false`.
siteNamestringFacility name, used to identify the facility when `siteId` is absent; required in that case. Send it with `siteAddressLine1`, `siteAddressLine2` (optional), `siteCity`, `siteState` and `siteZip` so Hermes can resolve the facility.
Free text. Surrounding whitespace is trimmed, and an empty or whitespace-only value is rejected.
siteAddressLine1stringPrimary delivery line (street number + street, or PO Box line). For Puerto Rico addresses with an urbanization, put `URB <name>` on this line. Leave `siteAddressLine2` for suite / unit / apartment.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteAddressLine2stringOptional secondary designator (suite, unit, apartment, floor). A blank, whitespace-only or punctuation-only value becomes `null` instead of being rejected.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteAddressstringDeprecated**Backward compatibility only.** Retained so existing external integrations that send a single `siteAddress` string keep working. New integrations should send `siteAddressLine1` / `siteAddressLine2` instead — if either of those is provided, this field is ignored. You *may* pack an entire address into `siteAddressLine1` and we will attempt to resolve it, but resolution will be less accurate than a properly structured two-line address. Puerto Rico urbanization in particular is not reliably parseable from a single line.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteCitystringFacility city, used with `siteName` when `siteId` is absent. It is checked by the same rules as an address line, not against a list of known cities.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteStatestringFacility state, used with `siteName` when `siteId` is absent.
A US state, district or territory: its two-letter USPS code, or its full name in any letter case. Washington DC, Washington D.C., US Virgin Islands, U.S. Virgin Islands, United States Virgin Islands and Virgin Islands are also accepted. Surrounding whitespace is trimmed, and any other value is rejected. Returned as the uppercase code.
siteZipstringFacility ZIP code, used with `siteName` when `siteId` is absent.
A US ZIP code: five digits, or ZIP+4 as NNNNN-NNNN. A ZIP+4 without its hyphen is accepted, and a base shorter than five digits is left-padded with zeroes. Surrounding whitespace is trimmed, and the value is always returned as NNNNN or NNNNN-NNNN. Anything else is rejected.
ReturnsSuccess
requestsobject[]The created record requests, one entry per request type turned on in the form.
requests[].requestobjectThe record request itself: identifiers, status, request type, dates and the facility details it was submitted with.
requests[].request.idstringIdentifier of the record request, unique within its customer, project and patient. Together with `companyId`, `projectId` and `patientId` it addresses the request in every record-request route.
requests[].request.companyIdintegerNumeric identifier of the customer organization that owns the request.
The numeric id of the company (tenant) a resource belongs to.
requests[].request.projectIdstringIdentifier of the project the request belongs to.
An identifier of 1 to 32 ASCII letters, digits, hyphens or underscores.
requests[].request.patientIdstringIdentifier of the patient whose records are requested, unique within the project.
requests[].request.statusstringCurrent workflow status of the request. See the status value list for which values are terminal and which mean success or failure.
requests[].request.requestTypestringCategory of records this request asks for. Each request carries exactly one type; a submission that asked for several types creates one request per type.
requests[].request.createdAtstringWhen the request was created, as an RFC 3339 timestamp in UTC.
requests[].request.updatedAtstringWhen the request was last changed, as an RFC 3339 timestamp in UTC.
requests[].request.userIdstringIdentifier of the user who created the request.
requests[].userobjectThe user who created the request.
requests[].user.idstringUnique identifier of the user.
requests[].user.emailstringEmail address of the user.
requests[].providerPacketobjectThe provider packet: the document package sent to the facility with the request. Its download link is null until a packet has been generated. The upload link is returned only to Hermes staff.
requests[].providerPacket.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
requests[].providerPacket.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
requests[].providerPacket.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
requests[].deliverableobjectThe combined chart PDF Hermes generates from the returned records, when one has been published. Its download link is null otherwise. This file is not listed in `deliverables`.
requests[].deliverable.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
requests[].deliverable.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
requests[].deliverable.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
requests[].deliverablesobject[]The files returned for the request, each with a time-limited download link that needs no Authorization header. Each file name is unique across the request, and folder is a display grouping only. Empty until records have been returned.
requests[].deliverables[].urlstringShort-lived presigned URL to download the file.
requests[].deliverables[].fileNamestringThe name a reader sees. For a record request's deliverables this is the unique name the shared presentation assigned (see `DeliverableView`), so it can differ from the object's own basename when two returns brought the same file name; everywhere else it IS the basename.
requests[].deliverables[].keystringThe file's full storage path, `/`-separated.
requests[].deliverables[].sizeintegerThe file's size in bytes.
requests[].deliverables[].lastModifiedstringWhen the file was last written.
requests[].siteFeeobjectThe facility's fee document for releasing the records. Its download link is null when none has been uploaded.
requests[].siteFee.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
requests[].siteFee.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
requests[].siteFee.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
requests[].authorizationobjectThe authorization that applies to this request alone, such as one that names this facility. Its download link is null when the request has no authorization of its own, in which case `patientAuthorization` applies.
requests[].authorization.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
requests[].authorization.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
requests[].authorization.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
requests[].patientAuthorizationobjectThe patient-level authorization, which applies when the request has no authorization of its own. Its download link is null when none has been uploaded.
requests[].patientAuthorization.uploadHeadersobjectExtra headers to send with the upload. Normally empty.
requests[].patientAuthorization.expiresInintegerHow long the URLs in this object stay valid, in seconds from when they were issued. Fetch a fresh object rather than caching one.
requests[].patientAuthorization.looseFilesobject[]Other files stored under this file's location that are not part of its own document set, such as separately uploaded scans, each with its own short-lived download URL. Empty when there are none or when this response only offers an upload.
requests[].notesobject[]Notes recorded on the request, with their author and timestamps. Empty when there are none.
requests[].notes[].idstringThe note's ID.
requests[].notes[].createdAtstringWhen the note was written.
requests[].notes[].userEmailstringEmail address of the user who wrote the note. Empty when that user can no longer be found.
requests[].notes[].contentstringThe note's text.
requests[].notes[].authoredByAibooleanTrue when the note was authored by the Hermes AI voice agent rather than a human user. Renderers show an automated "AI" badge and skip the human user lookup.
requests[].submissionsobject[]The request's activity, oldest first: each time it was sent to the facility and each time records were received for it. Empty when there has been no activity yet.
requests[].submissions[].requestMethodstringChannel this activity went through, such as fax, email, mail or a portal.
requests[].submissions[].sentAtstringWhen the activity was recorded, as an RFC 3339 timestamp in UTC.
requests[].warningsobject | object | object | object & object[]Advisories about what an EHR retrieval for this request will NOT return — dates of service reaching past the partner's 20-year lookback, an end date in the future, a date of birth the partner will not match on. The same array, from the same rules, that `POST .../send` returns, so a client learns at CREATE time rather than after dispatch. Purely advisory: none of these fails a create, an update or a send. Always present, and EMPTY for a request with nothing to report — which is every request that is not a C-CDA one, since no other channel has a lookback.
Conditional attributes
requests[].request.recordReceiptRoutestringFree-text note of the route by which records for this request are received. No fixed value list. Null when none has been recorded.
requests[].request.followUpDatestringDate (YYYY-MM-DD) the request is next due for follow-up with the facility. Null when no follow-up is scheduled.
requests[].request.lastContactDatestringDate (YYYY-MM-DD) of the most recent contact with the facility about this request. Null when no contact has been recorded.
requests[].request.completionDatestringDate (YYYY-MM-DD) the request was closed out. Set automatically to the current US Pacific date when the request first moves to a closing status such as `Completed`, `NoRecordFound` or `Canceled` and no date is recorded yet; it can also be set or cleared directly. Null when no completion date has been recorded.
requests[].request.siteIdstringIdentifier of the facility (site) the request is addressed to. Null when the request was submitted with facility details only and has not yet been matched to a known site.
requests[].request.submittedSiteNamestringFacility name as submitted with the request. When the request was created from `siteId` alone, filled from that site's name as it read at creation. Null when neither is available.
requests[].request.submittedSiteAddressLine1stringFirst street-address line of the facility as submitted with the request (street number and street, or PO Box). Null when not supplied.
requests[].request.submittedSiteAddressLine2stringSecond street-address line of the facility as submitted with the request (suite, unit or floor). Null when not supplied.
requests[].request.submittedSiteAddressstringLegacy single-line address. Readers should prefer `submittedSiteAddressLine1` / `submittedSiteAddressLine2` when either is set; this field is retained for existing rows that predate the structured address-line fields and for the `siteAddress` backward-compat surface on `POST /record-requests`.
requests[].request.submittedSiteCitystringFacility city as submitted with the request. Null when not supplied.
requests[].request.submittedSiteStatestringFacility state as submitted with the request, normally a two-letter US state code. Null when not supplied.
requests[].request.submittedSiteZipstringFacility ZIP code as submitted with the request. Treat as text, not a number. Null when not supplied.
requests[].request.ownerUserIdstringIdentifier of the user the request is assigned to. Null when the request is unassigned.
requests[].request.uploadCodestringEight-character code printed on the request's provider packet. A facility submits it to the upload-by-code endpoint to return records to this request. Null until a provider packet has been generated.
requests[].request.startDateOfServicestringDates of service the request is asking for. Required for new requests.
requests[].request.endDateOfServicestringLast date (YYYY-MM-DD) of the service-date window the request asks for; with `startDateOfService` it bounds the visits whose records are requested. Null only on requests created before dates of service were required.
requests[].ownerobjectThe user the request is assigned to. Null when the request is unassigned.
requests[].siteobjectThe facility (site) the request is addressed to. Null when the request has not been matched to a known site.
requests[].medicalDepartmentobject & objectThe facility's department that handles medical-record requests. Null when the request has no site or the site has no such department.
requests[].facilityBillingDepartmentobject & objectThe facility's department that handles facility billing requests. Null when the request has no site or the site has no such department.
requests[].physicianBillingDepartmentobject & objectThe facility's department that handles physician billing requests. Null when the request has no site or the site has no such department.
requests[].imagingBillingDepartmentobject & objectThe facility's department that handles imaging billing requests. Null when the request has no site or the site has no such department.
requests[].emergencyRoomBillingDepartmentobject & objectThe facility's department that handles emergency room billing requests. Null when the request has no site or the site has no such department.
requests[].anesthesiologyBillingDepartmentobject & objectThe facility's department that handles anesthesiology billing requests. Null when the request has no site or the site has no such department.
requests[].imagingDepartmentobject & objectThe facility's department that handles imaging requests. Null when the request has no site or the site has no such department.
requests[].providerPacket.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
requests[].providerPacket.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
requests[].providerPacket.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
requests[].providerPacket.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
requests[].providerPacket.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
requests[].providerPacket.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
requests[].providerPacket.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
requests[].deliverable.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
requests[].deliverable.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
requests[].deliverable.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
requests[].deliverable.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
requests[].deliverable.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
requests[].deliverable.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
requests[].deliverable.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
requests[].deliverables[].folderstringThe display folder this file sits in, `/`-joined, relative to the listing root. Populated only where a listing presents a tree — a record request's deliverables — and omitted from the payload otherwise.
requests[].deliverables[].uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent for older files recorded without attribution.
requests[].siteFee.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
requests[].siteFee.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
requests[].siteFee.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
requests[].siteFee.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
requests[].siteFee.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
requests[].siteFee.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
requests[].siteFee.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
requests[].authorization.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
requests[].authorization.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
requests[].authorization.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
requests[].authorization.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
requests[].authorization.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
requests[].authorization.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
requests[].authorization.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
requests[].patientAuthorization.downloadUrlstringShort-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.
requests[].patientAuthorization.uploadUrlstringShort-lived presigned URL to upload the file: `PUT` the raw bytes to it exactly as issued, with no `Authorization` header. Uploading again replaces the file. Null when this response only offers a download.
requests[].patientAuthorization.extractionobjectThe document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.
requests[].patientAuthorization.verdictsobjectThe auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.
requests[].patientAuthorization.verdictCountsobjectTally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.
requests[].patientAuthorization.embedTokenstringStandalone auth-check embed token, pre-minted on the upload path when the caller supplies patient context alongside the request for an upload URL. Equivalent to the token from `POST /v0/auth-check/<filename>/embed-token`, saving that round-trip. Null when no patient context was supplied.
requests[].patientAuthorization.uploadedByobject | object | object | object | object | object | object | object | object | object | objectWho or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.
requests[].notes[].updatedAtstringWhen the note was last edited. Null when it has never been edited.
requests[].submissions[].requestMethodIdstringIdentifier the channel assigned to this activity, such as a fax job number, an email message id or a reference number. Format depends on the channel. Null when the channel issued none.
requests[].submissions[].deliveryStatusobjectCurrent delivery status reported by the channel, looked up when the request is read. Its shape depends on the channel. Null when the channel reports no status or the status could not be retrieved.
requests[].recommendedDeliveryMethodstringDefault delivery method to use when the user hasn't picked an override. Computed from the department and site. Null when no method can be recommended.
requests[].embedTokenstringPre-minted embed token for iframing a read-only auth-check view. Pass the token to `GET /ui/auth-check/embed?token=...` to render the analysis UI inside your own page without proxying the raw analysis schema. Null when the authorization PDF has not yet been uploaded. Expiry is one hour from fetch time — re-fetch the record request for a fresh token. See [Embedding the auth-check UI](#embedding-the-auth-check-ui).
Errors
400401500
/v0/companies/{company_id}/projects/{project_id}/patients/{patient_id}/record-requests/{record_request_id}Upsert a record request by ID
Creates the record request under the id you choose, or replaces it wholesale if one already exists at this path, so repeating the same call is safe. Exactly one request is created, of the first selected request type, and an existing request keeps its order number. Replacing an existing request requires permission to edit record requests. Returns the stored record request.
Request bodyapplication/json
medicalRecordbooleanSet to true to request the patient's medical records. Creates one request of type `MedicalRecord`. At least one of `medicalRecord`, `billing`, `imaging` and `ccda` must be true.
billingbooleanSet to true to request billing records. Creates one request of type `Billing`.
imagingbooleanSet to true to request imaging records. Creates one request of type `Imaging`. Requires permission to create imaging requests.
startDateOfServicestringDates of service the request is asking for. Required at creation — the auth-check uses these on the request page to validate against the extracted DOS on the authorization form.
endDateOfServicestringLast date (YYYY-MM-DD) of the service-date window; with `startDateOfService` it bounds the visits whose records are requested. Required.
Optional parameters
siteIdstringIdentifier of a known facility (site), such as `site.id` from a visit browse row. The preferred way to identify the facility: Hermes already holds its address and submission preferences. When absent, `siteName` is required and the facility is resolved from the facility fields.
ccdabooleanRequest records straight out of the site's EHR through its vendor API. Satisfied by a general (patient-level) authorization rather than a site-specific one, and delivered as a C-CDA. Like the other type flags this mints its OWN record request: `medicalRecord + ehr` creates two, grouped under one order number with `-m` / `-e` suffixes. Defaults to `false` when omitted: EHR is an opt-in capability, so an absent flag means "not requested" rather than forcing every caller to send `"ccda": false`.
siteNamestringFacility name, used to identify the facility when `siteId` is absent; required in that case. Send it with `siteAddressLine1`, `siteAddressLine2` (optional), `siteCity`, `siteState` and `siteZip` so Hermes can resolve the facility.
Free text. Surrounding whitespace is trimmed, and an empty or whitespace-only value is rejected.
siteAddressLine1stringPrimary delivery line (street number + street, or PO Box line). For Puerto Rico addresses with an urbanization, put `URB <name>` on this line. Leave `siteAddressLine2` for suite / unit / apartment.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteAddressLine2stringOptional secondary designator (suite, unit, apartment, floor). A blank, whitespace-only or punctuation-only value becomes `null` instead of being rejected.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteAddressstringDeprecated**Backward compatibility only.** Retained so existing external integrations that send a single `siteAddress` string keep working. New integrations should send `siteAddressLine1` / `siteAddressLine2` instead — if either of those is provided, this field is ignored. You *may* pack an entire address into `siteAddressLine1` and we will attempt to resolve it, but resolution will be less accurate than a properly structured two-line address. Puerto Rico urbanization in particular is not reliably parseable from a single line.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteCitystringFacility city, used with `siteName` when `siteId` is absent. It is checked by the same rules as an address line, not against a list of known cities.
One line of a street address. Surrounding whitespace is trimmed, and it must contain at least one letter or digit: an empty, whitespace-only or punctuation-only value is rejected.
siteStatestringFacility state, used with `siteName` when `siteId` is absent.
A US state, district or territory: its two-letter USPS code, or its full name in any letter case. Washington DC, Washington D.C., US Virgin Islands, U.S. Virgin Islands, United States Virgin Islands and Virgin Islands are also accepted. Surrounding whitespace is trimmed, and any other value is rejected. Returned as the uppercase code.
siteZipstringFacility ZIP code, used with `siteName` when `siteId` is absent.
A US ZIP code: five digits, or ZIP+4 as NNNNN-NNNN. A ZIP+4 without its hyphen is accepted, and a base shorter than five digits is left-padded with zeroes. Surrounding whitespace is trimmed, and the value is always returned as NNNNN or NNNNN-NNNN. Anything else is rejected.
ReturnsSuccess
Returns The record request object.
Errors
400401500
/v0/companies/{company_id}/projects/{project_id}/patients/{patient_id}/record-requests/{request_id}Retrieve a record request
Returns the record request together with its site and departments, notes, submission history, and presigned URLs for its files (authorization, provider packet, deliverables). Returns 404 when the record request does not exist or is not visible to the caller.
ReturnsSuccess
Returns The record request object.
Errors
401404500
/v0/companies/{company_id}/projects/{project_id}/patients/{patient_id}/record-requests/{request_id}Update a record request
Applies a single field change to the record request, such as its owner, service dates, or request type, and returns the updated record request. Setting a start or end date of service resubmits the request. Some fields, including status, site, and follow-up dates, require permission to edit record requests; without it the call returns 401.
Request bodyapplication/json
object | object | object | object | object | object | string | object | object | object | object | object | object
ReturnsSuccess
Returns The record request object.
Errors
400401404500
/v0/record-requests/browseBrowse record requests
Queries every record request visible to the caller, across projects and
patients. Read-only. Uses the shared browse syntax described in
Browsing tables and returns the { table, aggregate, total } envelope as JSON, or the selected columns as CSV when you send
Accept: text/csv. File columns carry presigned URLs that can be fetched
directly.
Request bodyapplication/json
Optional parameters
select.requestobjectWhich of the request's columns to return.
select.request.idbooleanIdentifier of the record request within its customer, project, and patient scope.
select.request.statusbooleanCurrent record-request workflow status. See the Reading guide for the exported status tokens.
select.request.requestTypebooleanCategory of records requested. See the Reading guide for the exported request-type tokens.
select.request.recordReceiptRoutebooleanStored route used for receiving records. Source-defined text; no fixed value list is enforced by this field.
select.request.submittedSiteNamebooleanSite name supplied when the request was submitted. May differ from site.name.
select.request.submittedSiteAddressLine1booleanFirst street-address line supplied with the record request.
select.request.submittedSiteAddressLine2booleanSecond street-address line supplied with the record request.
select.request.submittedSiteAddressbooleanCombined address text supplied with the record request.
select.request.submittedSiteCitybooleanCity supplied with the record request site address.
select.request.submittedSiteStatebooleanState or region supplied with the record request site address.
select.request.submittedSiteZipbooleanPostal code supplied with the record request site address. Preserve as text.
select.request.followUpDatebooleanScheduled follow-up date for the record request.
select.request.lastContactDatebooleanMost recent contact date recorded for the request.
select.request.completionDatebooleanCompletion date recorded for the request, when available.
select.request.createdAtbooleanTimestamp when the record request was created.
select.request.updatedAtbooleanTimestamp of the most recent recorded update to the request.
select.request.uploadCodebooleanCode associated with the request for secure record uploads. Treat as a sensitive workflow value.
select.request.startDateOfServicebooleanBeginning of the service-date period requested. Not necessarily a date on which care occurred.
select.request.endDateOfServicebooleanEnd of the service-date period requested. Not necessarily a date on which care occurred.
select.request.orderNumberbooleanShort reference number assigned when the request was created, zero-padded to four digits, such as 0042. Requests created together share one number and carry a type suffix: -m medical records, -b billing, -i imaging, -c C-CDA. Numbers are reused some time after a request ends, so use the request id as the lasting identifier. Null for sandbox requests.
select.request.companyIdbooleanIdentifier of the customer organization associated with the record.
select.request.projectIdbooleanIdentifier of the project containing the record.
select.request.patientIdbooleanIdentifier of the patient. Join to Patients patient.id using the same companyId and projectId.
select.request.siteIdbooleanIdentifier of the resolved site associated with the request. The Sites sheet only lists visit-linked sites and may not contain this site.
select.request.ownerUserIdbooleanIdentifier of the user assigned to the record request.
select.request.userIdbooleanIdentifier of the user who created the record request.
select.request.providerPacketUrlbooleanTime-limited link to download the request's provider packet, the document package sent to the facility. Null when no packet has been generated.
select.request.siteFeeUrlbooleanTime-limited link to download the facility's fee document for releasing the records. Null when none has been uploaded.
select.request.authorizationUrlbooleanTime-limited link to download the patient's authorization on file, the one shared by all of the patient's requests. Null when none has been uploaded.
select.request.authorizationOverrideUrlbooleanTime-limited link to download the authorization that applies to this request alone, which takes the place of the patient's authorization. Null when the request has no authorization of its own.
select.request.deliverableUrlbooleanTime-limited link to download the combined chart PDF generated from the records returned for the request. Null when none has been published.
select.request.deliverableCountbooleanNumber of files received for the request, loaded when the live request table enriches the row. Zero when no enrichment ran, as in the Master Export, where it is not the actual number of received files.
select.request.aiModebooleanPath of the AI chat over the request's combined chart, ending in /deliverable/chat. Present once the combined chart has been analyzed and chat over it is available; null otherwise.
select.request.linkbooleanRelative application path to this record. Requires the application host and appropriate access to open.
select.request.currentAgeDaysbooleanAge of the request in days since it was created, computed when the live request table enriches the row. Zero when no enrichment ran, as in the Master Export; derive elapsed age from createdAt there.
select.request.prioritybooleanBucketed `current_age_days` (`critical`/`high`/`medium`/`normal`).
select.request.submissionCountbooleanNumber of submissions recorded for the request, computed when the live request table enriches the row. Zero when no enrichment ran, as in the Master Export, where it is not the actual submission count.
select.request.submissionsbooleanPresence marker for outbound submissions. Null when the request has no outbound submissions and present when it has at least one, so filter on null / not null to find requests without or with submissions.
select.request.statusCategorybooleanCoarse status grouping, populated from `status.category()` so the Status Category card can `in`-filter without expanding to statuses.
select.request.ehrStatusbooleanCustomer-facing EHR retrieval outcome, the same decision the activity table and sidebar chip share. Gated — resolving it reads the routed department and the patient's enrollment.
select.request.authCheckOutcomebooleanWorst auth-check tally (`Passed` / `Warning` / `Failed`), populated from the scored sidecar so the Auth Check card can `in`-filter. Gated — scoring the sidecar is the same S3 work as the `authCheck` slot, so it only runs when this field or the slot is referenced.
select.request.roibooleanRelease-of-information vendor resolved from the request type and routed department. Blank for C-CDA requests.
select.request.ehrbooleanElectronic health record vendor resolved from the request type and routed department, when available.
select.request.feeTotalbooleanSum of non-canceled fees associated with this record request. Monetary amount; the field does not carry a currency code.
select.companyobject & objectWhich of the joined company's columns to return. Absent when the row has no company.
select.projectobject & objectWhich of the joined project's columns to return. Absent when the row has no project.
select.patientobject & objectWhich of the joined patient's columns to return. Absent when the row has no patient.
select.siteobject & objectWhich of the joined site's columns to return. Absent when the row has no site.
select.ownerobject & objectWhich of the joined owner's columns to return. Absent when the row has no owner.
select.userobject & objectWhich of the joined user's columns to return. Absent when the row has no user.
select.authCheckobjectWhich of the auth check's columns to return. Absent when the row has no auth check.
select.authCheck.passedbooleanThe number of authorization checks that passed.
select.authCheck.warningbooleanThe number of authorization checks that raised a warning.
select.authCheck.failedbooleanThe number of authorization checks that failed.
select.authCheck.embedUrlbooleanRelative embed URL (`/ui/auth-check/embed?token=...`) ready to drop straight into an iframe `src`. Read-only, token-authed; meant for external API consumers who iframe the view from their own sites.
select.authCheck.interactiveUrlbooleanRelative interactive URL (`/ui/companies/<company_id>/projects/<project_id>/patients/<patient_id>/auth-check`) for the signed-in auth-check view with audit and correction tools. Absent unless the caller is permitted to audit auth-checks; use `embedUrl` otherwise.
select.authCheck.auditedboolean`true` when the audit has been marked complete, `false` when not yet. Absent unless the caller is permitted to audit auth-checks.
select.authCheck.tokenCostbooleanUSD cost of the LLM tokens spent producing the extraction. Absent unless the caller is permitted to view token costs, or when no cost was recorded.
select.authCheck.additionalDocumentsbooleanKinds of supporting documents attached to the authorization, from the effective (override-applied) extraction. VOID documents are included — presence is about what accompanies the form — with the void subset flagged in `void_documents`.
select.authCheck.voidDocumentsbooleanThe subset of `additional_documents` marked VOID / CANCELLED / REVOKED. Rides the selected row so cells can flag void badges, but is neither filterable nor sortable — filter on `additional_documents`.
where.requestobjectFilters on the request's columns.
where.request.idobject | object | object | object | object | object | object | string[]Identifier of the record request within its customer, project, and patient scope.
where.request.statusobject | object | object | object | string[]Current record-request workflow status. See the Reading guide for the exported status tokens.
where.request.requestTypeobject | object | object | object | string[]Category of records requested. See the Reading guide for the exported request-type tokens.
where.request.recordReceiptRouteobject | object | object | object | object | object | object | string[]Stored route used for receiving records. Source-defined text; no fixed value list is enforced by this field.
where.request.submittedSiteNameobject | object | object | object | object | object | object | string[]Site name supplied when the request was submitted. May differ from site.name.
where.request.submittedSiteAddressLine1object | object | object | object | object | object | object | string[]First street-address line supplied with the record request.
where.request.submittedSiteAddressLine2object | object | object | object | object | object | object | string[]Second street-address line supplied with the record request.
where.request.submittedSiteAddressobject | object | object | object | object | object | object | string[]Combined address text supplied with the record request.
where.request.submittedSiteCityobject | object | object | object | object | object | object | string[]City supplied with the record request site address.
where.request.submittedSiteStateobject | object | object | object | object | object | object | string[]State or region supplied with the record request site address.
where.request.submittedSiteZipobject | object | object | object | object | object | object | string[]Postal code supplied with the record request site address. Preserve as text.
where.request.followUpDateobject | object | object | object | object | object | object | object | string[]Scheduled follow-up date for the record request.
where.request.lastContactDateobject | object | object | object | object | object | object | object | string[]Most recent contact date recorded for the request.
where.request.completionDateobject | object | object | object | object | object | object | object | string[]Completion date recorded for the request, when available.
where.request.createdAtobject | object | object | object | object | object | object | object | string[]Timestamp when the record request was created.
where.request.updatedAtobject | object | object | object | object | object | object | object | string[]Timestamp of the most recent recorded update to the request.
where.request.uploadCodeobject | object | object | object | object | object | object | string[]Code associated with the request for secure record uploads. Treat as a sensitive workflow value.
where.request.startDateOfServiceobject | object | object | object | object | object | object | object | string[]Beginning of the service-date period requested. Not necessarily a date on which care occurred.
where.request.endDateOfServiceobject | object | object | object | object | object | object | object | string[]End of the service-date period requested. Not necessarily a date on which care occurred.
where.request.orderNumberobject | object | object | object | object | object | object | string[]Short reference number assigned when the request was created, zero-padded to four digits, such as 0042. Requests created together share one number and carry a type suffix: -m medical records, -b billing, -i imaging, -c C-CDA. Numbers are reused some time after a request ends, so use the request id as the lasting identifier. Null for sandbox requests.
where.request.companyIdobject | object | object | object | object | object | object | object | string[]Identifier of the customer organization associated with the record.
where.request.projectIdobject | object | object | object | object | object | object | string[]Identifier of the project containing the record.
where.request.patientIdobject | object | object | object | object | object | object | string[]Identifier of the patient. Join to Patients patient.id using the same companyId and projectId.
where.request.siteIdobject | object | object | object | object | object | object | string[]Identifier of the resolved site associated with the request. The Sites sheet only lists visit-linked sites and may not contain this site.
where.request.ownerUserIdobject | object | object | object | object | object | object | string[]Identifier of the user assigned to the record request.
where.request.userIdobject | object | object | object | object | object | object | string[]Identifier of the user who created the record request.
where.request.providerPacketUrlobject | object | object | object | object | object | object | string[]Time-limited link to download the request's provider packet, the document package sent to the facility. Null when no packet has been generated.
where.request.siteFeeUrlobject | object | object | object | object | object | object | string[]Time-limited link to download the facility's fee document for releasing the records. Null when none has been uploaded.
where.request.authorizationUrlobject | object | object | object | object | object | object | string[]Time-limited link to download the patient's authorization on file, the one shared by all of the patient's requests. Null when none has been uploaded.
where.request.authorizationOverrideUrlobject | object | object | object | object | object | object | string[]Time-limited link to download the authorization that applies to this request alone, which takes the place of the patient's authorization. Null when the request has no authorization of its own.
where.request.deliverableUrlobject | object | object | object | object | object | object | string[]Time-limited link to download the combined chart PDF generated from the records returned for the request. Null when none has been published.
where.request.deliverableCountobject | object | object | object | object | object | object | object | string[]Number of files received for the request, loaded when the live request table enriches the row. Zero when no enrichment ran, as in the Master Export, where it is not the actual number of received files.
where.request.aiModeobject | object | object | object | object | object | object | string[]Path of the AI chat over the request's combined chart, ending in /deliverable/chat. Present once the combined chart has been analyzed and chat over it is available; null otherwise.
where.request.currentAgeDaysobject | object | object | object | object | object | object | object | string[]Age of the request in days since it was created, computed when the live request table enriches the row. Zero when no enrichment ran, as in the Master Export; derive elapsed age from createdAt there.
where.request.priorityobject | object | object | object | object | object | object | string[]Bucketed `current_age_days` (`critical`/`high`/`medium`/`normal`).
where.request.submissionCountobject | object | object | object | object | object | object | object | string[]Number of submissions recorded for the request, computed when the live request table enriches the row. Zero when no enrichment ran, as in the Master Export, where it is not the actual submission count.
where.request.submissionsobject | object | object | object | object | object | object | object | string[]Presence marker for outbound submissions. Null when the request has no outbound submissions and present when it has at least one, so filter on null / not null to find requests without or with submissions.
where.request.statusCategoryobject | object | object | object | object | object | object | string[]Coarse status grouping, populated from `status.category()` so the Status Category card can `in`-filter without expanding to statuses.
where.request.ehrStatusobject | object | object | object | string[]Customer-facing EHR retrieval outcome, the same decision the activity table and sidebar chip share. Gated — resolving it reads the routed department and the patient's enrollment.
where.request.authCheckOutcomeobject | object | object | object | object | object | object | string[]Worst auth-check tally (`Passed` / `Warning` / `Failed`), populated from the scored sidecar so the Auth Check card can `in`-filter. Gated — scoring the sidecar is the same S3 work as the `authCheck` slot, so it only runs when this field or the slot is referenced.
where.request.roiobject | object | object | object | object | object | object | string[]Release-of-information vendor resolved from the request type and routed department. Blank for C-CDA requests.
where.request.ehrobject | object | object | object | object | object | object | string[]Electronic health record vendor resolved from the request type and routed department, when available.
where.request.feeTotalobject | object | object | object | object | object | object | object | string[]Sum of non-canceled fees associated with this record request. Monetary amount; the field does not carry a currency code.
where.companystring | object & objectFilters on the joined company's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a company.
where.projectstring | object & objectFilters on the joined project's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a project.
where.patientstring | object & objectFilters on the joined patient's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a patient.
where.sitestring | object & objectFilters on the joined site's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a site.
where.ownerstring | object & objectFilters on the joined owner's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a owner.
where.userstring | object & objectFilters on the joined user's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a user.
where.authCheckobjectFilters on the auth check's columns. A row with no auth check matches none of these filters.
where.authCheck.passedobject | object | object | object | object | object | object | object | string[]The number of authorization checks that passed.
where.authCheck.warningobject | object | object | object | object | object | object | object | string[]The number of authorization checks that raised a warning.
where.authCheck.failedobject | object | object | object | object | object | object | object | string[]The number of authorization checks that failed.
where.authCheck.embedUrlobject | object | object | object | object | object | object | string[]Relative embed URL (`/ui/auth-check/embed?token=...`) ready to drop straight into an iframe `src`. Read-only, token-authed; meant for external API consumers who iframe the view from their own sites.
where.authCheck.interactiveUrlobject | object | object | object | object | object | object | string[]Relative interactive URL (`/ui/companies/<company_id>/projects/<project_id>/patients/<patient_id>/auth-check`) for the signed-in auth-check view with audit and correction tools. Absent unless the caller is permitted to audit auth-checks; use `embedUrl` otherwise.
where.authCheck.auditedobject | object | object | object | string[]`true` when the audit has been marked complete, `false` when not yet. Absent unless the caller is permitted to audit auth-checks.
where.authCheck.tokenCostobject | object | object | object | object | object | object | object | string[]USD cost of the LLM tokens spent producing the extraction. Absent unless the caller is permitted to view token costs, or when no cost was recorded.
where.authCheck.additionalDocumentsobject | object | object | object | string[]Kinds of supporting documents attached to the authorization, from the effective (override-applied) extraction. VOID documents are included — presence is about what accompanies the form — with the void subset flagged in `void_documents`.
aggregate.request.countbooleanWhen true, return the number of rows that match the filter.
aggregate.request.sumobjectNumeric columns to total across the rows that match the filter.
aggregate.request.avgobjectNumeric columns to average across the rows that match the filter.
aggregate.request.minobjectNumeric columns to find the smallest value of across the rows that match the filter.
aggregate.request.maxobjectNumeric columns to find the largest value of across the rows that match the filter.
aggregate.authCheck.countbooleanWhen true, return the number of rows that match the filter.
aggregate.authCheck.sumobjectNumeric columns to total across the rows that match the filter.
aggregate.authCheck.avgobjectNumeric columns to average across the rows that match the filter.
aggregate.authCheck.minobjectNumeric columns to find the smallest value of across the rows that match the filter.
aggregate.authCheck.maxobjectNumeric columns to find the largest value of across the rows that match the filter.
ReturnsTyped browse response for RequestBrowseResponse
Conditional attributes
table[].requestobject & objectThe request's columns, as selected by the request.
table[].companyobject & object & object & objectThe joined company's columns, as selected by the request. Absent when the row has no company.
table[].projectobject & object & objectThe joined project's columns, as selected by the request. Absent when the row has no project.
table[].patientobject & object & objectThe joined patient's columns, as selected by the request. Absent when the row has no patient.
table[].siteobject & objectThe joined site's columns, as selected by the request. Absent when the row has no site.
table[].ownerobject & objectThe joined owner's columns, as selected by the request. Absent when the row has no owner.
table[].userobject & objectThe joined user's columns, as selected by the request. Absent when the row has no user.
table[].authCheckobjectThe auth check's columns, as selected by the request. Absent when the row has no auth check.
table[].authCheck.passedintegerThe number of authorization checks that passed.
table[].authCheck.warningintegerThe number of authorization checks that raised a warning.
table[].authCheck.failedintegerThe number of authorization checks that failed.
table[].authCheck.embedUrlstringRelative embed URL (`/ui/auth-check/embed?token=...`) ready to drop straight into an iframe `src`. Read-only, token-authed; meant for external API consumers who iframe the view from their own sites.
table[].authCheck.interactiveUrlstringRelative interactive URL (`/ui/companies/<company_id>/projects/<project_id>/patients/<patient_id>/auth-check`) for the signed-in auth-check view with audit and correction tools. Absent unless the caller is permitted to audit auth-checks; use `embedUrl` otherwise.
table[].authCheck.auditedboolean`true` when the audit has been marked complete, `false` when not yet. Absent unless the caller is permitted to audit auth-checks.
table[].authCheck.tokenCoststringUSD cost of the LLM tokens spent producing the extraction. Absent unless the caller is permitted to view token costs, or when no cost was recorded.
table[].authCheck.additionalDocumentsstring[]Kinds of supporting documents attached to the authorization, from the effective (override-applied) extraction. VOID documents are included — presence is about what accompanies the form — with the void subset flagged in `void_documents`.
table[].authCheck.voidDocumentsstring[]The subset of `additional_documents` marked VOID / CANCELLED / REVOKED. Rides the selected row so cells can flag void badges, but is neither filterable nor sortable — filter on `additional_documents`.
aggregate.request.countintegerNumber of rows that match the filter. Present when `count` was requested.
aggregate.request.sumobjectTotal of each requested numeric column across the rows that match the filter.
aggregate.request.avgobjectAverage of each requested numeric column across the rows that match the filter.
aggregate.request.minobjectSmallest value of each requested numeric column across the rows that match the filter.
aggregate.request.maxobjectLargest value of each requested numeric column across the rows that match the filter.
aggregate.authCheck.countintegerNumber of rows that match the filter. Present when `count` was requested.
aggregate.authCheck.sumobjectTotal of each requested numeric column across the rows that match the filter.
aggregate.authCheck.avgobjectAverage of each requested numeric column across the rows that match the filter.
aggregate.authCheck.minobjectSmallest value of each requested numeric column across the rows that match the filter.
aggregate.authCheck.maxobjectLargest value of each requested numeric column across the rows that match the filter.
Errors
400401500