The Bloom Housing API uses JWT tokens for authentication. Tokens are issued as HTTP-only cookies on login and must be present on subsequent requests to protected endpoints.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/bloom-housing/bloom/llms.txt
Use this file to discover all available pages before exploring further.
How it works
When you log in, the API sets two cookies on the response:| Cookie | Description |
|---|---|
access-token | Short-lived JWT used to authenticate requests. Valid for 1 hour. |
refresh-token | Longer-lived token used to obtain a new access token without re-entering credentials. |
credentials: 'include' in fetch, or withCredentials: true in Axios).
Login
POST /auth/login
Send your email and password as JSON.On success, the server sets
access-token and refresh-token cookies and returns:Multi-factor authentication (MFA)
MFA can be enabled per jurisdiction. When it is active, the login process requires a second step.Request an MFA code
Call
POST /auth/request-mfa-code with your email and password. This triggers a code to be sent via email or SMS (via Twilio).Single-use code login
When theenableSingleUseCode feature flag is active for a jurisdiction, users can log in with a one-time code instead of a password.
Refreshing an access token
The access token expires after 1 hour. Use the refresh token to obtain a new one without requiring the user to log in again.access-token cookie. If no refresh token is present, the API returns 400 Bad Request.
Logout
CallGET /auth/logout to clear your session cookies. This endpoint requires an active access token.
access-token and refresh-token cookies and returns { "success": true }.
Account lockout
Public endpoints
The following endpoints do not require authentication:| Endpoint | Method | Description |
|---|---|---|
/listings | GET | Browse available listings |
/applications | POST | Submit a new application |
/jurisdictions | GET | Read jurisdiction data |
/multiselectQuestions | GET | Read preferences and programs |
/auth/request-mfa-code | POST | Request an MFA code before login |
/auth/update-password | PUT | Set a new password via reset token |
/auth/confirm | PUT | Confirm a new user account |
Email confirmation
When a new account is created, the user receives a confirmation email. The account must be confirmed before login is permitted. Resend confirmation withPOST /user/resendConfirmation, or confirm directly with PUT /auth/confirm using the token from the email.