How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Datavant REST API

Datavant's REST API for identified patient medical record retrieval - the programmable side of Datavant Connect Retrieval (the ex-Ciox release-of-information business). Resource-oriented, JSON-encoded, protected by OAuth 2.0 client credentials. 36 paths and 54 operations across seven resources: Configuration (tenant defaults), Projects (order grouping), Orders (the parent container), Order Queries (one per patient), Prematch (population sizing before committing to retrieval), Visits (the retrieval work performed at each clinic) and Documents (the charts that come back). Collections page with limit/offset in a JSON:API-flavoured envelope; versioning is a /v2 path segment plus an optional version-datavant date header defaulting to 2023-04-01. No scopes, no rate limits, no idempotency key and no webhooks are published.

This API exposes 54 operations across 36 paths, organized into 8 resource areas, and defines 104 schemas. It is described by OpenAPI 3.1.0, at version 2023-04-01.

Requests are made against a single base URL, https://api.datavant.io/v2.

54 operations 36 paths 104 schemas 8 DELETE26 GET12 POST8 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2023-04-01
Base URL
https://api.datavant.io/v2
Authentication
OAuth 2.0
Resource Areas
8

Authentication & Security 1

Datavant REST API declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (oauth2) using the clientCredentials flow. By default, every request must be authenticated.

Paths & Operations 54

Across 36 paths, the API surfaces 54 operations — 8 DELETE, 26 GET, 12 POST, 8 PUT. They span 8 resource areas: Orders, Operations, Order Queries, Prematch, Documents, Configuration, Projects, Visits. Each is listed below with its method, path, parameters, and response codes.

Orders 15

An order is the parent container for incoming queries. An order contains one or more queries along with other identifying information (e.g., type, reason, etc.)

GET
/orders/
List all orders
list_orders_orders__get 9 params → 200400422
POST
/orders/
Create an order
create_order_orders__post 1 param body → 201400422409
GET
/orders/{order_id}
Get an order
get_order_orders__order_id__get 3 params → 200400422404
PUT
/orders/{order_id}
Update an order
update_order_orders__order_id__put 2 params body → 204400422
GET
/orders/{order_id}/validation/stats
Get an order's basic validation results
get_order_validation_results_orders__order_id__validation_stats_get 2 params → 200400422404
GET
/orders/{order_uuid}/validation/report
Get an order validation report
get_order_validation_report_orders__order_uuid__validation_report_get 2 params → 200400422404
GET
/orders/{order_uuid}/validation/supplemental-data-report
Get an order supplemental data validation report
get_order_supplemental_data_validation_report_orders__order_uuid__validation_supplemental_data_report_get 2 params → 200400422404
GET
/orders/{order_uuid}/error-and-warning-counts
Get grouped order validation errors and varnings with counts
get_order_errors_and_warnings_orders__order_uuid__error_and_warning_counts_get 2 params → 200400422404
POST
/orders/{order_uuid}/cancel
Cancel an order
cancel_order_orders__order_uuid__cancel_post 2 params → 204400422
POST
/orders/{order_id}/close-request
Deal with an order close request
close_order_orders__order_id__close_request_post 2 params → 204400422
POST
/orders/{order_id}/roster
Attach a roster to an order
attach_roster_orders__order_id__roster_post 2 params body → 201400422
POST
/orders/{order_id}/supplemental-data
Upload supplemental data to an order
attach_supplemental_data_orders__order_id__supplemental_data_post 2 params body → 201400422
POST
/orders/{order_id}/dispatch
Dispatch an order
dispatch_order_orders__order_id__dispatch_post 2 params → 204400422
POST
/orders/{order_id}/submit
Submit an order
submit_order_orders__order_id__submit_post 2 params → 204400422
PUT
/orders/{order_id}/start-record-retrieval
Begin dispatching instructions
dispatch_instructions_orders__order_id__start_record_retrieval_put 2 params → 204400422
Operations 4
GET
/orders/order
Get an order
get_order_by_specific_id_orders_order_get 3 params → 200400422404
GET
/orders/order/validation/stats
Get an order's basic validation results
get_order_validation_results_by_specific_id_orders_order_validation_stats_get 3 params → 200400422404
GET
/orders/{order_id}/reporting/retrievals
Get reporting for order retrievals
get_order_retrievals_reporting_data_orders__order_id__reporting_retrievals_get 4 params → 200400422404
POST
/oauth2/token
Authenticate
body → 200
Order Queries 10

