Journey Docs
Getting Started

Quickstart

Get started with Journey API in 5 minutes

Start making API calls in 5 minutes.

1. Get Authentication Credentials

For Members API

  1. Sign up at Journey Dashboard
  2. Obtain Clerk JWT token via OAuth/Email/Phone
  3. Call /members/me/auth/validate to provision member

For Admin API

  1. Request admin access from Journey team
  2. Configure WorkOS SSO integration
  3. Obtain WorkOS JWT token

For Core Platform server integrations

  1. Choose the /partner, /admin, or /internal surface for the caller.
  2. Obtain the corresponding WorkOS token, admin credential, or bounded service credential from Journey.
  3. Confirm the credential's organization and permission grants.
  4. Add a stable Idempotency-Key to every mutation.

Never place an internal service credential in browser code. HXP3 and other operator applications call Core from their authorized server boundary.

2. Make Your First Request

const response = await fetch('https://api.journey.com/members/me', {
  headers: {
    'Authorization': `Bearer ${clerkToken}`,
    'Content-Type': 'application/json'
  }
});

const member = await response.json();
console.log('Member:', member);

3. Install Bruno for Testing

# Install Bruno
brew install bruno

# Clone API repository
git clone https://github.com/Journey-Rewards/api.git

# Open Bruno collection
bruno open api/bruno

4. Common Workflows

Member Provisioning Flow

// Step 1: Validate and provision
await fetch('/members/me/auth/validate', {
  method: 'POST',
  headers: { 'Authorization': `Bearer ${token}` }
});

// Step 2: Update profile
await fetch('/members/me', {
  method: 'PATCH',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    firstName: 'John',
    lastName: 'Doe',
    onboardingCompleted: true
  })
});

// Step 3: Get complete member data
const member = await fetch('/members/me', {
  headers: { 'Authorization': `Bearer ${token}` }
});

Next Steps

On this page