v3

latestOpenAPI 3.1.02026-07-31121144224.9 KB
Internal: Providers

Bulk Update Providers

Bulk update provider settings.

Accepts a map of provider_id -> is_enabled and updates all providers at once. This is the primary endpoint for the admin UI to save checkbox states.

put/api/v1/oauth/providers

Request body

providersobject required

Map of provider_id -> is_enabled

Example request

{
  "providers": {
    "apple": true,
    "garmin": true,
    "polar": false,
    "suunto": true
  }
}

Response

Successful Response

providerstring required

Provider identifier (e.g., 'apple', 'garmin')

namestring required

Display name (e.g., 'Apple Health', 'Garmin')

has_cloud_apiboolean required

Whether provider uses cloud OAuth API

is_enabledboolean required

Whether provider is enabled by admin

icon_urlstring required

Relative URL to provider icon (e.g., '/static/provider-icons/garmin.svg'). Resolve against the API base URL.

live_sync_mode'pull' | 'webhook'
live_sync_configurableboolean

Whether the admin can switch live_sync_mode for this provider.

data_granularity'daily' | 'hourly' | 'raw'

How finely a provider's 24/7 data is stored.

DAILY — one aggregated value per day (server-side rollup). HOURLY — one aggregated value per hour (server-side rollup). RAW — every individual reading (no aggregation), where the provider supports it.