An order query is a request for medical records for a specific patient, but the exact encounter criteria are unknown and/or are flexible. It's possible, depending on the encounter…

GET
/orders/{order_id}/queries
List all queries for an order
list_queries_orders__order_id__queries_get 4 params → 200400422404
POST
/orders/{order_id}/queries
Add a query to an order
add_query_to_order_orders__order_id__queries_post 2 params body → 201400422404
GET
/orders/{order_id}/queries/{query_id}
Get a query from an order
get_query_in_order_orders__order_id__queries__query_id__get 3 params → 200400422404
PUT
/orders/{order_id}/queries/{query_id}
Update a query from an order
update_query_in_order_orders__order_id__queries__query_id__put 3 params body → 204400422404
DELETE
/orders/{order_id}/queries/{query_id}
Delete a query from an order
delete_query_orders__order_id__queries__query_id__delete 3 params → 204400422404
GET
/orders/{order_id}/queries/{query_id}/supporting-documents/patient-authorizations
List all Patient Authorizations.
list_patient_authorization_filenames_orders__order_id__queries__query_id__supporting_documents_patient_authorizations_get 5 params → 200400422
POST
/orders/{order_id}/queries/{query_id}/supporting-documents/patient-authorizations
Create Patient Authorization
create_patient_authorization_orders__order_id__queries__query_id__supporting_documents_patient_authorizations_post 3 params body → 200400422404409
DELETE
/orders/{order_id}/queries/{query_id}/supporting-documents/patient-authorizations
Delete All Patient Authorizations
delete_all_patient_authorizations_orders__order_id__queries__query_id__supporting_documents_patient_authorizations_delete 3 params → 200400422404
GET
/orders/{order_id}/queries/{query_id}/supporting-documents/patient-authorizations/{filename}
Get Patient Authorization
get_patient_authorization_orders__order_id__queries__query_id__supporting_documents_patient_authorizations__filename__get 4 params → 200400422404
DELETE
/orders/{order_id}/queries/{query_id}/supporting-documents/patient-authorizations/{filename}
Delete Patient Authorization
delete_patient_authorization_orders__order_id__queries__query_id__supporting_documents_patient_authorizations__filename__delete 4 params → 200400422404
Prematch 4
POST
/orders/prematch
Create a prematch order
create_prematch_order_orders_prematch_post 1 param body → 201400422
GET
/orders/prematch/all
List Prematch Orders
list_prematch_orders_orders_prematch_all_get 1 param → 200400422
DELETE
/orders/prematch/{order_uuid}
Delete prematch order
delete_prematch_orders_prematch__order_uuid__delete 2 params → 204400422
GET
/orders/prematch/{order_id}/counts
Get prematch result counts
get_prematch_result_counts_orders_prematch__order_id__counts_get 2 params → 200400422
Documents 2

Interact with the various documents that are collected and/or generated by Datavant through the identified patient record retrieval process including patient medical records and s…

GET
/documents
List all documents
list_documents_documents_get 8 params → 200400422
GET
/documents/{document_uuid}
Download a document
download_document_documents__document_uuid__get 2 params → 200400422404501
Configuration 8

This is an object representing account settings and default order preferences associated with your account.

GET
/configuration/
Get customer-level configuration
get_configuration_configuration__get 1 param → 200400422404
PUT
/configuration/
Update customer-level configuration
put_configuration_configuration__put 1 param body → 204400422404
GET
/configuration/supporting-documents/letter-of-representation
Get Letter Of Representation
get_letter_of_representation_configuration_supporting_documents_letter_of_representation_get 1 param → 200400422404
PUT
/configuration/supporting-documents/letter-of-representation
Update Letter Of Representation
update_letter_of_representation_configuration_supporting_documents_letter_of_representation_put 1 param body → 200400422404
DELETE
/configuration/supporting-documents/letter-of-representation
Delete Letter Of Representation
delete_letter_of_representation_configuration_supporting_documents_letter_of_representation_delete 1 param → 200400422
GET
/configuration/supporting-documents/health-plan-letter
Get Health Plan Letter
get_health_plan_letter_configuration_supporting_documents_health_plan_letter_get 1 param → 200400422404
PUT
/configuration/supporting-documents/health-plan-letter
Update Health Plan Letter
update_health_plan_letter_configuration_supporting_documents_health_plan_letter_put 1 param body → 200400422404
DELETE
/configuration/supporting-documents/health-plan-letter
Delete Health Plan Letter
delete_health_plan_letter_configuration_supporting_documents_health_plan_letter_delete 1 param → 200400422
Projects 9

