Ultrahuman · Rate Limits

Ultrahuman Rate Limits

Ultrahuman does not publish fixed numeric rate limits for its Partner (UltraSignal) API. The documented constraints are structural rather than per-minute request caps: the daily metrics endpoint accepts either a single date or a start_epoch/end_epoch window whose range may not exceed 7 days (exceeding it returns 400), and metric data is inherently daily-cadence so polling more often than once or a few times per day per user yields no new data. Access tokens expire in ~86400 seconds (1 day) and must be refreshed, and access is gated to onboarded partners, which bounds overall load.

Ultrahuman Rate Limits is the machine-readable rate-limit profile for Ultrahuman on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 4 rate-limit definitions, measuring requests, days, records, and seconds.

The profile also includes 3 backoff/retry policies defined and response codes documented for throttled.

Tagged areas include Wearables, Smart Ring, Health, CGM, and Rate Limiting.

4 Limits Throttle: 429
WearablesSmart RingHealthCGMRate LimitingQuotas

Limits

Partner API Requests partner
requests
not published
No fixed numeric request-rate limit is documented for the Partner API.
Epoch Query Window request
days
7
A start_epoch/end_epoch window may span at most 7 days; exceeding it returns 400.
Metric Cadence user
records
daily
Ring/CGM metrics update on a daily (and intraday for glucose) cadence; polling more often adds no data.
Access Token Lifetime token
seconds
86400
Access tokens expire in ~1 day; use the rotating refresh token to obtain a new one.

Policies

Least Privilege
Request only the scopes you need (profile, ring_data, cgm_data); Ultrahuman guidance emphasizes least-privilege scope requests.
Server-Side Token Exchange
Perform OAuth code and refresh-token exchanges server-side; refresh tokens rotate on each exchange.
Backoff Strategy
Poll on a low-frequency daily schedule per user and implement exponential backoff with jitter, honoring Retry-After on any 429 response.

Sources