Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
- Java JDK version 21
- Maven
Before running the project, ensure you have the following environment variables set:
ENVIRONMENT
: The environment in which the application is running (e.g., development, production).PROJECT_ID
: The ID of the project.BUCKET_NAME
: The name of the bucket for storage.GOOGLE_APPLICATION_CREDENTIALS
: The path to the Google Cloud Platform service account key file.ADMIN_EMAIL
: The email address of the admin user.STRIPE_API_KEY
: The API key for accessing the Stripe payment gateway.STRIPE_ENDPOINT_SECRET
: The endpoint secret for Stripe webhook verification.PLATFORM_URL
: The URL of the platform.SHEERID_PROGRAM_ID
: The ID of the SheerID program.
-
Clone the repository:
git clone <repository-url>
-
Navigate to the project directory:
cd <project-directory>
-
Build the project using Maven:
mvn clean install
-
Run the project:
mvn spring-boot:run
-
Access the API documentation: Open a web browser and navigate to
<back-end-url>/swagger-ui.html
for API documentation if Swagger is enabled.
Note: Replace placeholder text (e.g., <repository-url>
, <project-directory>
, <back-end-url>
) with actual values.
The AuthController
handles authentication-related requests such as user registration, login, admin login, and SheerID verification.
/api
Endpoint: /register
Method: POST
Description: Registers a new user.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"username": "string",
"password": "string",
"email": "string"
}
Response:
- Success: HTTP 200 with user registration details.
- Failure: HTTP 400 with error message.
Endpoint: /login
Method: POST
Description: Logs in a user.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"username": "string",
"password": "string"
}
Response:
- Success: HTTP 200 with login details.
- Failure: HTTP 401 with error message.
Endpoint: /login/admin
Method: POST
Description: Logs in an admin user.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"username": "string",
"password": "string"
}
Response:
- Success: HTTP 200 with admin login details.
- Failure: HTTP 401 with error message.
Endpoint: /sheerId/verify
Method: POST
Description: Verifies a user on SheerID.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"sheerIdToken": "string"
}
Response:
- Success: HTTP 200 with verification details.
- Failure: HTTP 400 with error message.
The ApplicationController
handles operations related to rental applications, including listing applications by status, creating applications, updating application status, and managing students associated with an application.
/api/applications
Endpoint: /applications
Method: GET
Description: Lists applications by status.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Parameters:
status
(ApplicationStatus): Status of the applications to be listed.rentalUnitId
(String, optional): ID of the rental unit.lastSeen
(String, optional): Last seen application ID for pagination.limit
(int, optional, default: 15): Number of applications to retrieve.
Response:
- Success: HTTP 200 with application details.
- Failure: HTTP 400 with error message.
Endpoint: /applications
Method: POST
Description: Creates an application for a student with an initial status of visit_requested
.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"studentId": "string",
"rentalUnitId": "string",
"visitTime": "string",
"additionalData": "string"
}
Response:
- Success: HTTP 201 with created application details.
- Failure: HTTP 400 with error message.
Endpoint: /applications/{applicationId}
Method: PUT
Description: Retrieves an application by its ID.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
applicationId
(String): ID of the application to retrieve.
Response:
- Success: HTTP 200 with application details.
- Failure: HTTP 404 with error message.
Endpoint: /applications/{applicationId}/status
Method: PUT
Description: Updates the status of an application.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
applicationId
(String): ID of the application to update.
Request Parameters:
status
(ApplicationStatus): New status of the application.
Response:
- Success: HTTP 200 with updated application status.
- Failure: HTTP 400 with error message.
Endpoint: /applications/status/v2
Method: PUT
Description: Updates the status of multiple applications.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
[
"applicationId1",
"applicationId2"
]
Request Parameters:
status
(ApplicationStatus): New status of the applications.
Response:
- Success: HTTP 200 with updated application statuses.
- Failure: HTTP 400 with error message.
Endpoint: /applications/{applicationId}
Method: DELETE
Description: Deletes an application by its ID.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
applicationId
(String): ID of the application to delete.
Response:
- Success: HTTP 200 with deletion confirmation.
- Failure: HTTP 404 with error message.
Endpoint: /applications/{applicationId}/students
Method: PUT
Description: Adds or removes students for an application. This operation can only be performed when the application status is pending_document_upload
.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
applicationId
(String): ID of the application to update.
Request Body:
{
"studentIds": [
"studentId1",
"studentId2"
]
}
Response:
- Success: HTTP 200 with updated application details.
- Failure: HTTP 400 with error message.
The AdminController
handles administrative operations related to users and rental units, including listing users and rental units by verification status, and updating the verification status of users and rental units.
/api/admin
Endpoint: /users
Method: GET
Description: Lists users by verification status.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Parameters:
verificationStatus
(VerificationStatus, optional, default:pending
): Verification status of the users to be listed.limit
(int, optional, default: 50): Number of users to retrieve.lastSeen
(String, optional): Last seen user ID for pagination.
Response:
- Success: HTTP 200 with user details.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units
Method: GET
Description: Lists rental units by verification status.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Parameters:
verificationStatus
(VerificationStatus, optional, default:pending
): Verification status of the rental units to be listed.limit
(int, optional, default: 50): Number of rental units to retrieve.lastSeen
(String, optional): Last seen rental unit ID for pagination.
Response:
- Success: HTTP 200 with rental unit details.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units/{rentalUnitId}/status
Method: PUT
Description: Updates the verification status of a rental unit.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to update.
Request Parameters:
verificationStatus
(VerificationStatus, optional, default:pending
): New verification status of the rental unit.reason
(String, optional): Reason for the status update.
Response:
- Success: HTTP 200 with updated rental unit status.
- Failure: HTTP 400 with error message.
Endpoint: /users/{userId}/status
Method: PUT
Description: Updates the verification status of a user.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
userId
(String): ID of the user to update.
Request Parameters:
verificationStatus
(VerificationStatus, optional, default:pending
): New verification status of the user.reason
(String, optional): Reason for the status update.
Response:
- Success: HTTP 200 with updated user status.
- Failure: HTTP 400 with error message.
The LikeAndRatingController
handles operations related to liking and rating rental units, including liking a rental unit, rating a rental unit, retrieving liked rental units, and retrieving reviews for a rental unit.
/api
Endpoint: /like/rental-unit/{rentalUnitId}
Method: POST
Description: Likes or unlikes a rental unit.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to like or unlike.
Request Parameters:
like
(boolean, optional, default:true
): Whether to like (true
) or unlike (false
) the rental unit.
Response:
- Success: HTTP 200 with like/unlike confirmation.
- Failure: HTTP 400 with error message.
Endpoint: /rating/rental-unit/{rentalUnitId}
Method: POST
Description: Rates a rental unit.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to rate.
Request Parameters:
star
(int, optional, default: 3): Rating star value (1-5).
Request Body:
{
"comment": "string",
"additionalData": "string"
}
Response:
- Success: HTTP 200 with rating confirmation.
- Failure: HTTP 400 with error message.
Endpoint: /like/rental-unit
Method: GET
Description: Retrieves a list of liked rental units.
Request Headers:
requestId
(String): Unique identifier for the request.
Response:
- Success: HTTP 200 with list of liked rental units.
- Failure: HTTP 400 with error message.
Endpoint: /reviews/{rentalUnitId}/rental-unit
Method: GET
Description: Retrieves reviews for a specific rental unit.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to retrieve reviews for.
Request Parameters:
lastSeen
(String, optional): Last seen review ID for pagination.limit
(int, optional, default: 100): Number of reviews to retrieve.
Response:
- Success: HTTP 200 with list of reviews.
- Failure: HTTP 400 with error message.
The MainController
provides basic endpoints for retrieving version information, health status, country data, time zones, and searching organizations via SheerId.
/api
Endpoint: /version
Method: GET
Description: Retrieves the current version of the API.
Response:
- Success: HTTP 200 with version information (
v0.0.1
). - Failure: N/A
Endpoint: /health
Method: GET
Description: Checks the health status of the API.
Response:
- Success: HTTP 200 with health status (
ok
). - Failure: N/A
Endpoint: /countries
Method: GET
Description: Retrieves a list of countries from a JSON file.
Response:
- Success: HTTP 200 with country data.
- Failure: HTTP 500 with error message if the file cannot be read.
Endpoint: /time-zones
Method: GET
Description: Retrieves a list of available time zones with their GMT offsets.
Response:
- Success: HTTP 200 with a list of time zones.
- Failure: N/A
Endpoint: /sheerId/orgs
Method: POST
Description: Searches for organizations via SheerId based on the search term and country.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"searchTerm": "string",
"country": "string"
}
Response:
- Success: HTTP 200 with organization search results.
- Failure: HTTP 400 with error message.
The RentalUnitController
handles operations related to rental units, including retrieving rental units, searching rental units, retrieving rental unit details, adding, updating, and deleting rental units, and fetching static data about rental unit features.
/api
Endpoint: /rental-units
Method: GET
Description: Retrieves a list of rental units.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Parameters:
limit
(int, optional, default: 10): Number of rental units to retrieve.lastSeen
(String, optional): Last seen rental unit ID for pagination.fetchLiveOnly
(boolean, optional): Whether to fetch only live rental units.
Response:
- Success: HTTP 200 with list of rental units.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units/search
Method: POST
Description: Searches for rental units based on search criteria.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Parameters:
limit
(int, optional, default: 10): Number of rental units to retrieve.lastSeen
(String, optional): Last seen rental unit ID for pagination.
Request Body:
{
"location": "string",
"priceRange": {
"min": "number",
"max": "number"
},
"amenities": ["string"]
}
Response:
- Success: HTTP 200 with search results.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units/{rentalUnitId}
Method: GET
Description: Retrieves details of a rental unit by its ID.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to retrieve.
Response:
- Success: HTTP 200 with rental unit details.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units
Method: POST
Description: Adds a new rental unit.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"name": "string",
"location": "string",
"price": "number",
"amenities": ["string"]
}
Response:
- Success: HTTP 201 with newly added rental unit details.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units/{rentalUnitId}
Method: PUT
Description: Updates an existing rental unit.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to update.
Request Body:
{
"name": "string",
"location": "string",
"price": "number",
"amenities": ["string"]
}
Response:
- Success: HTTP 200 with updated rental unit details.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units/{rentalUnitId}
Method: DELETE
Description: Deletes a rental unit by its ID.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
rentalUnitId
(String): ID of the rental unit to delete.
Response:
- Success: HTTP 200 with deletion confirmation.
- Failure: HTTP 400 with error message.
Endpoint: /rental-units/static
Method: GET
Description: Retrieves static data about rental unit features.
Request Headers:
requestId
(String): Unique identifier for the request.
Response:
- Success: HTTP 200 with static data.
- Failure: HTTP 400 with error message.
The UserController
provides endpoints for updating user details, retrieving user details, and searching for users based on their email.
/api
Endpoint: /users
Method: PUT
Description: Updates user details.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"name": "string",
"email": "string",
"phoneNumber": "string"
}
Response:
- Success: HTTP 200 with updated user details.
- Failure: HTTP 400 with error message.
Endpoint: /users
Method: GET
Description: Retrieves user details.
Request Headers:
requestId
(String): Unique identifier for the request.
Response:
- Success: HTTP 200 with user details.
- Failure: HTTP 400 with error message.
Endpoint: /users-for-applications
Method: GET
Description: Searches for a user by email for application purposes.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
{
"email": "string"
}
Response:
- Success: HTTP 200 with user search results.
- Failure: HTTP 400 with error message.
The WebhookController
handles webhook requests related to payment updates.
/wh
Endpoint: /payment-update
Method: POST
Description: Updates payment status based on webhook data.
Request Headers:
Stripe-Signature
(String): Stripe signature header.
Request Body:
- Raw string data containing payment update information.
Response:
- Success: HTTP 200 with payment update confirmation.
- Failure: HTTP 400 with error message.
The PaymentController
handles endpoints related to payment processing.
Endpoint: /payment
Method: POST
Description: Creates a payment link for processing payments.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
- Payment request details.
Response:
- Success: HTTP 200 with payment link details.
- Failure: HTTP 400 with error message.
The FileController
manages endpoints related to file handling, including uploading, confirming, deleting, and replacing files.
Endpoint: /files
Method: POST
Description: Retrieves the upload URL for a file.
Request Headers:
requestId
(String): Unique identifier for the request.
Request Body:
- Details of the file to be uploaded.
Response:
- Success: HTTP 200 with the upload URL.
- Failure: HTTP 400 with error message.
Endpoint: /files/{fileId}/cnfm
Method: POST
Description: Confirms the upload of a file.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
fileId
(String): ID of the uploaded file.
Response:
- Success: HTTP 200 with confirmation message.
- Failure: HTTP 400 with error message.
Endpoint: /files/{fileId}
Method: DELETE
Description: Deletes a file.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
fileId
(String): ID of the file to delete.
Response:
- Success: HTTP 200 with deletion confirmation.
- Failure: HTTP 400 with error message.
Endpoint: /files/{fileId}/replace
Method: PUT
Description: Replaces a file with a new one.
Request Headers:
requestId
(String): Unique identifier for the request.
Path Parameters:
fileId
(String): ID of the file to replace.
Request Body:
- Details of the new file.
Response:
- Success: HTTP 200 with replacement confirmation.
- Failure: HTTP 400 with error message.
The following are the available file purposes:
- rental_unit_image
- rental_unit_poster_image
- bank_statement
- credit_score_report
- gic_certificate
- parents_bank_statement
- student_id
- national_id
- user_profile_image
- offered_lease_doc
- signed_lease_doc
The following are the available file types:
- image
- video
- document
The following are the available rental unit elements:
- living_room
- bed_room
- dining_room
- bath_room
- kitchen
- others
title: Mc Master Student Housing Portal v0.0.1 language_tabs:
- shell: Shell toc_footers: [] includes: [] search: true highlight_theme: darkula headingLevel: 2
Base URLs:
- HTTP Authentication, scheme: bearer
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/users \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/users
getUserDetails
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/users \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/users
updateUser
Body parameter
{
"verificationStatus": "failed",
"email": "string",
"phoneNumber": "string",
"name": "string",
"dob": "string",
"nationality": "string",
"emergencyContact": "string",
"additionalEmail": "string",
"addresses": [
{
"country": {
"label": "string",
"value": "string"
},
"state": {
"label": "string",
"value": "string"
},
"zip": "string",
"city": "string",
"primary": true
}
],
"occupation": "string",
"preferredModOfContact": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | UpdateUserRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/users-for-applications?email=string \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/users-for-applications
searchUserForApplication
Name | In | Type | Required | Description |
---|---|---|---|---|
query | string | true | none | |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/schedule \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/schedule
Name | In | Type | Required | Description |
---|---|---|---|---|
ownerId | query | string | false | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/schedule \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/schedule
Body parameter
{
"days": [
{
"dayOfWeek": "MONDAY",
"timeSlots": [
{
"start": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
},
"end": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
}
}
]
}
],
"timeZone": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | CreateUpdateVisitingScheduleRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/schedule \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/schedule
Body parameter
{
"days": [
{
"dayOfWeek": "MONDAY",
"timeSlots": [
{
"start": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
},
"end": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
}
}
]
}
],
"timeZone": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | CreateUpdateVisitingScheduleRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/schedule/template?month=JANUARY \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/schedule/template
Name | In | Type | Required | Description |
---|---|---|---|---|
month | query | string | true | none |
requestId | header | string | true | none |
Parameter | Value |
---|---|
month | JANUARY |
month | FEBRUARY |
month | MARCH |
month | APRIL |
month | MAY |
month | JUNE |
month | JULY |
month | AUGUST |
month | SEPTEMBER |
month | OCTOBER |
month | NOVEMBER |
month | DECEMBER |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/rental-units/{rentalUnitId} \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/rental-units/{rentalUnitId}
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/rental-units/{rentalUnitId} \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/rental-units/{rentalUnitId}
Body parameter
{
"title": "string",
"address": {
"country": {
"label": "string",
"value": "string"
},
"state": {
"label": "string",
"value": "string"
},
"zip": "string",
"city": "string",
"primary": true
},
"rent": {
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
},
"deposit": {
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
},
"features": {
"featuresUtilities": {
"property1": true,
"property2": true
},
"featuresAmenities": {
"property1": true,
"property2": true
},
"featuresNumbers": {
"property1": 0.1,
"property2": 0.1
}
},
"posterImageId": "string",
"contact": {
"email": "string",
"phoneNumber": "string",
"name": "string",
"preferredModOfContact": "string"
},
"description": "string",
"leaseTerm": "string",
"leaseStartDate": 0
}
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
requestId | header | string | true | none |
body | body | AddUpdateRentalUnitRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X DELETE http://localhost:9098/api/rental-units/{rentalUnitId} \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/rental-units/{rentalUnitId}
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/rental-units \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/rental-units
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
limit | query | integer(int32) | false | none |
lastSeen | query | string | false | none |
fetchLiveOnly | query | boolean | false | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/rental-units \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/rental-units
Body parameter
{
"title": "string",
"address": {
"country": {
"label": "string",
"value": "string"
},
"state": {
"label": "string",
"value": "string"
},
"zip": "string",
"city": "string",
"primary": true
},
"rent": {
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
},
"deposit": {
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
},
"features": {
"featuresUtilities": {
"property1": true,
"property2": true
},
"featuresAmenities": {
"property1": true,
"property2": true
},
"featuresNumbers": {
"property1": 0.1,
"property2": 0.1
}
},
"posterImageId": "string",
"contact": {
"email": "string",
"phoneNumber": "string",
"name": "string",
"preferredModOfContact": "string"
},
"description": "string",
"leaseTerm": "string",
"leaseStartDate": 0
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | AddUpdateRentalUnitRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/rental-units/search \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/rental-units/search
Body parameter
{
"features": {
"featuresUtilities": {
"property1": true,
"property2": true
},
"featuresAmenities": {
"property1": true,
"property2": true
},
"featuresNumbers": {
"property1": 0.1,
"property2": 0.1
}
},
"country": "string",
"state": "string",
"city": "string",
"minRent": 0,
"maxRent": 0
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
limit | query | integer(int32) | false | none |
lastSeen | query | string | false | none |
body | body | SearchRentalUnitRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/rental-units/static \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/rental-units/static
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/files/{fileId}/replace \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/files/{fileId}/replace
Body parameter
{
"contentType": "string",
"type": "image",
"filePurpose": "rental_unit_image",
"rentalUnitId": "string",
"fileName": "string",
"rentalUnitElement": "living_room",
"applicationId": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
fileId | path | string | true | none |
requestId | header | string | true | none |
body | body | GetUploadUrlForFileRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/files \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/files
Body parameter
{
"contentType": "string",
"type": "image",
"filePurpose": "rental_unit_image",
"rentalUnitId": "string",
"fileName": "string",
"rentalUnitElement": "living_room",
"applicationId": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | GetUploadUrlForFileRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/files/{fileId}/cnfm \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/files/{fileId}/cnfm
Name | In | Type | Required | Description |
---|---|---|---|---|
fileId | path | string | true | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ApiResponseObject |
Code samples
# You can also use wget
curl -X DELETE http://localhost:9098/api/files/{fileId} \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/files/{fileId}
Name | In | Type | Required | Description |
---|---|---|---|---|
fileId | path | string | true | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/applications/{applicationId} \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/applications/{applicationId}
getApplicationById
Name | In | Type | Required | Description |
---|---|---|---|---|
applicationId | path | string | true | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X DELETE http://localhost:9098/api/applications/{applicationId} \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
DELETE /api/applications/{applicationId}
deleteApplication
Name | In | Type | Required | Description |
---|---|---|---|---|
applicationId | path | string | true | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/applications/{applicationId}/students \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/applications/{applicationId}/students
addOrRemoveStudentsForApplication
provide userIds, ,new students can be added when application in the status 'pending_document_upload' , this api will replace current list of users with the new requested list of user ids
Body parameter
{
"students": [
"string"
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
applicationId | path | string | true | none |
requestId | header | string | true | none |
body | body | AddOrRemoveStudentsForApplicationRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/applications/{applicationId}/status?status=visit_requested \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/applications/{applicationId}/status
updateApplicationStatus
the method is used to update status (transition application from one stage to another for example from 'pending_document_upload' to 'review_in_process' to 'approved'). following is the possible transitions
visit_requested -> view_property view_property -> pending_document_upload pending_document_upload -> review_in_process review_in_process -> approved , rejected
students operation ->
from view_property to 'pending_document_upload' i.e. student can pick status='pending_document_upload' as next status if current status is view_property, (if user have viewed property next this to do is to upload docs so status 'pending_document_upload' represents status where user will upload document)
from pending_document_upload to 'review_in_process' i.e if student's document are already uploaded then user can push application to review_in_process status, this is where applications will be listed on rental unit owner
landlord's operation ->
from review_in_process to approved , as landlord will have application in status 'review_in_process' where ll can review and either accept or reject application
from review_in_process to rejected
Name | In | Type | Required | Description |
---|---|---|---|---|
applicationId | path | string | true | none |
status | query | string | true | none |
requestId | header | string | true | none |
Parameter | Value |
---|---|
status | visit_requested |
status | view_property |
status | pending_document_upload |
status | review_in_process |
status | approved |
status | rejected |
status | lease_offered |
status | lease_signed |
status | payment_done |
status | payment_failed |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/applications/status/v2?status=visit_requested \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/applications/status/v2
Body parameter
[
"string"
]
Name | In | Type | Required | Description |
---|---|---|---|---|
status | query | string | true | none |
requestId | header | string | true | none |
body | body | array[string] | true | none |
Parameter | Value |
---|---|
status | visit_requested |
status | view_property |
status | pending_document_upload |
status | review_in_process |
status | approved |
status | rejected |
status | lease_offered |
status | lease_signed |
status | payment_done |
status | payment_failed |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/applications?status=visit_requested \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/applications
getApplications
api to list application by status allowed status for landlord -> rejected, approved ,visit_requested (to see applications where visit was requested) ,review_in_process (to see applications where landlord has to review applications to finally approve or reject)
allowed status for students -> visit_requested - to see the application where students are still expecting visit to be approved view_property - to see application where visit was approved pending_document_upload - to application where document upload is pending review_in_process approved rejected
Name | In | Type | Required | Description |
---|---|---|---|---|
status | query | string | true | none |
rentalUnitId | query | string | false | none |
lastSeen | query | string | false | none |
limit | query | integer(int32) | false | none |
requestId | header | string | true | none |
Parameter | Value |
---|---|
status | visit_requested |
status | view_property |
status | pending_document_upload |
status | review_in_process |
status | approved |
status | rejected |
status | lease_offered |
status | lease_signed |
status | payment_done |
status | payment_failed |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/applications \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/applications
createApplication
create application for student, timezone and data are required to create application as application will be created with status='visit_requested' which will be listed in rental unit owner for approval of visit
Body parameter
{
"rentalUnitId": "string",
"date": "string",
"timeZone": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | CreateApplicationRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/admin/users/{userId}/status \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/admin/users/{userId}/status
Name | In | Type | Required | Description |
---|---|---|---|---|
userId | path | string | true | none |
verificationStatus | query | string | false | none |
requestId | header | string | true | none |
reason | query | string | false | none |
Parameter | Value |
---|---|
verificationStatus | failed |
verificationStatus | pending |
verificationStatus | verified |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X PUT http://localhost:9098/api/admin/rental-units/{rentalUnitId}/status \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
PUT /api/admin/rental-units/{rentalUnitId}/status
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
verificationStatus | query | string | false | none |
requestId | header | string | true | none |
reason | query | string | false | none |
Parameter | Value |
---|---|
verificationStatus | failed |
verificationStatus | pending |
verificationStatus | verified |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/admin/users \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/admin/users
Name | In | Type | Required | Description |
---|---|---|---|---|
verificationStatus | query | string | false | none |
requestId | header | string | true | none |
limit | query | integer(int32) | false | none |
lastSeen | query | string | false | none |
Parameter | Value |
---|---|
verificationStatus | failed |
verificationStatus | pending |
verificationStatus | verified |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/admin/rental-units \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/admin/rental-units
Name | In | Type | Required | Description |
---|---|---|---|---|
verificationStatus | query | string | false | none |
requestId | header | string | true | none |
limit | query | integer(int32) | false | none |
lastSeen | query | string | false | none |
Parameter | Value |
---|---|
verificationStatus | failed |
verificationStatus | pending |
verificationStatus | verified |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/wh/payment-update \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Stripe-Signature: string' \
-H 'Authorization: Bearer {access-token}'
POST /wh/payment-update
Body parameter
"string"
Name | In | Type | Required | Description |
---|---|---|---|---|
Stripe-Signature | header | string | true | none |
body | body | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/sheerId/verify \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/sheerId/verify
Body parameter
{
"email": "string",
"birthDate": "string",
"firstName": "string",
"lastName": "string",
"organization": {
"id": 0,
"idExtended": "string",
"name": "string",
"country": "string",
"type": "string"
},
"phoneNumber": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | SheerIdVerificationRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/register \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/register
Body parameter
{
"email": "string",
"dob": 0,
"address": "string",
"phoneNumber": "string",
"country": "string",
"gender": "male",
"emergencyContact": "string",
"name": "string",
"role": "string",
"authToken": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | RegisterRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/login \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/login
Body parameter
{
"authToken": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | LogInRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/login/admin \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/login/admin
Body parameter
{
"authToken": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | LogInRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/sheerId/orgs \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/sheerId/orgs
Body parameter
{
"searchTerm": "string",
"country": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | SheerIdOrgSearchRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/version \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /api/version
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/time-zones \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /api/time-zones
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/health \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /api/health
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/countries \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /api/countries
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/rating/rental-unit/{rentalUnitId} \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/rating/rental-unit/{rentalUnitId}
Body parameter
{
"review": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
star | query | integer(int32) | false | none |
requestId | header | string | true | none |
body | body | RateRentalUnitRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/like/rental-unit/{rentalUnitId} \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/like/rental-unit/{rentalUnitId}
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
like | query | boolean | false | none |
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/reviews/{rentalUnitId}/rental-unit \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/reviews/{rentalUnitId}/rental-unit
Name | In | Type | Required | Description |
---|---|---|---|---|
rentalUnitId | path | string | true | none |
requestId | header | string | true | none |
lastSeen | query | string | false | none |
limit | query | integer(int32) | false | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/api/like/rental-unit \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
GET /api/like/rental-unit
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X POST http://localhost:9098/api/payment \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'requestId: string' \
-H 'Authorization: Bearer {access-token}'
POST /api/payment
Body parameter
{
"requestType": "payment_for_listing",
"entityId": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
requestId | header | string | true | none |
body | body | PaymentRequestDto | true | none |
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/migration/user-doc \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /migration/user-doc
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/migration/student-verification-status \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /migration/student-verification-status
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/migration/storage-cors \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /migration/storage-cors
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/migration/leas-term-to-string \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /migration/leas-term-to-string
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
Code samples
# You can also use wget
curl -X GET http://localhost:9098/migration/landlord-dashboard \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET /migration/landlord-dashboard
Example responses
200 Response
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | Inline |
{
"country": {
"label": "string",
"value": "string"
},
"state": {
"label": "string",
"value": "string"
},
"zip": "string",
"city": "string",
"primary": true
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
country | LabelValueMap | false | none | none |
state | LabelValueMap | false | none | none |
zip | string | false | none | none |
city | string | false | none | none |
primary | boolean | false | none | none |
{
"label": "string",
"value": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
label | string | false | none | none |
value | string | false | none | none |
{
"verificationStatus": "failed",
"email": "string",
"phoneNumber": "string",
"name": "string",
"dob": "string",
"nationality": "string",
"emergencyContact": "string",
"additionalEmail": "string",
"addresses": [
{
"country": {
"label": "string",
"value": "string"
},
"state": {
"label": "string",
"value": "string"
},
"zip": "string",
"city": "string",
"primary": true
}
],
"occupation": "string",
"preferredModOfContact": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
verificationStatus | string | false | none | none |
string | false | none | none | |
phoneNumber | string | false | none | none |
name | string | false | none | none |
dob | string | false | none | none |
nationality | string | false | none | none |
emergencyContact | string | false | none | none |
additionalEmail | string | false | none | none |
addresses | [Address] | false | none | none |
occupation | string | false | none | none |
preferredModOfContact | string | false | none | none |
Property | Value |
---|---|
verificationStatus | failed |
verificationStatus | pending |
verificationStatus | verified |
{
"days": [
{
"dayOfWeek": "MONDAY",
"timeSlots": [
{
"start": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
},
"end": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
}
}
]
}
],
"timeZone": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
days | [Day] | false | none | none |
timeZone | string | false | none | none |
{
"dayOfWeek": "MONDAY",
"timeSlots": [
{
"start": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
},
"end": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
}
}
]
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
dayOfWeek | string | false | none | none |
timeSlots | [TimeSlot] | false | none | none |
Property | Value |
---|---|
dayOfWeek | MONDAY |
dayOfWeek | TUESDAY |
dayOfWeek | WEDNESDAY |
dayOfWeek | THURSDAY |
dayOfWeek | FRIDAY |
dayOfWeek | SATURDAY |
dayOfWeek | SUNDAY |
{
"dayPeriod": "AM",
"hour": 0,
"minute": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
dayPeriod | string | false | none | none |
hour | integer(int32) | false | none | none |
minute | integer(int32) | false | none | none |
Property | Value |
---|---|
dayPeriod | AM |
dayPeriod | PM |
{
"start": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
},
"end": {
"dayPeriod": "AM",
"hour": 0,
"minute": 0
}
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
start | Time | false | none | none |
end | Time | false | none | none |
{
"title": "string",
"address": {
"country": {
"label": "string",
"value": "string"
},
"state": {
"label": "string",
"value": "string"
},
"zip": "string",
"city": "string",
"primary": true
},
"rent": {
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
},
"deposit": {
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
},
"features": {
"featuresUtilities": {
"property1": true,
"property2": true
},
"featuresAmenities": {
"property1": true,
"property2": true
},
"featuresNumbers": {
"property1": 0.1,
"property2": 0.1
}
},
"posterImageId": "string",
"contact": {
"email": "string",
"phoneNumber": "string",
"name": "string",
"preferredModOfContact": "string"
},
"description": "string",
"leaseTerm": "string",
"leaseStartDate": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
title | string | false | none | none |
address | Address | false | none | none |
rent | Amount | false | none | none |
deposit | Amount | false | none | none |
features | RentalUnitFeatures | false | none | none |
posterImageId | string | false | none | none |
contact | Contact | false | none | none |
description | string | false | none | none |
leaseTerm | string | false | none | none |
leaseStartDate | integer(int64) | false | none | none |
{
"amount": 0,
"currency": "usd",
"currencySymbol": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
amount | integer(int64) | false | none | none |
currency | string | false | none | none |
currencySymbol | string | false | none | none |
Property | Value |
---|---|
currency | usd |
currency | inr |
currency | cad |
currency | gbp |
{
"email": "string",
"phoneNumber": "string",
"name": "string",
"preferredModOfContact": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | none | |
phoneNumber | string | false | none | none |
name | string | false | none | none |
preferredModOfContact | string | false | none | none |
{
"featuresUtilities": {
"property1": true,
"property2": true
},
"featuresAmenities": {
"property1": true,
"property2": true
},
"featuresNumbers": {
"property1": 0.1,
"property2": 0.1
}
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
featuresUtilities | object | false | none | none |
» additionalProperties | boolean | false | none | none |
featuresAmenities | object | false | none | none |
» additionalProperties | boolean | false | none | none |
featuresNumbers | object | false | none | none |
» additionalProperties | number(double) | false | none | none |
{
"status": 0,
"msg": "string",
"data": {}
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | integer(int32) | false | none | none |
msg | string | false | none | none |
data | object | false | none | none |
{
"contentType": "string",
"type": "image",
"filePurpose": "rental_unit_image",
"rentalUnitId": "string",
"fileName": "string",
"rentalUnitElement": "living_room",
"applicationId": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
contentType | string | false | none | none |
type | string | false | none | none |
filePurpose | string | false | none | none |
rentalUnitId | string | false | none | none |
fileName | string | false | none | none |
rentalUnitElement | string | false | none | none |
applicationId | string | false | none | none |
Property | Value |
---|---|
type | image |
type | video |
type | document |
filePurpose | rental_unit_image |
filePurpose | rental_unit_poster_image |
filePurpose | bank_statement |
filePurpose | credit_score_report |
filePurpose | gic_certificate |
filePurpose | parents_bank_statement |
filePurpose | student_id |
filePurpose | national_id |
filePurpose | user_profile_image |
filePurpose | offered_lease_doc |
filePurpose | signed_lease_doc |
rentalUnitElement | living_room |
rentalUnitElement | bed_room |
rentalUnitElement | dining_room |
rentalUnitElement | bath_room |
rentalUnitElement | kitchen |
rentalUnitElement | others |
{
"students": [
"string"
]
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
students | [string] | false | none | none |
{
"id": 0,
"idExtended": "string",
"name": "string",
"country": "string",
"type": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | integer(int32) | false | none | none |
idExtended | string | false | none | none |
name | string | false | none | none |
country | string | false | none | none |
type | string | false | none | none |
{
"email": "string",
"birthDate": "string",
"firstName": "string",
"lastName": "string",
"organization": {
"id": 0,
"idExtended": "string",
"name": "string",
"country": "string",
"type": "string"
},
"phoneNumber": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | none | |
birthDate | string | false | none | none |
firstName | string | false | none | none |
lastName | string | false | none | none |
organization | SheerIdUniversity | false | none | none |
phoneNumber | string | false | none | none |
{
"searchTerm": "string",
"country": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
searchTerm | string | false | none | none |
country | string | false | none | none |
{
"features": {
"featuresUtilities": {
"property1": true,
"property2": true
},
"featuresAmenities": {
"property1": true,
"property2": true
},
"featuresNumbers": {
"property1": 0.1,
"property2": 0.1
}
},
"country": "string",
"state": "string",
"city": "string",
"minRent": 0,
"maxRent": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
features | RentalUnitFeatures | false | none | none |
country | string | false | none | none |
state | string | false | none | none |
city | string | false | none | none |
minRent | integer(int64) | false | none | none |
maxRent | integer(int64) | false | none | none |
{
"email": "string",
"dob": 0,
"address": "string",
"phoneNumber": "string",
"country": "string",
"gender": "male",
"emergencyContact": "string",
"name": "string",
"role": "string",
"authToken": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | none | |
dob | integer(int64) | false | none | none |
address | string | false | none | none |
phoneNumber | string | false | none | none |
country | string | false | none | none |
gender | string | false | none | none |
emergencyContact | string | false | none | none |
name | string | false | none | none |
role | string | false | none | none |
authToken | string | false | none | none |
Property | Value |
---|---|
gender | male |
gender | female |
gender | non_binary |
{
"review": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
review | string | false | none | none |
{
"requestType": "payment_for_listing",
"entityId": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
requestType | string | false | none | none |
entityId | string | false | none | none |
Property | Value |
---|---|
requestType | payment_for_listing |
requestType | payment_for_deposit |
{
"authToken": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
authToken | string | false | none | none |
{
"rentalUnitId": "string",
"date": "string",
"timeZone": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
rentalUnitId | string | false | none | none |
date | string | false | none | none |
timeZone | string | false | none | none |