A project is an optional entity that allows you to group multiple orders together and apply consistent configuration to all nested orders.

GET
/projects/
List all projects
list_projects_projects__get 1 param → 200400422
POST
/projects/
Create a project
create_project_projects__post 1 param body → 201400422409
GET
/projects/{project_id}
Get a project by ID
get_project_by_id_projects__project_id__get 2 params → 200400422404
PUT
/projects/{project_id}
Update a project
update_project_projects__project_id__put 2 params body → 204400422
DELETE
/projects/{project_id}
Delete a project
delete_project_projects__project_id__delete 2 params → 204400422404
GET
/projects/uuid/{project_uuid}
Get a project by UUID
get_project_by_uuid_projects_uuid__project_uuid__get 2 params → 200400422404
GET
/projects/{project_id}/supporting-documents/{document_type}
Get Supporting Document
get_supporting_document_projects__project_id__supporting_documents__document_type__get 3 params → 200400422404
PUT
/projects/{project_id}/supporting-documents/{document_type}
Upload Supporting Document
upload_supporting_document_projects__project_id__supporting_documents__document_type__put 3 params body → 200400422404
DELETE
/projects/{project_id}/supporting-documents/{document_type}
Delete Request Letter
delete_request_letter_projects__project_id__supporting_documents__document_type__delete 3 params → 200400422
Visits 2

A visit is a record of the actions performed by Datavant to obtain charts from a specific clinic within the specified date ranges for a specific patient.

GET
/projects/{project_id}/queries/{query_id}/visits/{visit_uuid}
Get details about a specific visit under the given project and query.
get_visit_details_projects__project_id__queries__query_id__visits__visit_uuid__get 4 params → 200400422404
GET
/projects/{project_id}/queries/{query_id}/visits
Get all visits for a particular patient (identified by query.id) across all orders in the given project.
get_query_visits_projects__project_id__queries__query_id__visits_get 5 params → 200400422404

Schemas 104

The contract defines 104 schemas that model the data the API accepts and returns. The most detailed are OrderResponse (55 properties), CreateOrderRequest (52 properties), UpdateOrderRequest (42 properties), OrderOptions (40 properties). Each schema is shown below with its type and property counts.

