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:
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.
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.
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.
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:
- Obtain an API key — Generate an API key from your Flywheel profile or ask your administrator to create one for you.
- Choose your SDK — Select the SDK that best fits your development environment and needs.
- Install and configure — Follow the installation and configuration instructions in the SDK documentation.
- Explore examples — Review example code, tutorials, and Jupyter notebooks to understand common usage patterns.
Resources
- Python SDK documentation
- Call flywheel-sdk from MATLAB
- Jupyter Notebooks for Python SDK
- Extension SDK documentation
- Webinar: Intro to the Flywheel SDK
- Flywheel Forum — Community discussions and support