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