API Reference

Admin & Specialized APIs: Payments, Teams, QR, BTX, and more

Specialized service endpoints for payments, team management, QR codes, stock exchange simulation, and admin tools.


Payments

Stripe Checkout integration.

MethodPathAuthDescription
POST/paymentsπŸ”“Create Stripe checkout session
POST/payments/webhook🌐Stripe webhook (session completed)
POST/payments/expiry🌐Stripe webhook (session expired)

Payment Types

TypeTriggered WhenWhat It Creates
UserMemberNew user pays for membershipCognito user β†’ User β†’ Member β†’ Profile
OAuthMemberGoogle OAuth user paysUser β†’ Member β†’ Profile
MemberExisting user upgradesUpdates isMember β†’ Member β†’ Profile
EventUser pays for paid eventCreates registration

Membership price: $15 CAD (1500 cents in Stripe).


Teams

Team management, point systems, and judging.

MethodPathAuthDescription
POST/teams/createπŸ”“Create a team
POST/teams/joinπŸ”“Join a team
POST/teams/leaveπŸ”“Leave a team
PUT/teams/pointsπŸ”“Add/deduct points
POST/teams/userπŸ”“Find user's team for an event
GET/teams/{eventId}/{year}πŸ”“Get all teams for event
POST/teams/renameπŸ”“Rename a team
GET/teams/scores/{eventId}/{year}πŸ”“Get all scores
GET/teams/feedback/{teamId}πŸ”“Get feedback for a team
GET/teams/judge/{eventId}/{year}πŸ”“Get judge's current team
GET/POST/PUT/teams/judge/feedbackπŸ”“Judge feedback CRUD

QR Codes

QR code generation and scanning with point rewards.

MethodPathAuthDescription
POST/qrscanπŸ”“Scan a QR code (awards points)
GET/qr/{eventId}/{year}πŸ”“Get all QR codes for event
GET/qr/{eventId}/{year}/{qrId}πŸ”“Get specific QR code
POST/qrπŸ”“Create a QR code
PATCH/qr/{eventId}/{year}/{qrId}πŸ”“Update a QR code
DELETE/qr/{eventId}/{year}/{qrId}πŸ”“Delete a QR code

QR types include standard codes and NFC variants (NFC_ATTENDEE, NFC_COMPANY). Each QR can be configured with point values, active/inactive state, and unlimited scan support.


BTX (BizTech Exchange)

Real-time stock market simulation.

MethodPathAuthDescription
GET/btx/projects/{eventId}/{year}πŸ”“List all projects
GET/btx/market/snapshotπŸ”“Current market prices
POST/btx/market/buyπŸ”“Buy shares
POST/btx/market/sellπŸ”“Sell shares
GET/btx/portfolio/{eventId}/{year}πŸ”“User's portfolio
GET/btx/trades/{eventId}/{year}πŸ”“User's trade history
GET/btx/prices/{projectId}πŸ”“Price history for a project
GET/btx/leaderboard/{eventId}/{year}πŸ”“Portfolio value leaderboard
POST/btx/admin/create-projectπŸ”‘Create a project
POST/btx/admin/seed-fundingπŸ”‘Update seed funding
POST/btx/admin/investment-impactπŸ”‘Apply investment impact
POST/btx/admin/phase-bumpπŸ”‘Apply phase price bump

Market Constants

ConstantValueDescription
Starting cash$2,500Virtual starting balance
Starting price$1.00Initial share price
Floor price$0.10Minimum price
Trade impact0.02Price movement per trade
Trading fee2%Fee on each trade
Max drift1.5%Max random price drift

Investments

Kickstart event funding system.

MethodPathAuthDescription
POST/investmentsπŸ”“Make investment
GET/investments/team/{teamId}πŸ”“Get team's funding status
GET/investments/investor/{email}πŸ”“Get investor's portfolio
GET/investments/{eventId}/{year}πŸ”“List all investments

Emails

Admin-only email template management via AWS SES.

MethodPathAuthDescription
GET/email/{templateName}πŸ”‘Get template
POST/emailπŸ”‘Create template
PATCH/email/{templateName}πŸ”‘Update template
DELETE/email/{templateName}πŸ”‘Delete template
GET/emailπŸ”‘List all templates

Bots

Discord and Slack integrations.

MethodPathAuthDescription
POST/discord/interaction🌐Discord slash command webhook
POST/discord/account/mapping🌐Link Discord ↔ BizTech account
POST/discord/webhook🌐Discord event webhook
POST/slack/github🌐GitHub PR reminders (cron: Mon/Fri 5pm)
POST/slack/event🌐Slack event shortcut

Prizes & Transactions

MethodPathAuthDescription
GET/prizesπŸ”“List all prizes
POST/prizesπŸ”‘Create prize
PATCH/prizes/{prizeId}πŸ”‘Update prize
DELETE/prizes/{prizeId}πŸ”‘Delete prize
GET/transactionsπŸ”“List transactions
POST/transactionsπŸ”“Create transaction

Stickers (WebSocket)

Real-time voting system via WebSocket.

WebSocket Routes

RouteDescription
$connectRegister connection
$disconnectRemove connection
adminStart/stop/reset voting
stickerSubmit a sticker/vote
scoreSubmit a score
syncSync current state

REST Endpoints

MethodPathAuthDescription
GET/stickers/scoresπŸ”“All scores
GET/stickers/scores/{roomId}πŸ”“Scores by room
GET/stickers/scores/team/{teamId}πŸ”“Scores by team
GET/stickersπŸ”“All stickers
GET/stickers/{roomId}πŸ”“Stickers by room
GET/stickers/team/{teamId}πŸ”“Stickers by team
Previous
Profile & Social APIs