AWS HealthLake Export API
Asynchronous bulk export operations for exporting FHIR resources to Amazon S3
Asynchronous bulk export operations for exporting FHIR resources to Amazon S3
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/aws-healthlake-export-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Amazon HealthLake Datastore Export API
description: Amazon HealthLake is a HIPAA-eligible, FHIR R4-compliant managed service for importing, transforming, storing, and querying health data from patients and clinical systems. It provides a transactional FHIR server with bulk import/export, medical NLP for unstructured data extraction, SMART on FHIR authorization, and integration with AWS analytics services.
version: '2017-07-01'
contact:
name: AWS Support
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
termsOfService: https://aws.amazon.com/service-terms/
servers:
- url: https://healthlake.{region}.amazonaws.com
description: AWS HealthLake regional endpoint
variables:
region:
default: us-east-1
description: AWS region identifier
enum:
- us-east-1
- us-east-2
- us-west-2
- ap-southeast-2
- eu-west-1
security:
- aws_v4: []
tags:
- name: Export
description: Asynchronous bulk export operations for exporting FHIR resources to Amazon S3
paths:
/#X-Amz-Target=HealthLake.DescribeFHIRExportJob:
post:
operationId: describeFHIRExportJob
summary: DescribeFHIRExportJob
description: <p>Displays the properties of a FHIR export job, including the ID, ARN, name, and the status of the job.</p>
tags:
- Export
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.DescribeFHIRExportJob
description: 'The AWS service action target: HealthLake.DescribeFHIRExportJob'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DescribeFHIRExportJobResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DescribeFHIRExportJobRequest'
/#X-Amz-Target=HealthLake.ListFHIRExportJobs:
post:
operationId: listFHIRExportJobs
summary: ListFHIRExportJobs
description: <p> Lists all FHIR export jobs associated with an account and their statuses. </p>
tags:
- Export
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.ListFHIRExportJobs
description: 'The AWS service action target: HealthLake.ListFHIRExportJobs'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListFHIRExportJobsResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListFHIRExportJobsRequest'
/#X-Amz-Target=HealthLake.StartFHIRExportJob:
post:
operationId: startFHIRExportJob
summary: StartFHIRExportJob
description: <p>Begins a FHIR export job.</p>
tags:
- Export
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.StartFHIRExportJob
description: 'The AWS service action target: HealthLake.StartFHIRExportJob'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/StartFHIRExportJobResponse'
'400':
description: Client error (validation, throttling, conflict, access denied)
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
'500':
description: Internal server error
content:
application/x-amz-json-1.0:
schema:
type: object
properties:
__type:
type: string
description: Exception type
Message:
type: string
description: Error message
requestBody:
required: true
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/StartFHIRExportJobRequest'
components:
schemas:
DescribeFHIRExportJobResponse:
type: object
properties:
ExportJobProperties:
type: object
properties:
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
SubmitTime:
type: string
format: date-time
EndTime:
type: string
format: date-time
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
OutputDataConfig:
type: object
properties:
S3Configuration:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
KmsKeyId:
type: string
minLength: 1
maxLength: 400
pattern: (arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\d:)?(\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))
required:
- S3Uri
- KmsKeyId
DataAccessRoleArn:
type: string
minLength: 20
maxLength: 2048
pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
Message:
type: string
minLength: 1
maxLength: 2048
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- JobId
- JobStatus
- SubmitTime
- DatastoreId
- OutputDataConfig
required:
- ExportJobProperties
StartFHIRExportJobResponse:
type: object
properties:
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- JobId
- JobStatus
StartFHIRExportJobRequest:
type: object
properties:
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
OutputDataConfig:
type: object
properties:
S3Configuration:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
KmsKeyId:
type: string
minLength: 1
maxLength: 400
pattern: (arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\d:)?(\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))
required:
- S3Uri
- KmsKeyId
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
DataAccessRoleArn:
type: string
minLength: 20
maxLength: 2048
pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
ClientToken:
type: string
minLength: 1
maxLength: 64
pattern: ^[a-zA-Z0-9-]+$
required:
- OutputDataConfig
- DatastoreId
- DataAccessRoleArn
- ClientToken
DescribeFHIRExportJobRequest:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- DatastoreId
- JobId
ListFHIRExportJobsResponse:
type: object
properties:
ExportJobPropertiesList:
type: array
items:
type: object
properties:
JobId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
SubmitTime:
type: string
format: date-time
EndTime:
type: string
format: date-time
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
OutputDataConfig:
type: object
properties:
S3Configuration:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
KmsKeyId:
type: string
minLength: 1
maxLength: 400
pattern: (arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\d:)?(\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))
required:
- S3Uri
- KmsKeyId
DataAccessRoleArn:
type: string
minLength: 20
maxLength: 2048
pattern: arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+
Message:
type: string
minLength: 1
maxLength: 2048
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
required:
- JobId
- JobStatus
- SubmitTime
- DatastoreId
- OutputDataConfig
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
required:
- ExportJobPropertiesList
ListFHIRExportJobsRequest:
type: object
properties:
DatastoreId:
type: string
minLength: 1
maxLength: 32
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
MaxResults:
type: integer
format: int32
minimum: 1
maximum: 500
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
JobStatus:
type: string
enum:
- SUBMITTED
- IN_PROGRESS
- COMPLETED_WITH_ERRORS
- COMPLETED
- FAILED
- CANCEL_SUBMITTED
- CANCEL_IN_PROGRESS
- CANCEL_COMPLETED
- CANCEL_FAILED
SubmittedBefore:
type: string
format: date-time
SubmittedAfter:
type: string
format: date-time
required:
- DatastoreId
securitySchemes:
aws_v4:
type: apiKey
in: header
name: Authorization
description: 'AWS Signature Version 4. Sign requests with your AWS access key and secret key. See: https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html'
externalDocs:
description: Amazon HealthLake API Reference
url: https://docs.aws.amazon.com/healthlake/latest/APIReference/Welcome.html