Skip to main content

API Services & Third-Party Integrations

This document lists all external API services used across Juniro applications. Keys are stored in environment variables and managed via Vercel (production) or .env.local (development).


Quick Reference

ServicePurposeUsed InDashboard
PosthogProduct Analyticsweb-launchapp.posthog.com
Google AnalyticsWeb Analyticsweb-publicanalytics.google.com
Facebook PixelMarketing Analyticsweb-publicbusiness.facebook.com
ResendTransactional Emailweb-launch, apiresend.com
LoopsEmail Marketingweb-launchapp.loops.so
AttioCRMweb-launchapp.attio.com
Viral LoopsReferral Programweb-launchapp.viral-loops.com
SupabaseAuth & Databaseapi, web-*supabase.com
StripePayments (US)apidashboard.stripe.com
RazorpayPayments (India)apidashboard.razorpay.com
GroqLLM / AIapiconsole.groq.com
Together AIEmbeddingsapiapi.together.xyz
VercelHostingall web appsvercel.com

Analytics

Posthog

Purpose: Product analytics, feature flags, session recording

Environment Variables:

NEXT_PUBLIC_POSTHOG_KEY=phc_xxxxx  # Public key (safe for client)
POSTHOG_API_KEY=phx_xxxxx # Private key (server-side only)

Used For:

  • Waitlist signups tracking
  • User behavior analytics
  • Feature flag management
  • Funnel analysis

Get Keys: app.posthog.com/project/settings


Google Analytics

Purpose: Web traffic analytics

Environment Variables:

NEXT_PUBLIC_GA_MEASUREMENT_ID=G-XXXXXXXXXX

Used For:

  • Traffic sources
  • Page views
  • Marketing campaign tracking

Get Keys: analytics.google.com > Admin > Data Streams


Facebook Pixel

Purpose: Marketing conversion tracking

Environment Variables:

NEXT_PUBLIC_FB_PIXEL_ID=xxxxx

Used For:

  • Ad conversion tracking
  • Retargeting audiences
  • Marketing attribution

Get Keys: business.facebook.com/events_manager


Email

Resend

Purpose: Transactional emails (confirmations, password reset, notifications)

Environment Variables:

RESEND_API_KEY=re_xxxxx
RESEND_FROM_EMAIL=Juniro <hello@juniro.com>
RESEND_AUDIENCE_ID=... # For contact management

Used For:

  • Waitlist welcome emails
  • Booking confirmations
  • Password reset
  • Review requests
  • Provider notifications

Templates: See Resend Transactional Emails

Get Keys: resend.com/api-keys


Loops

Purpose: Email marketing sequences and newsletters

Environment Variables:

LOOPS_API_KEY=xxxxx

Used For:

  • Drip campaigns
  • Newsletter sequences
  • Re-engagement emails

Get Keys: app.loops.so/settings/api


CRM & Sales

Attio

Purpose: Customer relationship management

Environment Variables:

ATTIO_API_KEY=xxxxx

Used For:

  • Lead tracking
  • Provider onboarding pipeline
  • Customer data sync

Get Keys: app.attio.com/settings/developers


Viral Loops

Purpose: Referral program management

Environment Variables:

VIRAL_LOOPS_API_KEY=xxxxx
VIRAL_LOOPS_CAMPAIGN_ID=xxxxx

Used For:

  • Waitlist referral tracking
  • Referral rewards
  • Leaderboard

Get Keys: app.viral-loops.com > Campaign Settings


Authentication & Database

Supabase

Purpose: Authentication and PostgreSQL database

Environment Variables:

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIs...
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIs... # Server-side only!

Used For:

  • User authentication (email, OAuth)
  • PostgreSQL database hosting
  • Row-level security

Multi-Region Setup:

  • US: Supabase project in us-east-1
  • India: Supabase project in ap-south-1 (Mumbai)

Get Keys: supabase.com > Project Settings > API


