SuperAge Developer API Reference

The SuperAge Developer API is a local HTTPS API exposed by the iOS app when Developer Mode is enabled by the user. The public documentation describes the contract, pairing model, scopes, and response envelopes. The public documentation site does not proxy requests to user devices. This OpenAPI document describes the v1 contract for SuperAge builds that register the Developer Mode data router. Public endpoints work without pairing; scoped data endpoints require a paired client token.

Availability

This reference describes the v1 contract for SuperAge builds that register the Developer Mode data router. Public endpoints work without pairing; scoped data endpoints require a paired client token.

Endpoints

GET /api/v1/status

Read API status.

Operation
getStatus
Required scopes
None
Supported filters
None
Supported formats
application/json
Max page size
None

GET /api/v1/capabilities

Read supported datasets and filters.

Operation
getCapabilities
Required scopes
None
Supported filters
None
Supported formats
application/json
Max page size
None

POST /api/v1/pairing/requests

Creates a pending pairing request for the local client. SuperAge accepts new pairing requests only while Developer Mode is enabled, the app is active, and the Developer Mode settings page is open. The response returns a temporary polling token, not a data API client token.

Operation
createPairingRequest
Required scopes
None
Supported filters
None
Supported formats
None
Max page size
None

GET /api/v1/pairing/requests/{requestId}

Polls a pending pairing request with the temporary polling token returned by `createPairingRequest`. When the user approves the request inside SuperAge, the response includes the scoped Bearer token used for data endpoints.

Operation
getPairingRequestStatus
Required scopes
None
Supported filters
None
Supported formats
None
Max page size
None

GET /api/v1/metrics

Read SuperAge metric summaries.

Operation
getMetrics
Required scopes
superage.metrics
Supported filters
metricId
Supported formats
application/json
Max page size
100

GET /api/v1/workouts

Read workout summaries.

Operation
getWorkouts
Required scopes
superage.workouts
Supported filters
start, end, limit, cursor
Supported formats
application/json
Max page size
100

GET /api/v1/nutrition/logs

Read nutrition log entries.

Operation
getNutritionLogs
Required scopes
superage.nutrition
Supported filters
start, end, limit, cursor
Supported formats
application/json
Max page size
100

GET /api/v1/nutrition/foods

Read nutrition food catalog entries.

Operation
getNutritionFoods
Required scopes
superage.nutrition
Supported filters
query, limit, cursor
Supported formats
application/json
Max page size
100

GET /api/v1/blood-tests

Read blood test summaries.

Operation
getBloodTests
Required scopes
superage.bloodTests
Supported filters
start, end, format, limit, cursor
Supported formats
application/json, application/fhir+json
Max page size
100

GET /api/v1/healthkit/types

Read raw HealthKit type availability.

Operation
getHealthKitTypes
Required scopes
healthkit.raw
Supported filters
None
Supported formats
application/json
Max page size
None

GET /api/v1/healthkit/samples

Read raw HealthKit quantity samples.

Operation
getHealthKitSamples
Required scopes
healthkit.raw
Supported filters
type, start, end, limit, cursor
Supported formats
application/json
Max page size
250