Skip to content

APIs and SDKs

Introduction

Flywheel provides a comprehensive set of application programming interfaces (APIs) and software development kits (SDKs) that enable developers to integrate with and extend the Flywheel platform. These tools allow you to programmatically access and manipulate data, automate workflows, build custom applications, and integrate Flywheel with other systems in your research or clinical environment.

Available APIs and SDKs

Flywheel offers the following APIs and SDKs for developers:

REST API

Flywheel provides a full REST API that allows you to interact with all aspects of the Flywheel platform. The API is documented with Swagger and is available for each Flywheel instance at:

<flywheel_instance_url>/api/docs

The REST API enables you to:

  • Access and manipulate data in your Flywheel instance
  • Manage users, groups, and permissions
  • Create and run gears
  • Query and search across your data
  • Automate workflows and integrations

If you do not have a Flywheel instance, you can still browse the Flywheel API documentation.

Python SDK

The Python SDK provides a powerful interface to the Flywheel platform. It is ideal for data scientists, researchers, and developers who want to integrate Flywheel with Python-based workflows and applications.

Python SDK documentation

Key features:

  • Comprehensive access to all Flywheel resources
  • Simplified data access and manipulation
  • Advanced search capabilities with FlyQL
  • Support for running gears and managing workflows
  • Integration with popular Python data science libraries

See Jupyter Notebooks for Python SDK for example notebooks covering data curation, search, metadata management, workflow automation, and machine learning integration.

Flywheel Extension SDK

The Extension SDK enables developers to build custom applications that extend the Flywheel web interface, providing tailored functionality for specific workflows or use cases.

Extension SDK documentation

Key features:

  • Create custom web applications within the Flywheel interface
  • Access Flywheel data and services
  • Build specialized visualization and analysis tools
  • Customize the user experience for specific workflows

Call flywheel-sdk from MATLAB

MATLAB SDK Deprecation Notice

The dedicated Flywheel MATLAB SDK is deprecated and will reach end of life (EOL) on August 30th, 2026. Use the Python SDK from MATLAB instead. See the migration guide for details.

MATLAB users can call the Flywheel Python SDK directly from MATLAB using the built-in py. interface. This eliminates the need for a separate MATLAB-specific SDK.

Call flywheel-sdk from MATLAB

The guide covers:

  • Setup and configuration of Python within MATLAB
  • Side-by-side Python and MATLAB code examples for common operations
  • Helper utilities and common patterns
  • Data type conversion reference
  • Troubleshooting and migration from the dedicated MATLAB SDK

Integration Capabilities

Flywheel APIs and SDKs enable a wide range of integration scenarios:

  • Data Pipeline Automation — Automate data ingest, processing, and analysis workflows
  • Custom Applications — Build specialized applications for your research or clinical needs
  • Third-Party Integration — Connect Flywheel with other systems in your environment
  • Batch Processing — Process large datasets efficiently with programmatic access
  • Reporting and Analytics — Generate custom reports and analytics from your Flywheel data

Getting Started

To get started with Flywheel APIs and SDKs:

  1. Obtain an API key — Generate an API key from your Flywheel profile or ask your administrator to create one for you.
  2. Choose your SDK — Select the SDK that best fits your development environment and needs.
  3. Install and configure — Follow the installation and configuration instructions in the SDK documentation.
  4. Explore examples — Review example code, tutorials, and Jupyter notebooks to understand common usage patterns.

Resources