FitnessSyncer API

This document provides an overview of the FitnessSyncer API so that you may integrate the data in FitnessSyncer with your applications. Should you have any questions, encounter any issues, or need a different interface, please contact us.

By using our API, you agree with our Terms of Use available on our site.

We will periodically make changes to this API. Changes will generally be additive, however, periodically, we may create breaking changes and will attempt to notify you with sufficient time to update your implementations. Please contact us to ensure that you are on this mailing list.

You can also use the FitnessSyncer OpenAPI Specification to generate code and some sample code, although this documentation should be used. We also have a few generated and tested implementations if needed; please contact us to get access.

Quickstart

  1. Create an application in the developer console, which gives you a Client Id and a Client Secret. For anything other than a personal application, please contact us.
  2. Send the user to https://www.fitnesssyncer.com/api/oauth/authorize with your Client Id, the scopes you need and your Redirect URL. See Authorizing.
  3. When the user comes back to your Redirect URL with a code, exchange that code for an access token with a POST to https://api.fitnesssyncer.com/api/oauth/access_token. See Accessing the token.
  4. Call the API with an Authorization header of “Bearer” followed by the access token. Listing the user’s sources is a good first call:
curl -H "Authorization: Bearer AccessToken" https://api.fitnesssyncer.com/api/providers/sources/

Introduction

FitnessSyncer’s API provides access to health and fitness data from over 50 sources as displayed within the FitnessSyncer Stream and FitnessSyncer Dashboard, including data sources such as Fitbit and data captured in FitnessSyncer Notebook.

The first step in integrating with the FitnessSyncer API is to authenticate. Authentication is done via the OAuth2 protocol and once the user grants permission to your application to access their information, FitnessSyncer will provide you with a token that you can use for your requests. The permissions are acquired via scopes and it should be noted that a user can grant your application a subset of those scopes.

Authenticating with FitnessSyncer

Once authenticated, your application can then access any data in FitnessSyncer or upload data into FitnessSyncer.

Most applications will interact with a Source, which is a feed from one data provider for a type of data. A Data Provider is the application or hardware that provides data and data-types such as Activity Tracking, Exercise, Allergies, Weight, Blood Pressure, Cholesterol, Condition, Cycle Tracking, Glucose, Medications, Nutrition, Oxygen, Sleep, and Temperature data.

For example, if a user has a Fitbit device from which they track Exercise and Sleep information, this will result in two Sources, one for the Exercise from Fitbit, and the other for Sleep Information from Fitbit.

FitnessSyncer also provides Destination Tasks. Destination Tasks complete operations such as synchronize the data into other services, provide e-mail notification, automatically refresh sources on a schedule, etc. These are also available within this API.

When FitnessSyncer has new data, consumers of our API will need to read that new data in. A subscription allows a webhook to be sent to you when there is new data. If you wish to use this, please contact us.

FitnessSyncer free accounts are limited to the number of sources and destinations they may create. Please contact us if this is an issue.

Typical Workflows

The typical workflow for integrating with the FitnessSyncer API is as follows:

Documentation Sections

Keeping Up-To-Date

For any changes that require your application to be updated, we will send an e-mail to the e-mail address associated with the account. As we try our best to maintain backwards compatibility, these should be rare.

If you want to keep track of the new capabilities in our API, the easiest way to keep track of these is to Watch our FitnessSyncer OpenAPI Specification on Github.

Developer Support

Developer support can be done via our normal support process of contacting us.