跳转到主要内容

欢迎使用 API

Mirobody Health API 提供可编程访问能力,用于健康设备集成、数据获取以及 AI 驱动的健康洞察。
Base URL: http://localhost:18080(development)或 https://your-domain.com(production)

API 分类

认证

大多数 API endpoints 需要使用 JWT token 进行认证:
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  http://localhost:18080/api/v1/pulse/providers
在开发与测试环境中,部分 endpoints 可能会根据配置允许匿名访问。

速率限制

API 请求会按用户与 Provider 进行限流:
  • Default:每位用户每分钟 100 次请求
  • Provider-specific:不同 Provider 不同(例如 Garmin:60 req/min)
超过限流会返回 429 Too Many Requests,并带有 Retry-After header。

错误响应

所有 API 错误都遵循统一格式:
{
  "error": {
    "code": "INVALID_TOKEN",
    "message": "The provided access token is invalid or expired",
    "details": {
      "provider": "theta_garmin",
      "timestamp": "2024-01-15T10:30:00Z"
    }
  }
}

Common Error Codes

CodeDescriptionResolution
INVALID_TOKENOAuth token 无效或已过期刷新 token 或重新链接账号
PROVIDER_NOT_FOUNDProvider 不存在检查 provider slug
USER_NOT_LINKED用户尚未链接该 provider先完成 OAuth flow
RATE_LIMIT_EXCEEDED请求过多等待后重试并使用 backoff
INTERNAL_ERROR服务端错误联系支持

快速上手

1

列出可用 providers

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

链接一个 provider

curl "http://localhost:18080/api/v1/pulse/theta/theta_garmin/link?user_id=user_123"
3

获取健康数据

curl "http://localhost:18080/api/v1/pulse/data?user_id=user_123&provider=theta_garmin"

SDK 与库

from mirobody_client import MirobodyClient

client = MirobodyClient(base_url="http://localhost:18080")

# List providers
providers = await client.pulse.list_providers()

# Link provider
link_url = await client.pulse.link_provider(
    provider_slug="theta_garmin",
    user_id="user_123"
)
SDKs 仍在开发中;目前请使用直接 HTTP 请求,或以上示例作为参考。

API 版本管理

API 使用基于 URL 的版本管理:
  • Current/api/v1/...
  • Future/api/v2/...(when available)
请始终使用带版本号的 endpoints 以确保兼容性。

Webhooks(Coming Soon)

订阅实时健康数据更新:
{
  "webhook_url": "https://your-app.com/webhooks/health",
  "events": ["data.new", "provider.linked"],
  "provider": "theta_garmin"
}

下一步