Skip to main content
Version: Latest

Recent Updates

Every documented change from the last 14 days, newest first — one row per update, so a guide edited several times shows each change separately.

Each line is the guide author's own What's new entry — what changed for the client, not what the commit did. Open the guide for the detail. Regenerated on every deploy.

DateGuideWhat changed
2026-11-06Mobile Posts — Feed & Detail Data StructureNew field likedBy on every post (list, feed, detail): up to 3 of the viewer's mutuals who liked it, plus mutualCount. Use it for "Liked by Charlie and 37 others". Same shape as repostedBy. null whe…
2026-11-06Mobile Posts — Integration GuideBreaking: GET /api/posts/:id/likes is now paged: 20 likers by default, newest first. Send limit (max 100) and pass nextCursor back as cursor for more. The followers-first sort is gone; use isFollow…
2026-11-06Mobile Posts — Integration GuideGET /api/posts/saved now works for unverified students. It no longer returns 403 STUDENT_VERIFICATION_REQUIRED. Users can open their own saved list before they verify. Nothing to change in the client.
2026-11-06Mobile Activities & Achievements — Integration GuideshareToFeed / shareCaption no longer return 400. The server now ignores them and saves the entry. This keeps older app builds working. Still no feed post is created. New builds should still not sen…
2026-11-04Mobile Post Interactions — Integration GuideWhen an original post is deleted, its reposts are deleted too. They no longer show "Original removed" in profiles and lists. Drop any reposts you hold in local state for that post. Reposts that wer…
2026-11-03Mobile Chat — Integration GuideIf you delete a message request, then open a chat with that person yourself, the conversation comes back status: "ACCEPTED" — no Accept / Delete / Block. Call POST /chat/conversations as before and…
2026-11-03Post Share (in-app) — Mobile Integration Guidedocs(mobile-guides): replace sample test password with placeholder
2026-11-03Mobile Posts — Integration GuideThe author can now edit externalFormUrl with PATCH /api/posts/:id. Send a new https link to replace it. This works only on a post created with an external form. On any other post it returns 400. Yo…
2026-11-02Mobile Post Request ↔ DM Wiring — Integration GuidePosts with an external form (cta.handledExternally) never create a request or a DM. On the author's responses screen show "responses handled externally" copy for them. Nothing changes for other posts.
2026-11-02Mobile Post Requests (CTA) — Integration GuidePosts can now use an external form (cta.externalUrl, see the posts guide §1.5). On such a post POST /:id/requests returns 409 EXTERNAL_FORM_POST, and GET /:id/requests returns handledExternally: tr…
2026-11-02Mobile Posts — Integration GuideNew optional field externalFormUrl on the 3 CTA kinds. Send an https link (for example a Google Form) when the author wants to collect responses outside the app. Every post object then has cta.exte…
2026-10-30Mobile Posts — Integration GuideGET /api/posts/saved takes a new optional type query. Send one post type (FIND_TEAMMATES, INVITE_PEOPLE, START_SOMETHING, SHARE_OPPORTUNITY or ANYTHING) to see only saved posts of that type. Leave…
2026-10-30Student Verification — Integration GuideA verified student who moves school now verifies the new school before their education changes, and signup no longer verifies anyone. New POST and DELETE /api/student-verification/school-change, ne…
2026-10-30Student Verification — Integration GuideA rejected student can now appeal to support, once per rejected document. New POST /api/student-verification/appeal { message } and new /status fields canRetry, canAppeal, appeal. Show "Try again"…
2026-10-30Mobile Profile — Edit Profile Integration GuideschoolName on education entries now allows up to 500 characters (was 120). Raise any client-side limit. Nothing else changes.
2026-10-30Mobile Onboarding — Integration GuideSignup no longer verifies the student, even with a trusted school email. POST /api/onboarding/signup now always returns isStudentVerified: false. Verification happens after the education screen (Sc…
2026-10-29Mobile Chat — Integration GuideNew §5.3a: how to render every message type. A POST_SHARE row is the shared-post card plus its content as a text bubble. On a post-request seed that text is the requester's note, so the post author…
2026-10-29Mobile Post Request ↔ DM Wiring — Integration GuideThe seed message's content (the requester's note) must be drawn as a text bubble with the card, for the author too. The old "no special casing" line hid this. See the chat guide §5.3a.
2026-10-29Mobile Post Requests (CTA) — Integration GuideSubmitting again while a request is PENDING now returns 409 "Request already pending". It used to overwrite the note and add a second request card to the chat. Disable the Request button on PENDING…
2026-10-29Support (Contact us) — Mobile Integration GuideFirst version. POST /api/support/tickets is new. Build the Contact us screen on it.
2026-10-28Mobile Content Moderation — Integration GuideshareCaption is removed from the list of checked activity / achievement fields, because the field is removed. Sending it now gets 400 SHARE_TO_FEED_REMOVED. See the [activities guide §2.5](../user-…
2026-10-28Mobile Posts — Feed & Detail Data StructureBreaking: eventAt and deadlineAt on find-teammates and invite-people are now dates ("2026-06-12", no time). Show them as they are; do not convert them to the device timezone. Share-opportunity even…
2026-10-28Student Verification — Integration GuidePOST /school-email now refuses personal addresses (Gmail, Yahoo, Outlook, their country versions, Apple relays, throwaway domains like mailinator.com) with 400 FREE_MAIL_NOT_ALLOWED. Show the messa…
2026-10-28Student Verification — Integration Guide403 SHARING_REQUIRES_VERIFICATION is gone. The "Share with others" toggle on activities and achievements is removed for everyone, so there is nothing left to gate. shareToFeed now gets 400 SHARE_TO…
2026-10-28Mobile Activities & Achievements — Integration GuideBreaking: the "Share with others" toggle is removed (shareToFeed / shareCaption → 400, §2.5). Dates come back as month + year only ("2025-11"): achievement awardedAt, activity startDate / endDate.…
2026-10-28Mobile Topics & Interests — Integration GuideRemoved the note about auto-tagging a shared post. Activities and achievements are no longer shared to the feed (the toggle is removed), so an entry with no picks just stays untagged. Details: [act…
2026-10-28Mobile Onboarding — Integration GuideSignup now needs a verified email, and phone signup is off. On Screen 2, call POST /api/verification/send first. It returns 409 ACCOUNT_EXISTS before sending a code when the email already has an ac…
2026-10-27Mobile Posts — Feed & Detail Data StructureOn find-teammates / invite-people / start-something, location becomes the picked city, state or country name only ("Pune"), and a new locationLevel (CITY \
2026-10-27Student Verification — Integration GuideaccountEmailPrefill is null for more personal addresses. The server now also treats country versions (hotmail.co.uk, yahoo.co.in, outlook.in), Apple "Hide My Email" relays (privaterelay.appleid.com…
2026-10-23Mobile Verification & Password Reset GuideOTP and password-reset emails now come from the company Google Workspace address instead of Resend. Nothing to change in the app: same endpoints, same codes. Codes can now reach any inbox in dev too.
⤓ Download .md