How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

SparkyFitness External Integrations API

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

SparkyFitness External Integrations API is one of 22 APIs that SparkyFitness publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include External Integrations. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, and rate-limit docs.

This API exposes 60 operations across 57 paths, and defines 3 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://{host}/api.

60 operations 57 paths 3 schemas 1 DELETE32 GET26 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://{host}/api
Authentication
API Key
Contact
SparkyFitness Support
Resource Areas
1

Authentication & Security 1

SparkyFitness External Integrations API declares 1 security scheme for authenticating requests. An API key is passed in the header as x-api-key (apiKeyAuth). By default, every request must be authenticated.

  • apiKeyAuth — API key authentication via x-api-key header.

Paths & Operations 60

Across 57 paths, the API surfaces 60 operations — 1 DELETE, 32 GET, 26 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

External Integrations 60

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

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

Schemas 3

The contract defines 3 schemas that model the data the API accepts and returns. The most detailed are ExternalProvider (12 properties), WithingsStatus (2 properties), GarminStatus (2 properties). Each schema is shown below with its type and property counts.

GarminStatus
object
2 properties
WithingsStatus
object
2 properties
ExternalProvider
object
12 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

sparkyfitness-external-integrations-api-openapi.yml Raw ↑

Other APIs SparkyFitness publishes across the network.

SparkyFitness MCP Server
SparkyFitness Admin API
SparkyFitness AI API
SparkyFitness AI & Insights API
SparkyFitness Allergen Preferences API
SparkyFitness Authentication API
SparkyFitness Dashboard API
SparkyFitness Dashboard Layouts API
SparkyFitness Exercise Entries API
SparkyFitness Exercise Stats API
SparkyFitness Exercise & Workouts API
SparkyFitness Fitness & Workouts API
Where this information came from

This is an independent, third-party profile of SparkyFitness External Integrations API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.