Address
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
7 properties
AllDeliveryConfig
object
Model for the delivery configuration.
5 properties
AllowBlockGroup
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
1 property
AlternateDelivery
object
Delivery to an alternate entity separate from the primary requester.
2 properties
BaseDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
5 properties 1 required
BirthDate
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
3 properties 3 required
BiweeklyDeliveryOptions
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
Body_attach_roster_orders__order_id__roster_post
object
1 property 1 required
Body_attach_supplemental_data_orders__order_id__supplemental_data_post
object
1 property 1 required
Body_create_patient_authorization_orders__order_id__queries__query_id__supporting_documents_patient_authorizations_post
object
1 property 1 required
Body_create_prematch_order_orders_prematch_post
object
5 properties 3 required
Body_update_health_plan_letter_configuration_supporting_documents_health_plan_letter_put
object
1 property 1 required
Body_update_letter_of_representation_configuration_supporting_documents_letter_of_representation_put
object
1 property 1 required
Body_upload_supporting_document_projects__project_id__supporting_documents__document_type__put
object
1 property 1 required
CDRLocation
object
Attributes used to identify the CDR location of a file.
1 property 1 required
ChartComponent
Individual components of a chart.
ChartDetailExtractConfiguration
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
4 properties 1 required
ChartDetailExtractDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
6 properties 1 required
ChartFinderConfiguration
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
7 properties
ChartPackage
Packages referring to pre-configured bundles of chart components.
ClientFile
object
Attributes used to identify a file owned by the client that is available for download.
4 properties 2 required
ClientInfo
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties
CodingConfiguration
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
3 properties 1 required
ConfigOptions
object
The full list of options that are available for configuration. Which configuration options you are allowed to configure is determined on your account type and…
40 properties
ConfigurationRequest
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
1 property
ConfigurationResponse
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
3 properties 1 required
ConnectionCounts
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
ConnectionsReport
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
3 properties 3 required
Contacts
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties
CreateOrderQueryRequest
object
The fields that a customer must specify to define an OrderQuery.
3 properties 3 required
CreateOrderRequest
object
52 properties 2 required
CreateProjectRequest
object
Fields used to create a new project.
4 properties 2 required
DailyDeliveryOptions
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
DateRange
object
A date range for a visit.
2 properties 1 required
DeliveryFormat
string
An enumeration.
DeliveryFrequency
string
An enumeration.
DeliveryFrequencyDay
integer
An enumeration.
DeliveryLocation
string
Additional delivery locations for documents (besides API)
DeliveryTiming
string
An enumeration.
DeliveryType
string
An enumeration.
DocumentLinks
object
Link to download the document.
1 property 1 required
DocumentResponse
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
6 properties 4 required
DocumentType
The type of document.
DueDateDeliveryOptions
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
EachDocumentDeliveryOptions
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
Encounter
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
6 properties 1 required
Error
object
3 properties 2 required
ErrorHTTPResponse
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
1 property 1 required
ExtractionDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
4 properties 2 required
Facility
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
8 properties
FacilityType
string
An enumeration.
FileLocation
object
Attributes used to identify the location of the specified file.
1 property 1 required
FileRetrievalMethodEnum
string
The method to use to fetch the file
FilenameResponse
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
1 property 1 required
FlowType
string
An enumeration.
Gender
string
An enumeration.
ImportReviewStatus
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
1 property
Insurance
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
4 properties
JsonApiPage_DocumentResponse_
object
JSON:API 1.0 specification says that result key should be a data.
6 properties 3 required
JsonApiPage_FilenameResponse_
object
JSON:API 1.0 specification says that result key should be a data.
6 properties 3 required
JsonApiPage_OrderQueryResponse_
object
JSON:API 1.0 specification says that result key should be a data.
6 properties 3 required
JsonApiPage_OrderResponse_
object
JSON:API 1.0 specification says that result key should be a data.
6 properties 3 required
JsonApiPage_Visit_
object
JSON:API 1.0 specification says that result key should be a data.
6 properties 3 required
LegalEntity
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
12 properties 1 required
Links
object
5 properties
Mail
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
ManifestDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
5 properties 1 required
MonthlyDeliveryOptions
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
OrderMetadata
object
Pre-determined fields that can be passed to orders. Right now these can only be set at the Project level, but in theory we could also set them at the customer…
4 properties
OrderOptions
object
40 properties
OrderQueryResponse
object
The representation of an OrderQuery as it is returned to an external customer.
6 properties 5 required
OrderReportingResponse
object
Order reporting information.
6 properties 4 required
OrderResponse
object
Represents an Order object returned through the API.
55 properties 5 required
OrderStatus
string
OrderStatus is an enumeration representing the different stages in an order's lifecycle. Definitions: draft: An initial state for orders that are created but n…
OrderValidationResponse
object
Order validation results.
6 properties 4 required
Patient
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
17 properties 1 required
PdfDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
8 properties 1 required
Practitioner
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
7 properties
PrematchOrderResponse
object
Represents a Prematch Order object returned through the API.
13 properties 6 required
PrimaryReason
string
An enumeration.
ProjectResponse
object
Fields that comprise an Identified Switchboard project.
10 properties 5 required
RequesterType
string
An enumeration.
RetrievalAllowBlockConfiguration
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties
RetrievalSources
string
An enumeration.
S3FileTransferConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
SecondaryReason
string
An enumeration.
ServiceDates
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 1 required
Sftp
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
StructuredDataExtractionReportConfiguration
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
8 properties 1 required
StructuredExtractionDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
7 properties 2 required
SubmissionSource
string
An enumeration.
UpdateOrderQueryRequest
object
The field required to update an existing order query.
2 properties 2 required
UpdateOrderRequest
object
Model for all delivery configuration fields (including those set at project/customer level). Should contain any fields that need to be referenced when creating…
42 properties 1 required
UpdateProjectRequest
object
Fields used to update an existing project.
3 properties 1 required
UserDefinedText
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
4 properties
Visit
object
An effort to obtain charts from a patient's visit to a specific clinic within the specified date ranges.
12 properties 12 required
VisitDocuments
object
Documents attached to a visit.
5 properties
VisitHistoryEntry
object
The ledger of updates made to a visit.
3 properties 3 required
VisitRetrievalDetails
object
Details about the retrieval of a visit.
2 properties 1 required
VisitStatus
Enum for visit statuses.
VisitStatusDetail
Enum for visit status tags.
VisitType
Enum for visit types.
WeeklyDeliveryOptions
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
2 properties 2 required
ZipDeliveryConfig
object
A custom BaseModel with the eventual goal of populating inheriting models with the value property of enums rather than the raw enum. For now this is set to Fal…
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

datavant-rest-api-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Datavant REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.