API Reference

Profile & Social APIs: Profiles, Interactions, Quests, Quizzes

The social and engagement layer: public profiles, NFC connections, quests, and the BluePrint MBTI quiz.


Profiles

Public profile system with visibility controls.

MethodPathAuthDescription
POST/profilesπŸ”“Create profile
GET/profiles/profile/{profileID}🌐Get public profile
GET/profiles/userπŸ”“Get own profile
PATCH/profiles/{profileID}πŸ”“Update profile
POST/profiles/uploadπŸ”“Get presigned URL for profile picture
POST/profiles/partner/partialπŸ”“Create partial partner profile
POST/profiles/companyπŸ”“Create company profile
POST/profiles/company/link-partnerπŸ”“Link partner to company
POST/profiles/partner/syncπŸ”“Sync partner registration data to profiles

Profile Schema

FieldTypePublicDescription
profileIDstringβœ…Human-readable ID (e.g., "SillyPandasDeny")
profileTypestringβœ…EXEC, ATTENDEE, or COMPANY
fnamestringβœ…First name
lnamestringβœ…Last name
pronounsstringβœ…Preferred pronouns
yearstringβœ…Academic year
majorstringβœ…Area of study
hobby1 / hobby2stringConfigurableHobbies
funQuestion1 / funQuestion2stringConfigurableIce-breaker answers
linkedinstringConfigurableLinkedIn URL
profilePictureURLstringConfigurableProfile picture URL
descriptionstringConfigurableBio
viewableMapobject-Controls which fields are publicly visible

The viewableMap is an object where each key is a field name and the value is true/false. When fetching a public profile (/profiles/profile/{profileID}), only fields marked true in the viewable map are returned.


Interactions

NFC-based connections and real-time connection wall.

MethodPathAuthDescription
POST/interactions/searchπŸ”“Algolia-powered profile search
POST/interactions/connectionπŸ”“Create a connection between two profiles
GET/interactions/check/{profileID}πŸ”“Check if connected to a profile
GET/interactions/journalπŸ”“Get all your connections
GET/interactions/quests/{eventId}/{year}πŸ”“Get quest progress
GET/interactions/wall/{eventId}/{year}πŸ”“Get connection wall snapshot

WebSocket (Connection Wall)

RouteDescription
$connectRegister for real-time wall updates
$disconnectUnregister
wallReceive new connections broadcast

WebSocket URL: wss://bn27jq3bal.execute-api.us-west-2.amazonaws.com/prod


Quests

Achievement tracking system for events.

MethodPathAuthDescription
PATCH/quests/{eventId}/{year}πŸ”“Update quest progress
GET/quests/{eventId}/{year}πŸ”“Get user's quests
GET/quests/all/{eventId}/{year}πŸ”“Admin: all users' quests
GET/quests/kiosk/{eventId}/{year}🌐Kiosk display view

Quest Types

TypeHow It Completes
COUNTERIncrement toward a target number (e.g., "Make 5 connections")
UNIQUE_SETCollect unique items (e.g., "Talk to 6 different companies")

Quest events that trigger updates: NEW_CONNECTION, RECOMMENDED_CONNECTION, COMPANY_VISIT.


Quizzes

MBTI personality quiz system built for BluePrint

MethodPathAuthDescription
POST/quizzesπŸ”“Submit quiz answers
GET/quizzes/{email}/{eventId}/{year}🌐Get personality report
GET/quizzes/results/{eventId}/{year}πŸ”“All quiz results for event
GET/quizzes/stats/{eventId}/{year}πŸ”“MBTI distribution stats
GET/quizzes/type/{mbtiType}/{eventId}/{year}πŸ”“Profiles by MBTI type
POST/quizzes/wrappedπŸ”“Generate wrapped summary
Previous
Core APIs