AWS HealthLake Import API
Asynchronous bulk import operations for loading FHIR resources from Amazon S3
Asynchronous bulk import operations for loading FHIR resources from 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-import-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 Import 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: Import
description: Asynchronous bulk import operations for loading FHIR resources from Amazon S3
paths:
/#X-Amz-Target=HealthLake.DescribeFHIRImportJob:
post:
operationId: describeFHIRImportJob
summary: DescribeFHIRImportJob
description: <p>Displays the properties of a FHIR import job, including the ID, ARN, name, and the status of the job. </p>
tags:
- Import
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.DescribeFHIRImportJob
description: 'The AWS service action target: HealthLake.DescribeFHIRImportJob'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/DescribeFHIRImportJobResponse'
'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/DescribeFHIRImportJobRequest'
/#X-Amz-Target=HealthLake.ListFHIRImportJobs:
post:
operationId: listFHIRImportJobs
summary: ListFHIRImportJobs
description: <p> Lists all FHIR import jobs associated with an account and their statuses. </p>
tags:
- Import
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.ListFHIRImportJobs
description: 'The AWS service action target: HealthLake.ListFHIRImportJobs'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/ListFHIRImportJobsResponse'
'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/ListFHIRImportJobsRequest'
/#X-Amz-Target=HealthLake.StartFHIRImportJob:
post:
operationId: startFHIRImportJob
summary: StartFHIRImportJob
description: <p>Begins a FHIR Import job.</p>
tags:
- Import
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- HealthLake.StartFHIRImportJob
description: 'The AWS service action target: HealthLake.StartFHIRImportJob'
responses:
'200':
description: Success
content:
application/x-amz-json-1.0:
schema:
$ref: '#/components/schemas/StartFHIRImportJobResponse'
'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/StartFHIRImportJobRequest'
components:
schemas:
DescribeFHIRImportJobResponse:
type: object
properties:
ImportJobProperties:
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}_.:/=+\-%@]*)$
InputDataConfig:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
JobOutputDataConfig:
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
JobProgressReport:
type: object
properties:
TotalNumberOfScannedFiles:
type: integer
format: int64
TotalSizeOfScannedFilesInMB:
type: number
format: double
TotalNumberOfImportedFiles:
type: integer
format: int64
TotalNumberOfResourcesScanned:
type: integer
format: int64
TotalNumberOfResourcesImported:
type: integer
format: int64
TotalNumberOfResourcesWithCustomerError:
type: integer
format: int64
TotalNumberOfFilesReadWithCustomerError:
type: integer
format: int64
Throughput:
type: number
format: double
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
- InputDataConfig
required:
- ImportJobProperties
ListFHIRImportJobsRequest:
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
StartFHIRImportJobResponse:
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
DescribeFHIRImportJobRequest:
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
ListFHIRImportJobsResponse:
type: object
properties:
ImportJobPropertiesList:
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}_.:/=+\-%@]*)$
InputDataConfig:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
JobOutputDataConfig:
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
JobProgressReport:
type: object
properties:
TotalNumberOfScannedFiles:
type: integer
format: int64
TotalSizeOfScannedFilesInMB:
type: number
format: double
TotalNumberOfImportedFiles:
type: integer
format: int64
TotalNumberOfResourcesScanned:
type: integer
format: int64
TotalNumberOfResourcesImported:
type: integer
format: int64
TotalNumberOfResourcesWithCustomerError:
type: integer
format: int64
TotalNumberOfFilesReadWithCustomerError:
type: integer
format: int64
Throughput:
type: number
format: double
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
- InputDataConfig
NextToken:
type: string
maxLength: 8192
pattern: \p{ASCII}{0,8192}
required:
- ImportJobPropertiesList
StartFHIRImportJobRequest:
type: object
properties:
JobName:
type: string
minLength: 1
maxLength: 64
pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-%@]*)$
InputDataConfig:
type: object
properties:
S3Uri:
type: string
maxLength: 1024
pattern: s3://[a-z0-9][\.\-a-z0-9]{1,61}[a-z0-9](/.*)?
JobOutputDataConfig:
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:
- InputDataConfig
- JobOutputDataConfig
- DatastoreId
- DataAccessRoleArn
- ClientToken
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