Skip to main content

Endpoint

GET /api/v1/pulse/providers

Overview

Retrieve information about all health device providers available in the system, including their configuration status and capabilities.

Request

curl http://localhost:18080/api/v1/pulse/providers

Response

{
  "providers": [
    {
      "slug": "theta_garmin",
      "name": "Garmin",
      "description": "Garmin health data integration via OAuth",
      "logo": "https://static.thetahealth.ai/res/garmin.png",
      "supported": true,
      "auth_type": "oauth1",
      "status": "available"
    },
    {
      "slug": "theta_whoop",
      "name": "Whoop",
      "description": "Whoop health data integration via OAuth",
      "logo": "https://static.thetahealth.ai/res/whoop.png",
      "supported": true,
      "auth_type": "oauth2",
      "status": "available"
    }
  ]
}

Response Fields

providers
array
required
Array of provider objects

Example Usage

import aiohttp

async def list_providers():
    async with aiohttp.ClientSession() as session:
        async with session.get("http://localhost:18080/api/v1/pulse/providers") as resp:
            providers = await resp.json()
            return providers["providers"]

providers = await list_providers()
for provider in providers:
    print(f"{provider['name']}: {provider['status']}")
Use the slug field when linking providers or querying provider-specific data.