Skip to content
Hermes Health API
GuidesOpenAPI spec

Endpoints

Record requests

The record request object

Attributes

  • requestobject

    The record request itself: identifiers, status, request type, dates and the facility details it was submitted with.

  • request.idstring

    Identifier 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.companyIdinteger

    Numeric identifier of the customer organization that owns the request.

    The numeric id of the company (tenant) a resource belongs to.

  • request.projectIdstring

    Identifier of the project the request belongs to.

    An identifier of 1 to 32 ASCII letters, digits, hyphens or underscores.

  • request.patientIdstring

    Identifier of the patient whose records are requested, unique within the project.

  • request.statusstring

    Current workflow status of the request. See the status value list for which values are terminal and which mean success or failure.

  • request.requestTypestring

    Category 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.createdAtstring

    When the request was created, as an RFC 3339 timestamp in UTC.

  • request.updatedAtstring

    When the request was last changed, as an RFC 3339 timestamp in UTC.

  • request.userIdstring

    Identifier of the user who created the request.

  • userobject

    The user who created the request.

  • user.idstring

    Unique identifier of the user.

  • user.emailstring

    Email address of the user.

  • providerPacketobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • providerPacket.expiresIninteger

    How 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[].urlstring

    Short-lived presigned URL to download the file.

  • providerPacket.looseFiles[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • providerPacket.looseFiles[].sizeinteger

    The file's size in bytes.

  • providerPacket.looseFiles[].lastModifiedstring

    When the file was last written.

  • deliverableobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • deliverable.expiresIninteger

    How 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[].urlstring

    Short-lived presigned URL to download the file.

  • deliverable.looseFiles[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • deliverable.looseFiles[].sizeinteger

    The file's size in bytes.

  • deliverable.looseFiles[].lastModifiedstring

    When 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[].urlstring

    Short-lived presigned URL to download the file.

  • deliverables[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • deliverables[].sizeinteger

    The file's size in bytes.

  • deliverables[].lastModifiedstring

    When the file was last written.

  • siteFeeobject

    The facility's fee document for releasing the records. Its download link is null when none has been uploaded.

  • siteFee.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • siteFee.expiresIninteger

    How 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[].urlstring

    Short-lived presigned URL to download the file.

  • siteFee.looseFiles[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • siteFee.looseFiles[].sizeinteger

    The file's size in bytes.

  • siteFee.looseFiles[].lastModifiedstring

    When the file was last written.

  • authorizationobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • authorization.expiresIninteger

    How 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[].urlstring

    Short-lived presigned URL to download the file.

  • authorization.looseFiles[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • authorization.looseFiles[].sizeinteger

    The file's size in bytes.

  • authorization.looseFiles[].lastModifiedstring

    When the file was last written.

  • patientAuthorizationobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • patientAuthorization.expiresIninteger

    How 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[].urlstring

    Short-lived presigned URL to download the file.

  • patientAuthorization.looseFiles[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • patientAuthorization.looseFiles[].sizeinteger

    The file's size in bytes.

  • patientAuthorization.looseFiles[].lastModifiedstring

    When the file was last written.

  • notesobject[]

    Notes recorded on the request, with their author and timestamps. Empty when there are none.

  • notes[].idstring

    The note's ID.

  • notes[].createdAtstring

    When the note was written.

  • notes[].userEmailstring

    Email address of the user who wrote the note. Empty when that user can no longer be found.

  • notes[].contentstring

    The note's text.

  • notes[].authoredByAiboolean

    True 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[].requestMethodstring

    Channel this activity went through, such as fax, email, mail or a portal.

  • submissions[].sentAtstring

    When 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.recordReceiptRoutestring

    Free-text note of the route by which records for this request are received. No fixed value list. Null when none has been recorded.

  • request.followUpDatestring

    Date (YYYY-MM-DD) the request is next due for follow-up with the facility. Null when no follow-up is scheduled.

  • request.lastContactDatestring

    Date (YYYY-MM-DD) of the most recent contact with the facility about this request. Null when no contact has been recorded.

  • request.completionDatestring

    Date (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.siteIdstring

    Identifier 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.submittedSiteNamestring

    Facility 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.submittedSiteAddressLine1string

    First street-address line of the facility as submitted with the request (street number and street, or PO Box). Null when not supplied.

  • request.submittedSiteAddressLine2string

    Second street-address line of the facility as submitted with the request (suite, unit or floor). Null when not supplied.

  • request.submittedSiteAddressstring

    Legacy 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.submittedSiteCitystring

    Facility city as submitted with the request. Null when not supplied.

  • request.submittedSiteStatestring

    Facility state as submitted with the request, normally a two-letter US state code. Null when not supplied.

  • request.submittedSiteZipstring

    Facility ZIP code as submitted with the request. Treat as text, not a number. Null when not supplied.

  • request.ownerUserIdstring

    Identifier of the user the request is assigned to. Null when the request is unassigned.

  • request.uploadCodestring

    Eight-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.startDateOfServicestring

    Dates of service the request is asking for. Required for new requests.

  • request.endDateOfServicestring

    Last 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.

  • ownerobject

    The user the request is assigned to. Null when the request is unassigned.

  • siteobject

    The facility (site) the request is addressed to. Null when the request has not been matched to a known site.

  • medicalDepartmentobject & object

    The facility's department that handles medical-record requests. Null when the request has no site or the site has no such department.

  • facilityBillingDepartmentobject & object

    The facility's department that handles facility billing requests. Null when the request has no site or the site has no such department.

  • physicianBillingDepartmentobject & object

    The facility's department that handles physician billing requests. Null when the request has no site or the site has no such department.

  • imagingBillingDepartmentobject & object

    The facility's department that handles imaging billing requests. Null when the request has no site or the site has no such department.

  • emergencyRoomBillingDepartmentobject & object

    The facility's department that handles emergency room billing requests. Null when the request has no site or the site has no such department.

  • anesthesiologyBillingDepartmentobject & object

    The facility's department that handles anesthesiology billing requests. Null when the request has no site or the site has no such department.

  • imagingDepartmentobject & object

    The facility's department that handles imaging requests. Null when the request has no site or the site has no such department.

  • providerPacket.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • providerPacket.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • providerPacket.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • providerPacket.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • providerPacket.embedTokenstring

    Standalone 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[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • providerPacket.uploadedByobject | object | object | object | object | object | object | object | object | object | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • deliverable.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • deliverable.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • deliverable.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • deliverable.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • deliverable.embedTokenstring

    Standalone 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[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • deliverable.uploadedByobject | object | object | object | object | object | object | object | object | object | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • deliverables[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • siteFee.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • siteFee.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • siteFee.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • siteFee.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • siteFee.embedTokenstring

    Standalone 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[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • siteFee.uploadedByobject | object | object | object | object | object | object | object | object | object | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • authorization.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • authorization.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • authorization.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • authorization.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • authorization.embedTokenstring

    Standalone 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[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • authorization.uploadedByobject | object | object | object | object | object | object | object | object | object | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • patientAuthorization.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • patientAuthorization.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • patientAuthorization.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • patientAuthorization.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • patientAuthorization.embedTokenstring

    Standalone 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[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • patientAuthorization.uploadedByobject | object | object | object | object | object | object | object | object | object | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • notes[].updatedAtstring

    When the note was last edited. Null when it has never been edited.

  • submissions[].requestMethodIdstring

    Identifier 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[].deliveryStatusobject

    Current 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.

  • recommendedDeliveryMethodstring

    Default 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.

  • embedTokenstring

    Pre-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).

POST/v0/companies/{company_id}/projects/{project_id}/patients/{patient_id}/record-requests

Create 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

  • medicalRecordboolean

    Set 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.

  • billingboolean

    Set to true to request billing records. Creates one request of type `Billing`.

  • imagingboolean

    Set to true to request imaging records. Creates one request of type `Imaging`. Requires permission to create imaging requests.

  • startDateOfServicestring

    Dates 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.

  • endDateOfServicestring

    Last date (YYYY-MM-DD) of the service-date window; with `startDateOfService` it bounds the visits whose records are requested. Required.

Optional parameters

  • siteIdstring

    Identifier 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.

  • ccdaboolean

    Request 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`.

  • siteNamestring

    Facility 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.

  • siteAddressLine1string

    Primary 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.

  • siteAddressLine2string

    Optional 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.

  • siteCitystring

    Facility 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.

  • siteStatestring

    Facility 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.

  • siteZipstring

    Facility 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[].requestobject

    The record request itself: identifiers, status, request type, dates and the facility details it was submitted with.

  • requests[].request.idstring

    Identifier 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.companyIdinteger

    Numeric identifier of the customer organization that owns the request.

    The numeric id of the company (tenant) a resource belongs to.

  • requests[].request.projectIdstring

    Identifier of the project the request belongs to.

    An identifier of 1 to 32 ASCII letters, digits, hyphens or underscores.

  • requests[].request.patientIdstring

    Identifier of the patient whose records are requested, unique within the project.

  • requests[].request.statusstring

    Current workflow status of the request. See the status value list for which values are terminal and which mean success or failure.

  • requests[].request.requestTypestring

    Category 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.createdAtstring

    When the request was created, as an RFC 3339 timestamp in UTC.

  • requests[].request.updatedAtstring

    When the request was last changed, as an RFC 3339 timestamp in UTC.

  • requests[].request.userIdstring

    Identifier of the user who created the request.

  • requests[].userobject

    The user who created the request.

  • requests[].user.idstring

    Unique identifier of the user.

  • requests[].user.emailstring

    Email address of the user.

  • requests[].providerPacketobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • requests[].providerPacket.expiresIninteger

    How 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[].deliverableobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • requests[].deliverable.expiresIninteger

    How 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[].urlstring

    Short-lived presigned URL to download the file.

  • requests[].deliverables[].fileNamestring

    The 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[].keystring

    The file's full storage path, `/`-separated.

  • requests[].deliverables[].sizeinteger

    The file's size in bytes.

  • requests[].deliverables[].lastModifiedstring

    When the file was last written.

  • requests[].siteFeeobject

    The facility's fee document for releasing the records. Its download link is null when none has been uploaded.

  • requests[].siteFee.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • requests[].siteFee.expiresIninteger

    How 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[].authorizationobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • requests[].authorization.expiresIninteger

    How 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[].patientAuthorizationobject

    The 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.uploadHeadersobject

    Extra headers to send with the upload. Normally empty.

  • requests[].patientAuthorization.expiresIninteger

    How 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[].idstring

    The note's ID.

  • requests[].notes[].createdAtstring

    When the note was written.

  • requests[].notes[].userEmailstring

    Email address of the user who wrote the note. Empty when that user can no longer be found.

  • requests[].notes[].contentstring

    The note's text.

  • requests[].notes[].authoredByAiboolean

    True 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[].requestMethodstring

    Channel this activity went through, such as fax, email, mail or a portal.

  • requests[].submissions[].sentAtstring

    When 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.recordReceiptRoutestring

    Free-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.followUpDatestring

    Date (YYYY-MM-DD) the request is next due for follow-up with the facility. Null when no follow-up is scheduled.

  • requests[].request.lastContactDatestring

    Date (YYYY-MM-DD) of the most recent contact with the facility about this request. Null when no contact has been recorded.

  • requests[].request.completionDatestring

    Date (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.siteIdstring

    Identifier 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.submittedSiteNamestring

    Facility 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.submittedSiteAddressLine1string

    First street-address line of the facility as submitted with the request (street number and street, or PO Box). Null when not supplied.

  • requests[].request.submittedSiteAddressLine2string

    Second street-address line of the facility as submitted with the request (suite, unit or floor). Null when not supplied.

  • requests[].request.submittedSiteAddressstring

    Legacy 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.submittedSiteCitystring

    Facility city as submitted with the request. Null when not supplied.

  • requests[].request.submittedSiteStatestring

    Facility state as submitted with the request, normally a two-letter US state code. Null when not supplied.

  • requests[].request.submittedSiteZipstring

    Facility ZIP code as submitted with the request. Treat as text, not a number. Null when not supplied.

  • requests[].request.ownerUserIdstring

    Identifier of the user the request is assigned to. Null when the request is unassigned.

  • requests[].request.uploadCodestring

    Eight-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.startDateOfServicestring

    Dates of service the request is asking for. Required for new requests.

  • requests[].request.endDateOfServicestring

    Last 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[].ownerobject

    The user the request is assigned to. Null when the request is unassigned.

  • requests[].siteobject

    The facility (site) the request is addressed to. Null when the request has not been matched to a known site.

  • requests[].medicalDepartmentobject & object

    The facility's department that handles medical-record requests. Null when the request has no site or the site has no such department.

  • requests[].facilityBillingDepartmentobject & object

    The facility's department that handles facility billing requests. Null when the request has no site or the site has no such department.

  • requests[].physicianBillingDepartmentobject & object

    The facility's department that handles physician billing requests. Null when the request has no site or the site has no such department.

  • requests[].imagingBillingDepartmentobject & object

    The facility's department that handles imaging billing requests. Null when the request has no site or the site has no such department.

  • requests[].emergencyRoomBillingDepartmentobject & object

    The 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 & object

    The facility's department that handles anesthesiology billing requests. Null when the request has no site or the site has no such department.

  • requests[].imagingDepartmentobject & object

    The facility's department that handles imaging requests. Null when the request has no site or the site has no such department.

  • requests[].providerPacket.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • requests[].providerPacket.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • requests[].providerPacket.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • requests[].providerPacket.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • requests[].providerPacket.embedTokenstring

    Standalone 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 | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • requests[].deliverable.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • requests[].deliverable.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • requests[].deliverable.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • requests[].deliverable.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • requests[].deliverable.embedTokenstring

    Standalone 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 | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • requests[].deliverables[].folderstring

    The 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 | object

    Who or what placed this file. Absent for older files recorded without attribution.

  • requests[].siteFee.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • requests[].siteFee.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • requests[].siteFee.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • requests[].siteFee.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • requests[].siteFee.embedTokenstring

    Standalone 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 | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • requests[].authorization.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • requests[].authorization.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • requests[].authorization.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • requests[].authorization.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • requests[].authorization.embedTokenstring

    Standalone 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 | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • requests[].patientAuthorization.downloadUrlstring

    Short-lived presigned URL to download the file. Null when no file is stored yet, or when this response only offers an upload.

  • requests[].patientAuthorization.uploadUrlstring

    Short-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.extractionobject

    The document's extraction (form data under `data`, plus text and page count). Null for non-auth-check files.

  • requests[].patientAuthorization.verdictsobject

    The auth-check verdicts derived from `extraction`. Null for non-auth-check files or when the document hasn't been analyzed.

  • requests[].patientAuthorization.verdictCountsobject

    Tally of `verdicts` by status, a readability convenience for API consumers. Null exactly when `verdicts` is null.

  • requests[].patientAuthorization.embedTokenstring

    Standalone 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 | object

    Who or what placed this file. Absent when no attribution was recorded or when this endpoint does not report it.

  • requests[].notes[].updatedAtstring

    When the note was last edited. Null when it has never been edited.

  • requests[].submissions[].requestMethodIdstring

    Identifier 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[].deliveryStatusobject

    Current 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[].recommendedDeliveryMethodstring

    Default 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[].embedTokenstring

    Pre-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

PUT/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

  • medicalRecordboolean

    Set 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.

  • billingboolean

    Set to true to request billing records. Creates one request of type `Billing`.

  • imagingboolean

    Set to true to request imaging records. Creates one request of type `Imaging`. Requires permission to create imaging requests.

  • startDateOfServicestring

    Dates 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.

  • endDateOfServicestring

    Last date (YYYY-MM-DD) of the service-date window; with `startDateOfService` it bounds the visits whose records are requested. Required.

Optional parameters

  • siteIdstring

    Identifier 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.

  • ccdaboolean

    Request 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`.

  • siteNamestring

    Facility 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.

  • siteAddressLine1string

    Primary 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.

  • siteAddressLine2string

    Optional 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.

  • siteCitystring

    Facility 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.

  • siteStatestring

    Facility 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.

  • siteZipstring

    Facility 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

GET/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

PATCH/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

POST/v0/record-requests/browse

Browse 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

  • selectobject
  • select.requestobject

    Which of the request's columns to return.

  • select.request.idboolean

    Identifier of the record request within its customer, project, and patient scope.

  • select.request.statusboolean

    Current record-request workflow status. See the Reading guide for the exported status tokens.

  • select.request.requestTypeboolean

    Category of records requested. See the Reading guide for the exported request-type tokens.

  • select.request.recordReceiptRouteboolean

    Stored route used for receiving records. Source-defined text; no fixed value list is enforced by this field.

  • select.request.submittedSiteNameboolean

    Site name supplied when the request was submitted. May differ from site.name.

  • select.request.submittedSiteAddressLine1boolean

    First street-address line supplied with the record request.

  • select.request.submittedSiteAddressLine2boolean

    Second street-address line supplied with the record request.

  • select.request.submittedSiteAddressboolean

    Combined address text supplied with the record request.

  • select.request.submittedSiteCityboolean

    City supplied with the record request site address.

  • select.request.submittedSiteStateboolean

    State or region supplied with the record request site address.

  • select.request.submittedSiteZipboolean

    Postal code supplied with the record request site address. Preserve as text.

  • select.request.followUpDateboolean

    Scheduled follow-up date for the record request.

  • select.request.lastContactDateboolean

    Most recent contact date recorded for the request.

  • select.request.completionDateboolean

    Completion date recorded for the request, when available.

  • select.request.createdAtboolean

    Timestamp when the record request was created.

  • select.request.updatedAtboolean

    Timestamp of the most recent recorded update to the request.

  • select.request.uploadCodeboolean

    Code associated with the request for secure record uploads. Treat as a sensitive workflow value.

  • select.request.startDateOfServiceboolean

    Beginning of the service-date period requested. Not necessarily a date on which care occurred.

  • select.request.endDateOfServiceboolean

    End of the service-date period requested. Not necessarily a date on which care occurred.

  • select.request.orderNumberboolean

    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.

  • select.request.companyIdboolean

    Identifier of the customer organization associated with the record.

  • select.request.projectIdboolean

    Identifier of the project containing the record.

  • select.request.patientIdboolean

    Identifier of the patient. Join to Patients patient.id using the same companyId and projectId.

  • select.request.siteIdboolean

    Identifier of the resolved site associated with the request. The Sites sheet only lists visit-linked sites and may not contain this site.

  • select.request.ownerUserIdboolean

    Identifier of the user assigned to the record request.

  • select.request.userIdboolean

    Identifier of the user who created the record request.

  • select.request.providerPacketUrlboolean

    Time-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.siteFeeUrlboolean

    Time-limited link to download the facility's fee document for releasing the records. Null when none has been uploaded.

  • select.request.authorizationUrlboolean

    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.

  • select.request.authorizationOverrideUrlboolean

    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.

  • select.request.deliverableUrlboolean

    Time-limited link to download the combined chart PDF generated from the records returned for the request. Null when none has been published.

  • select.request.deliverableCountboolean

    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.

  • select.request.aiModeboolean

    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.

  • select.request.linkboolean

    Relative application path to this record. Requires the application host and appropriate access to open.

  • select.request.currentAgeDaysboolean

    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.

  • select.request.priorityboolean

    Bucketed `current_age_days` (`critical`/`high`/`medium`/`normal`).

  • select.request.submissionCountboolean

    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.

  • select.request.submissionsboolean

    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.

  • select.request.statusCategoryboolean

    Coarse status grouping, populated from `status.category()` so the Status Category card can `in`-filter without expanding to statuses.

  • select.request.ehrStatusboolean

    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.

  • select.request.authCheckOutcomeboolean

    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.

  • select.request.roiboolean

    Release-of-information vendor resolved from the request type and routed department. Blank for C-CDA requests.

  • select.request.ehrboolean

    Electronic health record vendor resolved from the request type and routed department, when available.

  • select.request.feeTotalboolean

    Sum of non-canceled fees associated with this record request. Monetary amount; the field does not carry a currency code.

  • select.companyobject & object

    Which of the joined company's columns to return. Absent when the row has no company.

  • select.projectobject & object

    Which of the joined project's columns to return. Absent when the row has no project.

  • select.patientobject & object

    Which of the joined patient's columns to return. Absent when the row has no patient.

  • select.siteobject & object

    Which of the joined site's columns to return. Absent when the row has no site.

  • select.ownerobject & object

    Which of the joined owner's columns to return. Absent when the row has no owner.

  • select.userobject & object

    Which of the joined user's columns to return. Absent when the row has no user.

  • select.authCheckobject

    Which of the auth check's columns to return. Absent when the row has no auth check.

  • select.authCheck.passedboolean

    The number of authorization checks that passed.

  • select.authCheck.warningboolean

    The number of authorization checks that raised a warning.

  • select.authCheck.failedboolean

    The number of authorization checks that failed.

  • select.authCheck.embedUrlboolean

    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.

  • select.authCheck.interactiveUrlboolean

    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.

  • 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.tokenCostboolean

    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.

  • select.authCheck.additionalDocumentsboolean

    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`.

  • select.authCheck.voidDocumentsboolean

    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`.

  • whereobject
  • where.requestobject

    Filters 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 & object

    Filters 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 & object

    Filters 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 & object

    Filters 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 & object

    Filters 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 & object

    Filters 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 & object

    Filters on the joined user's columns. `isNull` or `isNotNull` in place of the filters matches the rows without or with a user.

  • where.authCheckobject

    Filters 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`.

  • aggregateobject
  • aggregate.requestobject
  • aggregate.request.countboolean

    When true, return the number of rows that match the filter.

  • aggregate.request.sumobject

    Numeric columns to total across the rows that match the filter.

  • aggregate.request.avgobject

    Numeric columns to average across the rows that match the filter.

  • aggregate.request.minobject

    Numeric columns to find the smallest value of across the rows that match the filter.

  • aggregate.request.maxobject

    Numeric columns to find the largest value of across the rows that match the filter.

  • aggregate.companyobject & object
  • aggregate.projectobject & object
  • aggregate.patientobject & object
  • aggregate.siteobject & object
  • aggregate.ownerobject & object
  • aggregate.userobject & object
  • aggregate.authCheckobject
  • aggregate.authCheck.countboolean

    When true, return the number of rows that match the filter.

  • aggregate.authCheck.sumobject

    Numeric columns to total across the rows that match the filter.

  • aggregate.authCheck.avgobject

    Numeric columns to average across the rows that match the filter.

  • aggregate.authCheck.minobject

    Numeric columns to find the smallest value of across the rows that match the filter.

  • aggregate.authCheck.maxobject

    Numeric columns to find the largest value of across the rows that match the filter.

  • orderByobject | object | object | object | object | object | object | object[]
  • searchstring
  • takeinteger
  • skipinteger

ReturnsTyped browse response for RequestBrowseResponse

Conditional attributes

  • tableobject[]
  • table[].requestobject & object

    The request's columns, as selected by the request.

  • table[].companyobject & object & object & object

    The joined company's columns, as selected by the request. Absent when the row has no company.

  • table[].projectobject & object & object

    The joined project's columns, as selected by the request. Absent when the row has no project.

  • table[].patientobject & object & object

    The joined patient's columns, as selected by the request. Absent when the row has no patient.

  • table[].siteobject & object

    The joined site's columns, as selected by the request. Absent when the row has no site.

  • table[].ownerobject & object

    The joined owner's columns, as selected by the request. Absent when the row has no owner.

  • table[].userobject & object

    The joined user's columns, as selected by the request. Absent when the row has no user.

  • table[].authCheckobject

    The auth check's columns, as selected by the request. Absent when the row has no auth check.

  • table[].authCheck.passedinteger

    The number of authorization checks that passed.

  • table[].authCheck.warninginteger

    The number of authorization checks that raised a warning.

  • table[].authCheck.failedinteger

    The number of authorization checks that failed.

  • table[].authCheck.embedUrlstring

    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.

  • table[].authCheck.interactiveUrlstring

    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.

  • 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.tokenCoststring

    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.

  • 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`.

  • aggregateobject
  • aggregate.requestobject
  • aggregate.request.countinteger

    Number of rows that match the filter. Present when `count` was requested.

  • aggregate.request.sumobject

    Total of each requested numeric column across the rows that match the filter.

  • aggregate.request.avgobject

    Average of each requested numeric column across the rows that match the filter.

  • aggregate.request.minobject

    Smallest value of each requested numeric column across the rows that match the filter.

  • aggregate.request.maxobject

    Largest value of each requested numeric column across the rows that match the filter.

  • aggregate.companyobject & object
  • aggregate.projectobject & object
  • aggregate.patientobject & object
  • aggregate.siteobject & object
  • aggregate.ownerobject & object
  • aggregate.userobject & object
  • aggregate.authCheckobject
  • aggregate.authCheck.countinteger

    Number of rows that match the filter. Present when `count` was requested.

  • aggregate.authCheck.sumobject

    Total of each requested numeric column across the rows that match the filter.

  • aggregate.authCheck.avgobject

    Average of each requested numeric column across the rows that match the filter.

  • aggregate.authCheck.minobject

    Smallest value of each requested numeric column across the rows that match the filter.

  • aggregate.authCheck.maxobject

    Largest value of each requested numeric column across the rows that match the filter.

  • totalinteger

Errors

400401500