RF:Manage Public API

Developer Documentation

Public API Reference

Build integrations on top of RF:Manage — member profiles, class bookings, training sessions, guest passes, billing, and trainer portal tools. All endpoints are RESTful and return JSON.

https://manage.getrealfit.com/functions/

Authentication

Two layers: API key (server-to-server) and member JWT (mobile app sessions)

API Key (Server-to-Server)

Every request must include an Authorization: Bearer <key> header. The primary key is stored as an environment secret and is always active. Additional keys can be registered in Settings → Public API for separate integrations (website, mobile app, partner).

HTTP Header
Authorization: Bearer rfm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Member JWT (Mobile App Sessions)

Call publicMemberLogin with email + password to receive a short-lived JWT (1-hour expiry). Pass it as X-Member-Token on all subsequent calls. When present, the token authenticates the member and theX-Member-Identifier / X-Trainer-Identifierheaders become optional. The API key stays server-side; the JWT is the member's credential.

HTTP Header
X-Member-Token: <jwt>

SSO & Deep-Link Tokens

For OAuth-style flows, use publicOAuthAuthorize →publicOAuthToken. For deep-link handoff from the web portal, use publicGenerateLinkToken →publicExchangeLinkToken. These endpoints do not require an API key — the member's web session or one-time token is the credential.

Core Endpoints

Member profile, activity, and class booking

Mobile App Endpoints

Login, class browsing, bookings, guest passes, and billing

Where to retrieve class descriptions & categories

Class descriptions and categories are only available via the publicClassSessions endpoint below (they are not returned by publicMemberProfile, publicMemberBookings, or publicMemberActivity). Expand the endpoint to see the full response schema.

class_description

string | null — free-text description from the class template. null when unset.

class_category

string | null — one of: yoga, hiit, cycling, pilates, strength, cardio, dance, martial_arts, other. null when unset.

SSO & Token Exchange

OAuth 2.0 flow and deep-link handoff for mobile apps

Trainer Portal Endpoints

Schedule management, booking actions, and client lookup for trainers

Quick Start

A complete example: authenticate, fetch profile, book a class

JavaScript (fetch)
// 1. Login to get a session JWT
const loginRes = await fetch('https://manage.getrealfit.com/functions/publicMemberLogin', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer rfm_your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ email: 'member@example.com', password: '...' })
});
const { token, member_id } = await loginRes.json();

// 2. Fetch the member's profile (includes pack_id for booking)
const profileRes = await fetch('https://manage.getrealfit.com/functions/publicMemberProfile', {
  headers: {
    'Authorization': 'Bearer rfm_your_api_key',
    'X-Member-Token': token
  }
});
const profile = await profileRes.json();

// 3. Book a class using a class pack credit
const bookRes = await fetch('https://manage.getrealfit.com/functions/publicBookClass', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer rfm_your_api_key',
    'X-Member-Token': token,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    class_session_id: 'session_123',
    resource_type: 'class_pack',
    resource_id: profile.packs_and_sessions.class_packs[0].id
  })
});
const booking = await bookRes.json();
console.log('Booked!', booking.booking_id);

RF:Manage Public API · Base URL: https://manage.getrealfit.com/functions/

Need an API key? Contact your club administrator or visit Settings → Public API in the RF:Manage dashboard.