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.
| Method | Path | Auth | Description |
|---|---|---|---|
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
| Field | Type | Public | Description |
|---|---|---|---|
profileID | string | β | Human-readable ID (e.g., "SillyPandasDeny") |
profileType | string | β | EXEC, ATTENDEE, or COMPANY |
fname | string | β | First name |
lname | string | β | Last name |
pronouns | string | β | Preferred pronouns |
year | string | β | Academic year |
major | string | β | Area of study |
hobby1 / hobby2 | string | Configurable | Hobbies |
funQuestion1 / funQuestion2 | string | Configurable | Ice-breaker answers |
linkedin | string | Configurable | LinkedIn URL |
profilePictureURL | string | Configurable | Profile picture URL |
description | string | Configurable | Bio |
viewableMap | object | - | 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.
| Method | Path | Auth | Description |
|---|---|---|---|
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)
| Route | Description |
|---|---|
$connect | Register for real-time wall updates |
$disconnect | Unregister |
wall | Receive new connections broadcast |
WebSocket URL: wss://bn27jq3bal.execute-api.us-west-2.amazonaws.com/prod
Quests
Achievement tracking system for events.
| Method | Path | Auth | Description |
|---|---|---|---|
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
| Type | How It Completes |
|---|---|
COUNTER | Increment toward a target number (e.g., "Make 5 connections") |
UNIQUE_SET | Collect 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
| Method | Path | Auth | Description |
|---|---|---|---|
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 |