Skip to main content

Partner Dashboard API Vision

This document outlines a potential future API design for partner features. Currently, the partner dashboard communicates directly with Supabase.
This is a design reference document. These endpoints do not currently exist. The partner dashboard uses Supabase SDK for all operations.

Current Implementation

The partner dashboard currently:
  • Uses Supabase JavaScript SDK
  • Implements Row Level Security (RLS) for permissions
  • Queries database tables directly
  • Handles real-time subscriptions via Supabase

Future API Benefits

A dedicated Partner API could provide:

1. Simplified Analytics

Instead of complex joins:

2. Batch Operations

Enable bulk messaging and actions:

3. Aggregated Data

Pre-computed metrics and insights:

Proposed Endpoint Structure

Analytics & Reporting

Student Management

Messaging

Profile & Content

Scholarships

Team Management

Design Patterns

Permission Scoping

Response Enrichment

Webhook Events

Partners could subscribe to events:

Implementation Considerations

Performance Optimization

  • Cache frequently accessed data (analytics, school profiles)
  • Use database views for complex queries
  • Implement pagination for large datasets
  • Queue bulk operations

Security

  • Entity-based access control
  • Rate limiting per organization
  • Audit logging for all actions
  • Input validation and sanitization

Developer Experience

  • TypeScript SDK with full type safety
  • Comprehensive error messages
  • Request/response examples
  • Interactive API documentation

Migration Path

If implementing this API:
  1. Phase 1: Create read-only endpoints
    • Analytics and reporting
    • Student lists and profiles
  2. Phase 2: Add write operations
    • Messaging
    • Profile updates
    • Scholarship management
  3. Phase 3: Advanced features
    • Webhooks
    • Bulk operations
    • Custom integrations

Current Alternative

For now, partners can achieve similar functionality using:
  • Supabase RPC functions for complex queries
  • Database views for aggregated data
  • Edge Functions for custom logic
  • Real-time subscriptions for live updates
See Web App Architecture for current implementation details.