Server & Integrations
Server-to-server callers, background jobs, and partner integrations all talk to
the same https://api.vytal.fit/v1 surface with an organization API key.
Key handling by designThe API key is a long-lived secret. Store it in your platform's secret manager
or an environment variable, send it asAuthorization: Bearer vk_live_…, and
never ship it in client-side or mobile code where it can be extracted.
Base URL
VYTAL_API_URL=https://api.vytal.fit/v1
VYTAL_API_KEY=vk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMaking calls
# read: your gym's members
curl "$VYTAL_API_URL/members" \
-H "authorization: Bearer $VYTAL_API_KEY"
# write: record a check-in
curl -X POST "$VYTAL_API_URL/check-ins" \
-H "authorization: Bearer $VYTAL_API_KEY" \
-H 'content-type: application/json' \
-d '{"memberId":"mem_123"}'Rules
- Keep the key server-side; treat it like a password.
- Use one key per integration, so you can revoke a single one cleanly.
memberIdand the organization are resolved from the key and the request,
never client-supplied org ids.- Retry
429and503with backoff; don't retry4xxwithout changing the
request. See Errors.
Vytal's own mobile app
The Vytal iOS/Android app is first-party: it signs in with Better Auth and uses
a session token against an internal surface, not a vk_live_ key. Third-party
apps and services use API keys as shown above.
Updated about 2 months ago
Did this page help you?