Payments

Stripe (US Region)

Status: Config ready — stripe npm package not yet installed Purpose: Payment processing for US market

Environment Variables:

STRIPE_SECRET_KEY=sk_test_xxxxx      # Use sk_live_xxxxx in production
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
NEXT_PUBLIC_STRIPE_KEY=pk_test_xxxxx # Public key for client

Used For:

  • Activity bookings
  • Subscription payments
  • Refunds

Get Keys: dashboard.stripe.com/apikeys


Razorpay (India Region)

Status: Config ready — razorpay npm package not yet installed Purpose: Payment processing for India market

Environment Variables:

RAZORPAY_KEY_ID=rzp_test_xxxxx
RAZORPAY_KEY_SECRET=xxxxx
RAZORPAY_WEBHOOK_SECRET=xxxxx

Used For:

  • Activity bookings (INR)
  • UPI payments
  • Net banking

Get Keys: dashboard.razorpay.com/app/keys


AI Services

Status: Config ready — groq-sdk and together-ai npm packages not yet installed. Route file and env vars exist but no SDK dependencies.

Groq

Purpose: LLM for AI features

Environment Variables:

GROQ_API_KEY=gsk_xxxxx

Used For:

  • Activity recommendations
  • Search enhancement
  • Content generation

Get Keys: console.groq.com


Together AI

Purpose: Text embeddings for semantic search

Environment Variables:

TOGETHER_API_KEY=xxxxx

Used For:

  • Activity search embeddings
  • Similar activity recommendations

Get Keys: api.together.xyz


Infrastructure

Vercel

Purpose: Frontend hosting and serverless functions

Environment Variables: Managed in Vercel dashboard per-project

Projects:

  • juniro-web-public - Public website
  • juniro-web-launch - Waitlist/launch site
  • juniro-web-parents - Parent portal
  • juniro-web-providers - Provider portal
  • juniro-web-admin - Admin portal
  • juniro-design - Storybook (customer & admin)

Dashboard: vercel.com/juniro


Redis (Optional)

Purpose: Caching and rate limiting

Environment Variables:

REDIS_URL=redis://localhost:6379

Used For:

  • API response caching
  • Rate limiting
  • Session storage

Environment Variable Summary by Repo

juniro-web-launch

NEXT_PUBLIC_POSTHOG_KEY
POSTHOG_API_KEY
LOOPS_API_KEY
VIRAL_LOOPS_API_KEY
VIRAL_LOOPS_CAMPAIGN_ID
ATTIO_API_KEY
RESEND_API_KEY
RESEND_FROM_EMAIL
RESEND_AUDIENCE_ID

juniro-web-public

NEXT_PUBLIC_GA_MEASUREMENT_ID
NEXT_PUBLIC_FB_PIXEL_ID

juniro-api

DATABASE_URL
SUPABASE_URL
SUPABASE_ANON_KEY
GROQ_API_KEY
TOGETHER_API_KEY
STRIPE_SECRET_KEY
STRIPE_WEBHOOK_SECRET
RAZORPAY_KEY_ID
RAZORPAY_KEY_SECRET
RAZORPAY_WEBHOOK_SECRET
REDIS_URL

Security Best Practices

  1. Never commit keys - Use .env.local locally, Vercel env vars in production
  2. Rotate keys regularly - Especially after team member changes
  3. Use test keys in development - Stripe, Razorpay have test modes
  4. Restrict key permissions - Use least-privilege API keys when possible
  5. Monitor usage - Set up alerts for unusual API activity
  6. Document key locations - Keep a secure record in 1Password/Bitwarden

Adding New Services

When adding a new API service:

  1. Add to .env.example with placeholder value
  2. Document in this file with:
    • Purpose
    • Environment variables
    • Dashboard link
    • Which repos use it
  3. Add keys to Vercel for relevant projects
  4. Share keys securely with team via password manager