SparkyFitness External Integrations API

Third-party service connections (Garmin, Withings, OIDC, etc.).

Operations 60

GET /external-providers Get all external data providers for the authenticated user #
POST /external-providers Create a new external data provider #
GET /external-providers/user/{targetUserId} Get external data providers for a specific user #
PUT /external-providers/{id} Update an existing external data provider #
DELETE /external-providers/{id} Delete an external data provider #
GET /external-providers/{id} Get details of a specific external data provider #
POST /external-providers/garmin/activities-and-workouts Process Garmin activities and workouts #
GET /integrations/fitbit/authorize Initiate Fitbit OAuth flow #
POST /integrations/fitbit/callback Handle Fitbit OAuth callback #
POST /integrations/fitbit/sync Manually trigger a Fitbit data sync #
POST /integrations/fitbit/disconnect Disconnect a Fitbit account #
GET /integrations/fitbit/status Get Fitbit connection status #
GET /foods/fatsecret/search Search for foods on FatSecret #
GET /foods/fatsecret/nutrients Get nutrient information from FatSecret #
GET /foods/fatsecret/barcode/{barcode} Search for food by barcode on FatSecret #
GET /foods/openfoodfacts/search Search for foods on Open Food Facts #
GET /foods/openfoodfacts/barcode/{barcode} Search for food by barcode on Open Food Facts #
GET /foods/nutritionix/search Search for foods on Nutritionix #
GET /foods/nutritionix/nutrients Get nutrient information from Nutritionix #
GET /foods/nutritionix/item Get branded food nutrient information from Nutritionix #
GET /foods/mealie/search Search for foods on Mealie #
GET /foods/mealie/details Get food details from Mealie #
GET /foods/tandoor/search Search for foods on Tandoor #
GET /foods/tandoor/details Get food details from Tandoor #
GET /foods/norish/search Search for foods on Norish #
GET /foods/norish/details Get food details from Norish #
GET /foods/usda/search Search for foods on USDA FoodData Central #
GET /foods/usda/details Get food details from USDA FoodData Central #
POST /integrations/garmin/login Garmin direct login #
POST /integrations/garmin/resume_login Resume Garmin login (e.g., after MFA) #
POST /integrations/garmin/sync/health_and_wellness Manually sync health and wellness data from Garmin #
POST /integrations/garmin/sync/activities_and_workouts Manually sync activities and workouts data from Garmin #
POST /integrations/garmin/sync/nutrition_diary Manually sync nutrition diary data from Garmin #
POST /integrations/garmin/sync Manual full sync for Garmin data #
GET /integrations/garmin/status Get Garmin connection status #
POST /integrations/garmin/sleep_data Process sleep data from Garmin #
GET /integrations/googlehealth/authorize Initiate Google Health OAuth flow #
POST /integrations/googlehealth/callback Handle Google Health OAuth callback #
POST /integrations/googlehealth/sync Manually trigger a Google Health data sync #
POST /integrations/googlehealth/disconnect Disconnect a Google Health account #
GET /integrations/googlehealth/status Get Google Health connection status #
POST /integrations/hevy/sync Manually trigger a Hevy data sync #
GET /integrations/hevy/status Get Hevy connection status #
GET /integrations/oura/authorize Initiate Oura OAuth flow #
POST /integrations/oura/callback Handle Oura OAuth callback #
POST /integrations/oura/sync Manually trigger an Oura data sync #
POST /integrations/oura/disconnect Disconnect an Oura account #
GET /integrations/oura/status Get Oura connection status #
GET /integrations/polar/authorize Initiate Polar OAuth flow #
POST /integrations/polar/callback Handle Polar OAuth callback #
POST /integrations/polar/sync Manually trigger a Polar data sync #
POST /integrations/polar/disconnect Disconnect a Polar account #
GET /integrations/polar/status Get Polar connection status #
GET /integrations/withings/data Get aggregated Withings data for display #
GET /withings/authorize Initiate Withings OAuth flow #
POST /withings/callback Handle Withings OAuth callback #
POST /withings/sync Manually trigger a Withings data sync #
POST /withings/disconnect Disconnect a Withings account #
GET /withings/status Get Withings connection status and last sync time #

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/sparkyfitness-external-integrations-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 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 Specification

sparkyfitness-external-integrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SparkyFitness External Integrations API
  version: 1.0.0
  description: API documentation for the SparkyFitness application, providing a comprehensive guide to all available endpoints.
  contact:
    name: SparkyFitness Support
servers:
- url: https://{host}/api
  description: Self-hosted SparkyFitness instance (the operator supplies the host). The upstream spec declares the relative base "/api".
  variables:
    host:
      default: sparkyfitness.example.com
      description: Hostname of your own SparkyFitness deployment. SparkyFitness is self-hosted; there is no vendor-operated API host.
security:
- apiKeyAuth: []
tags:


# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sparkyfitness/refs/heads/main/openapi/sparkyfitness-external-integrations-api-openapi.yml