Developer docs
Connect My Alumni REST API

How do I authenticate?
Use a Bearer JWT for requests made on behalf of a signed-in user, or an API key for server-to-server integrations. Admins create and revoke API keys from the API keys endpoints (or the admin dashboard). Every organisation-scoped path starts with the organisation slug, and row-level security limits results to data that key or user may see.
curl -H "Authorization: Bearer <jwt>" https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-profiles/<org_slug>/profiles
curl -H "Authorization: ApiKey <key>" https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-analytics/<org_slug>/analytics/dashboard
What are the rate limits?
Requests are rate limited per caller, by default 60 requests per minute. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers; a 429 response means wait until the reset time before retrying.
How do webhooks work?
Register an HTTPS endpoint with the webhooks API. Each delivery is a JSON POST with an X-Webhook-Event header naming the event and an X-Webhook-Signature header containing an HMAC-SHA256 signature of the raw body made with your webhook secret. Verify the signature before trusting the payload. Deliveries are logged so you can inspect failures.
Related: Platform security
Analytics API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-analytics
| Method | Path |
|---|---|
| GET | /:org_slug/analytics/dashboard |
| GET | /:org_slug/analytics/registrations |
| GET | /:org_slug/analytics/engagement |
| GET | /:org_slug/activity-logs |
| GET | /:org_slug/analytics/batch-distribution |
| GET | /:org_slug/analytics/industry-distribution |
API keys API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-api-keys
| Method | Path |
|---|---|
| GET | /:org_slug/api-keys |
| POST | /:org_slug/api-keys |
| DELETE | /:org_slug/api-keys/:id |
Authentication API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-auth
| Method | Path |
|---|---|
| POST | /auth/signup |
| POST | /auth/signin |
| POST | /auth/signout |
| POST | /auth/forgot-password |
| POST | /auth/reset-password |
| GET | /auth/me |
| POST | /auth/refresh |
Email campaigns API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-communications
| Method | Path |
|---|---|
| GET | /:org_slug/email-campaigns |
| POST | /:org_slug/email-campaigns |
| GET | /:org_slug/email-campaigns/:id |
| PUT | /:org_slug/email-campaigns/:id |
| POST | /:org_slug/email-campaigns/:id/send |
| GET | /:org_slug/email-campaigns/:id/recipients |
| GET | /:org_slug/email-templates |
| POST | /:org_slug/email-templates |
| PUT | /:org_slug/email-templates/:id |
| GET | /:org_slug/announcements |
| POST | /:org_slug/announcements |
| PUT | /:org_slug/announcements/:id |
| DELETE | /:org_slug/announcements/:id |
Connections API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-connections
| Method | Path |
|---|---|
| GET | /:org_slug/connections |
| POST | /:org_slug/connections |
| PUT | /:org_slug/connections/:id |
| DELETE | /:org_slug/connections/:id |
News & content API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-content
| Method | Path |
|---|---|
| GET | /:org_slug/news |
| POST | /:org_slug/news |
| GET | /:org_slug/news/:id |
| PUT | /:org_slug/news/:id |
| DELETE | /:org_slug/news/:id |
| GET | /:org_slug/memories |
| POST | /:org_slug/memories |
| PUT | /:org_slug/memories/:id |
| DELETE | /:org_slug/memories/:id |
| GET | /:org_slug/gallery |
| POST | /:org_slug/gallery |
| DELETE | /:org_slug/gallery/:id |
| GET | /:org_slug/success-stories |
| POST | /:org_slug/success-stories |
| PUT | /:org_slug/success-stories/:id |
| DELETE | /:org_slug/success-stories/:id |
Donations API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-donations
| Method | Path |
|---|---|
| GET | /:org_slug/campaigns |
| POST | /:org_slug/campaigns |
| GET | /:org_slug/campaigns/:id |
| PUT | /:org_slug/campaigns/:id |
| DELETE | /:org_slug/campaigns/:id |
| GET | /:org_slug/campaigns/:id/donations |
| POST | /:org_slug/donations |
| GET | /:org_slug/donations |
| GET | /:org_slug/donations/my |
Events API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-events
| Method | Path |
|---|---|
| GET | /:org_slug/events |
| POST | /:org_slug/events |
| GET | /:org_slug/events/:id |
| PUT | /:org_slug/events/:id |
| DELETE | /:org_slug/events/:id |
| PUT | /:org_slug/events/:id/publish |
| POST | /:org_slug/events/:id/duplicate |
| GET | /:org_slug/events/:id/rsvps |
| POST | /:org_slug/events/:id/rsvp |
| DELETE | /:org_slug/events/:id/rsvp |
Export API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-export
| Method | Path |
|---|---|
| POST | /:org_slug/exports |
| GET | /:org_slug/exports/:id |
| GET | /:org_slug/exports/:id/download |
Community feed API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-feed
| Method | Path |
|---|---|
| GET | /:org_slug/posts |
| POST | /:org_slug/posts |
| GET | /:org_slug/posts/:id |
| PUT | /:org_slug/posts/:id |
| DELETE | /:org_slug/posts/:id |
| POST | /:org_slug/posts/:id/like |
| DELETE | /:org_slug/posts/:id/like |
| GET | /:org_slug/posts/:id/comments |
| POST | /:org_slug/posts/:id/comments |
| DELETE | /:org_slug/posts/:id/comments/:cid |
Health API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-health
| Method | Path |
|---|---|
| GET | /health |
| GET | /status |
Jobs API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-jobs
| Method | Path |
|---|---|
| GET | /:org_slug/jobs |
| POST | /:org_slug/jobs |
| GET | /:org_slug/jobs/:id |
| PUT | /:org_slug/jobs/:id |
| DELETE | /:org_slug/jobs/:id |
| PUT | /:org_slug/jobs/:id/publish |
Members API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-members
| Method | Path |
|---|---|
| GET | /:org_slug/members |
| GET | /:org_slug/members/:id |
| PUT | /:org_slug/members/:id/role |
| DELETE | /:org_slug/members/:id |
| POST | /:org_slug/invitations |
| GET | /:org_slug/invitations |
| DELETE | /:org_slug/invitations/:id |
Mentorship API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-mentorship
| Method | Path |
|---|---|
| GET | /:org_slug/mentors |
| POST | /:org_slug/mentorship/request |
| GET | /:org_slug/mentorship/connections |
| PUT | /:org_slug/mentorship/connections/:id |
| GET | /:org_slug/career-requests |
| PUT | /:org_slug/career-requests/:id |
Messaging API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-messaging
| Method | Path |
|---|---|
| GET | /:org_slug/messages/direct |
| POST | /:org_slug/messages/direct |
| PUT | /:org_slug/messages/direct/:id/read |
| GET | /:org_slug/messages/peer |
| POST | /:org_slug/messages/peer |
| PUT | /:org_slug/messages/peer/:id/read |
| GET | /:org_slug/messages/conversations |
Notifications API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-notifications
| Method | Path |
|---|---|
| GET | /:org_slug/notifications |
| PUT | /:org_slug/notifications/:id/read |
| PUT | /:org_slug/notifications/read-all |
| GET | /:org_slug/notification-preferences |
| PUT | /:org_slug/notification-preferences |
| GET | /:org_slug/notifications/unread-count |
Organizations API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-organizations
| Method | Path |
|---|---|
| GET | /organizations |
| POST | /organizations |
| GET | /organizations/:slug |
| PUT | /organizations/:slug |
| GET | /organizations/:slug/branches |
| POST | /organizations/:slug/branches |
| PUT | /organizations/:slug/branches/:id |
| DELETE | /organizations/:slug/branches/:id |
| GET | /organizations/:slug/milestones |
| POST | /organizations/:slug/milestones |
Alumni profiles API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-profiles
| Method | Path |
|---|---|
| GET | /:org_slug/profiles |
| GET | /:org_slug/profiles/:id |
| PUT | /:org_slug/profiles/:id |
| PUT | /:org_slug/profiles/:id/verify |
| GET | /:org_slug/profiles/:id/achievements |
| POST | /:org_slug/profiles/import |
Surveys & polls API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-surveys
| Method | Path |
|---|---|
| GET | /:org_slug/surveys |
| POST | /:org_slug/surveys |
| GET | /:org_slug/surveys/:id |
| PUT | /:org_slug/surveys/:id |
| POST | /:org_slug/surveys/:id/respond |
| GET | /:org_slug/surveys/:id/responses |
| GET | /:org_slug/polls |
| POST | /:org_slug/polls |
| GET | /:org_slug/polls/:id |
| POST | /:org_slug/polls/:id/vote |
Webhooks API
Base path: https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-webhooks
| Method | Path |
|---|---|
| GET | /:org_slug/webhooks |
| POST | /:org_slug/webhooks |
| GET | /:org_slug/webhooks/:id |
| PUT | /:org_slug/webhooks/:id |
| DELETE | /:org_slug/webhooks/:id |
| GET | /:org_slug/webhooks/:id/deliveries |
| POST | /:org_slug/webhooks/:id/test |
Frequently asked questions
Which plan includes API access?
API access and webhooks are part of the Enterprise plan. Starter and Growth plans can still import and export data as CSV from the admin dashboard. Contact us if you need API access for a pilot integration.
Is there an OpenAPI specification?
Yes. The API documentation service publishes an OpenAPI specification with an interactive Swagger UI at https://uwlsqgbjhxxzfkuxqunt.supabase.co/functions/v1/api-docs, which you can use to explore endpoints and generate client code.
Can I export all alumni data through the API?
Yes. The export endpoints create an export job, report its status and provide a download link when it is ready, which suits large organisations better than paging through members one request at a time.
Put this into practice
Start on the free plan, or book a walkthrough with your own alumni data.