SMART Health IT Bulk Data API

FHIR Bulk Data $export operations on the reference Bulk Data server.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/smarthealthit-bulk-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

smarthealthit-bulk-data-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SMART Health IT Sandbox FHIR APIs Bulk Data API
  description: Public, free sandbox APIs operated by SMART Health IT (Computational Health Informatics Program, Boston Children's Hospital / Harvard Medical School) for building and testing SMART on FHIR apps. Three surfaces are described here. (1) The open FHIR R4 sandbox at https://r4.smarthealthit.org - synthetic patient records served over plain FHIR REST with no authentication (DSTU2 and STU3 variants exist at r2/r3.smarthealthit.org). (2) The SMART App Launcher's protected FHIR R4 proxy at https://launch.smarthealthit.org/v/r4/fhir, which requires an OAuth 2.0 access token obtained through the HL7 SMART App Launch flow at /v/r4/auth/authorize and /v/r4/auth/token (no client registration needed). (3) The reference Bulk Data server at https://bulk-data.smarthealthit.org/fhir, which implements FHIR Bulk Data $export with SMART Backend Services JWT authentication. All data is synthetic; these servers are for development and testing, never real PHI.
  version: '1.0'
  contact:
    name: SMART Health IT
    url: https://smarthealthit.org
  license:
    name: Apache 2.0
    url: https://github.com/smart-on-fhir/smart-launcher-v2/blob/main/LICENSE
servers:
- url: https://r4.smarthealthit.org
  description: Open FHIR R4 sandbox (no authentication required)
- url: https://launch.smarthealthit.org/v/r4/fhir
  description: SMART App Launcher protected FHIR R4 proxy (SMART App Launch OAuth 2.0)
- url: https://bulk-data.smarthealthit.org/fhir
  description: Reference Bulk Data server (SMART Backend Services authentication)
security:
- smartOnFhir: []
- {}
tags:
- name: Bulk Data
  description: FHIR Bulk Data $export operations on the reference Bulk Data server.
paths:
  /$export:
    servers:
    - url: https://bulk-data.smarthealthit.org/fhir
      description: Reference Bulk Data server
    get:
      operationId: bulkSystemExport
      tags:
      - Bulk Data
      summary: Start a system-level bulk export (Bulk Data server only)
      description: Kicks off an asynchronous export of all resources on the reference Bulk Data server (https://bulk-data.smarthealthit.org/fhir). Requires the Prefer respond-async header and a SMART Backend Services access token. Responds 202 with a Content-Location status URL to poll (honor Retry-After); when complete, the status endpoint returns a manifest of NDJSON file URLs to download.
      parameters:
      - $ref: '#/components/parameters/OutputFormat'
      - $ref: '#/components/parameters/Type'
      - $ref: '#/components/parameters/Since'
      responses:
        '202':
          description: Export accepted; poll the Content-Location URL for status.
          headers:
            Content-Location:
              description: Absolute URL of the export status endpoint.
              schema:
                type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Patient/$export:
    servers:
    - url: https://bulk-data.smarthealthit.org/fhir
      description: Reference Bulk Data server
    get:
      operationId: bulkPatientExport
      tags:
      - Bulk Data
      summary: Start a patient-level bulk export (Bulk Data server only)
      description: Kicks off an asynchronous export of all data for all patients on the reference Bulk Data server, following the same async-request pattern as the system-level export.
      parameters:
      - $ref: '#/components/parameters/OutputFormat'
      - $ref: '#/components/parameters/Type'
      - $ref: '#/components/parameters/Since'
      responses:
        '202':
          description: Export accepted; poll the Content-Location URL for status.
          headers:
            Content-Location:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
  /Group/{id}/$export:
    servers:
    - url: https://bulk-data.smarthealthit.org/fhir
      description: Reference Bulk Data server
    get:
      operationId: bulkGroupExport
      tags:
      - Bulk Data
      summary: Start a group-level bulk export (Bulk Data server only)
      description: Kicks off an asynchronous export of all data for the patients in a Group on the reference Bulk Data server.
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      - $ref: '#/components/parameters/OutputFormat'
      - $ref: '#/components/parameters/Type'
      - $ref: '#/components/parameters/Since'
      responses:
        '202':
          description: Export accepted; poll the Content-Location URL for status.
          headers:
            Content-Location:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    ResourceId:
      name: id
      in: path
      required: true
      description: The logical id of the resource.
      schema:
        type: string
    Since:
      name: _since
      in: query
      description: Only include resources modified after this instant.
      schema:
        type: string
        format: date-time
    Type:
      name: _type
      in: query
      description: Comma-separated FHIR resource types to include in the export.
      schema:
        type: string
    OutputFormat:
      name: _outputFormat
      in: query
      description: Requested bulk output format; defaults to application/fhir+ndjson.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Missing or invalid access token (protected servers only).
      content:
        application/fhir+json:
          schema:
            $ref: '#/components/schemas/OperationOutcome'
  schemas:
    OperationOutcome:
      type: object
      description: A FHIR OperationOutcome describing an error.
      properties:
        resourceType:
          type: string
          enum:
          - OperationOutcome
        issue:
          type: array
          items:
            type: object
            properties:
              severity:
                type: string
              code:
                type: string
              diagnostics:
                type: string
  securitySchemes:
    smartOnFhir:
      type: oauth2
      description: HL7 SMART App Launch OAuth 2.0 profile, used by the launcher's protected FHIR proxy. The open r4.smarthealthit.org sandbox requires no authentication; the Bulk Data server uses SMART Backend Services (client_credentials with a signed JWT assertion).
      flows:
        authorizationCode:
          authorizationUrl: https://launch.smarthealthit.org/v/r4/auth/authorize
          tokenUrl: https://launch.smarthealthit.org/v/r4/auth/token
          scopes:
            openid: OpenID Connect identity.
            fhirUser: Identity of the launching user as a FHIR resource.
            launch/patient: Request a patient in context at launch.
            patient/*.read: Read all resources for the patient in context.
            user/*.read: Read all resources the user can access.
            system/*.read: Backend services system-level read access.
        clientCredentials:
          tokenUrl: https://launch.smarthealthit.org/v/r4/auth/token
          scopes:
            system/*.read: Backend services system-level read access.
externalDocs:
  description: SMART on FHIR developer documentation
  url: https://docs.smarthealthit.org