Skip to content

ARVIND610/studentBase-backend

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mc Master Student Housing Portal v0.0.1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

How to Run the Project

Prerequisites

  • Java JDK version 21
  • Maven

Environment Variables

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.
  1. Clone the repository:

    git clone <repository-url>
  2. Navigate to the project directory:

    cd <project-directory>
  3. Build the project using Maven:

    mvn clean install
  4. Run the project:

    mvn spring-boot:run
  5. 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.


AuthController API Documentation

Overview

The AuthController handles authentication-related requests such as user registration, login, admin login, and SheerID verification.

Base URL

/api

Endpoints

1. Register User

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.

2. User Login

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.

3. Admin Login

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.

4. Verify on SheerID

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.

ApplicationController API Documentation

Overview

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.

Base URL

/api/applications

Endpoints

1. Get 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.

2. Create Application

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.

3. Get Application By ID

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.

4. Update Application Status

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.

5. Update Application Status (Batch)

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.

6. Delete Application

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.

7. Add or Remove Students for Application

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.

AdminController API Documentation

Overview

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.

Base URL

/api/admin

Endpoints

1. Get Users

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.

2. Get Rental Units

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.

3. Update Rental Unit Status

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.

4. Update User Status

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.

LikeAndRatingController API Documentation

Overview

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.

Base URL

/api

Endpoints

1. Like Rental Unit

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.

2. Rate Rental Unit

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.

3. Get Liked Rental Units

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.

4. Get Reviews by Rental Unit ID

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.

MainController API Documentation

Overview

The MainController provides basic endpoints for retrieving version information, health status, country data, time zones, and searching organizations via SheerId.

Base URL

/api

Endpoints

1. Get API Version

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

2. Get API Health

Endpoint: /health
Method: GET
Description: Checks the health status of the API.

Response:

  • Success: HTTP 200 with health status (ok).
  • Failure: N/A

3. Get Countries

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.

4. Get Time Zones

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

5. Get SheerId Organizations

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.

RentalUnitController API Documentation

Overview

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.

Base URL

/api

Endpoints

1. Get Rental Units

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.

2. Search Rental Units

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.

3. Get Rental Unit by ID

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.

4. Add Rental Unit

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.

5. Update Rental Unit

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.

6. Delete Rental Unit

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.

7. Get Rental Unit Features Static Data

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.

UserController API Documentation

Overview

The UserController provides endpoints for updating user details, retrieving user details, and searching for users based on their email.

Base URL

/api

Endpoints

1. Update User

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.

2. Get User Details

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.

3. Search User for Application

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.

WebhookController API Documentation

Overview

The WebhookController handles webhook requests related to payment updates.

Base URL

/wh

Endpoints

1. Update Payment Status

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.

PaymentController API Documentation

Overview

The PaymentController handles endpoints related to payment processing.

1. Create Payment Link

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.

FileController API Documentation

Overview

The FileController manages endpoints related to file handling, including uploading, confirming, deleting, and replacing files.

Endpoints

1. Get Upload URL for File

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.

2. Confirm File Upload

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.

3. Delete File

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.

4. Replace File

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.

File Purposes

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

File Types

The following are the available file types:

  • image
  • video
  • document

Rental Unit Elements

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

Backend APIs for mc master student housing portal

Base URLs:

Authentication

  • HTTP Authentication, scheme: bearer

user-controller

getUserDetails

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

Parameters

Name In Type Required Description
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateUser

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body UpdateUserRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

searchUserForApplication

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

Parameters

Name In Type Required Description
email query string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

calendar-controller

getVisitingSchedule

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

Parameters

Name In Type Required Description
ownerId query string false none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateVisitingSchedule

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body CreateUpdateVisitingScheduleRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

createVisitingSchedule

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body CreateUpdateVisitingScheduleRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getVisitingScheduleTemplate

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

Parameters

Name In Type Required Description
month query string true none
requestId header string true none

Enumerated Values

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

rental-unit-controller

getRentalUnitById

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}

Parameters

Name In Type Required Description
rentalUnitId path string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateRentalUnits

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
}

Parameters

Name In Type Required Description
rentalUnitId path string true none
requestId header string true none
body body AddUpdateRentalUnitRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

deleteRentalUnits

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}

Parameters

Name In Type Required Description
rentalUnitId path string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getRentalUnits

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

Parameters

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

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

addRentalUnit

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
}

Parameters

Name In Type Required Description
requestId header string true none
body body AddUpdateRentalUnitRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

searchRentalUnits

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
}

Parameters

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

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getRentalUnitFeaturesStaticData

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

Parameters

Name In Type Required Description
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

file-controller

replaceFile

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"
}

Parameters

Name In Type Required Description
fileId path string true none
requestId header string true none
body body GetUploadUrlForFileRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getUploadUrlForFile

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body GetUploadUrlForFileRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

confirmFileUpload

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

Parameters

Name In Type Required Description
fileId path string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK ApiResponseObject
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

deleteFile

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}

Parameters

Name In Type Required Description
fileId path string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

application-controller

getApplicationById

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

Parameters

Name In Type Required Description
applicationId path string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

deleteApplication

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

Parameters

Name In Type Required Description
applicationId path string true none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

addOrRemoveStudentsForApplication

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"
  ]
}

Parameters

Name In Type Required Description
applicationId path string true none
requestId header string true none
body body AddOrRemoveStudentsForApplicationRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateApplicationStatus

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

Parameters

Name In Type Required Description
applicationId path string true none
status query string true none
requestId header string true none

Enumerated Values

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateApplicationStatusV2

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"
]

Parameters

Name In Type Required Description
status query string true none
requestId header string true none
body body array[string] true none

Enumerated Values

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getApplications

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

Parameters

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

Enumerated Values

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

createApplication

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body CreateApplicationRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

admin-controller

updateUserStatus

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

Parameters

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

Enumerated Values

Parameter Value
verificationStatus failed
verificationStatus pending
verificationStatus verified

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateRentalUnitsStatus

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

Parameters

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

Enumerated Values

Parameter Value
verificationStatus failed
verificationStatus pending
verificationStatus verified

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getUsers

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

Parameters

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

Enumerated Values

Parameter Value
verificationStatus failed
verificationStatus pending
verificationStatus verified

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getRentalUnits_1

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

Parameters

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

Enumerated Values

Parameter Value
verificationStatus failed
verificationStatus pending
verificationStatus verified

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

webhook-controller

updatePaymentStatus

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"

Parameters

Name In Type Required Description
Stripe-Signature header string true none
body body string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

auth-controller

verifyOnSheerId

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body SheerIdVerificationRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

register

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body RegisterRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

login

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body LogInRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

adminLogin

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body LogInRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

main-controller

getSheerIdOrgs

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"
}

Parameters

Name In Type Required Description
requestId header string true none
body body SheerIdOrgSearchRequestDto true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

version

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getTimeZones

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

health

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getCountries

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

like-and-rating-controller

rateRentalUnit

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"
}

Parameters

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

likeRentalUnit

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}

Parameters

Name In Type Required Description
rentalUnitId path string true none
like query boolean false none
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getReviewsByRentalUnitId

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

Parameters

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

getLikedRentalUnits

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

Parameters

Name In Type Required Description
requestId header string true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

payment-controller

createPaymentLink

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
To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

migration-controller

fixUserDocsMap

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

studentVerificationStatus

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

fixStorageCors

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

leasTermToString

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

updateLandlordDashboard

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

Responses

Status Meaning Description Schema
200 OK OK Inline

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: bearer-jwt ( Scopes: read write )

Schemas

Address

{
  "country": {
    "label": "string",
    "value": "string"
  },
  "state": {
    "label": "string",
    "value": "string"
  },
  "zip": "string",
  "city": "string",
  "primary": true
}

Properties

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

LabelValueMap

{
  "label": "string",
  "value": "string"
}

Properties

Name Type Required Restrictions Description
label string false none none
value string false none none

UpdateUserRequestDto

{
  "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"
}

Properties

Name Type Required Restrictions Description
verificationStatus string false none none
email 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

Enumerated Values

Property Value
verificationStatus failed
verificationStatus pending
verificationStatus verified

CreateUpdateVisitingScheduleRequestDto

{
  "days": [
    {
      "dayOfWeek": "MONDAY",
      "timeSlots": [
        {
          "start": {
            "dayPeriod": "AM",
            "hour": 0,
            "minute": 0
          },
          "end": {
            "dayPeriod": "AM",
            "hour": 0,
            "minute": 0
          }
        }
      ]
    }
  ],
  "timeZone": "string"
}

Properties

Name Type Required Restrictions Description
days [Day] false none none
timeZone string false none none

Day

{
  "dayOfWeek": "MONDAY",
  "timeSlots": [
    {
      "start": {
        "dayPeriod": "AM",
        "hour": 0,
        "minute": 0
      },
      "end": {
        "dayPeriod": "AM",
        "hour": 0,
        "minute": 0
      }
    }
  ]
}

Properties

Name Type Required Restrictions Description
dayOfWeek string false none none
timeSlots [TimeSlot] false none none

Enumerated Values

Property Value
dayOfWeek MONDAY
dayOfWeek TUESDAY
dayOfWeek WEDNESDAY
dayOfWeek THURSDAY
dayOfWeek FRIDAY
dayOfWeek SATURDAY
dayOfWeek SUNDAY

Time

{
  "dayPeriod": "AM",
  "hour": 0,
  "minute": 0
}

Properties

Name Type Required Restrictions Description
dayPeriod string false none none
hour integer(int32) false none none
minute integer(int32) false none none

Enumerated Values

Property Value
dayPeriod AM
dayPeriod PM

TimeSlot

{
  "start": {
    "dayPeriod": "AM",
    "hour": 0,
    "minute": 0
  },
  "end": {
    "dayPeriod": "AM",
    "hour": 0,
    "minute": 0
  }
}

Properties

Name Type Required Restrictions Description
start Time false none none
end Time false none none

AddUpdateRentalUnitRequestDto

{
  "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
}

Properties

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

{
  "amount": 0,
  "currency": "usd",
  "currencySymbol": "string"
}

Properties

Name Type Required Restrictions Description
amount integer(int64) false none none
currency string false none none
currencySymbol string false none none

Enumerated Values

Property Value
currency usd
currency inr
currency cad
currency gbp

Contact

{
  "email": "string",
  "phoneNumber": "string",
  "name": "string",
  "preferredModOfContact": "string"
}

Properties

Name Type Required Restrictions Description
email string false none none
phoneNumber string false none none
name string false none none
preferredModOfContact string false none none

RentalUnitFeatures

{
  "featuresUtilities": {
    "property1": true,
    "property2": true
  },
  "featuresAmenities": {
    "property1": true,
    "property2": true
  },
  "featuresNumbers": {
    "property1": 0.1,
    "property2": 0.1
  }
}

Properties

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

ApiResponseObject

{
  "status": 0,
  "msg": "string",
  "data": {}
}

Properties

Name Type Required Restrictions Description
status integer(int32) false none none
msg string false none none
data object false none none

GetUploadUrlForFileRequestDto

{
  "contentType": "string",
  "type": "image",
  "filePurpose": "rental_unit_image",
  "rentalUnitId": "string",
  "fileName": "string",
  "rentalUnitElement": "living_room",
  "applicationId": "string"
}

Properties

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

Enumerated Values

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

AddOrRemoveStudentsForApplicationRequestDto

{
  "students": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
students [string] false none none

SheerIdUniversity

{
  "id": 0,
  "idExtended": "string",
  "name": "string",
  "country": "string",
  "type": "string"
}

Properties

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

SheerIdVerificationRequestDto

{
  "email": "string",
  "birthDate": "string",
  "firstName": "string",
  "lastName": "string",
  "organization": {
    "id": 0,
    "idExtended": "string",
    "name": "string",
    "country": "string",
    "type": "string"
  },
  "phoneNumber": "string"
}

Properties

Name Type Required Restrictions Description
email 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

SheerIdOrgSearchRequestDto

{
  "searchTerm": "string",
  "country": "string"
}

Properties

Name Type Required Restrictions Description
searchTerm string false none none
country string false none none

SearchRentalUnitRequestDto

{
  "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
}

Properties

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

RegisterRequestDto

{
  "email": "string",
  "dob": 0,
  "address": "string",
  "phoneNumber": "string",
  "country": "string",
  "gender": "male",
  "emergencyContact": "string",
  "name": "string",
  "role": "string",
  "authToken": "string"
}

Properties

Name Type Required Restrictions Description
email 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

Enumerated Values

Property Value
gender male
gender female
gender non_binary

RateRentalUnitRequestDto

{
  "review": "string"
}

Properties

Name Type Required Restrictions Description
review string false none none

PaymentRequestDto

{
  "requestType": "payment_for_listing",
  "entityId": "string"
}

Properties

Name Type Required Restrictions Description
requestType string false none none
entityId string false none none

Enumerated Values

Property Value
requestType payment_for_listing
requestType payment_for_deposit

LogInRequestDto

{
  "authToken": "string"
}

Properties

Name Type Required Restrictions Description
authToken string false none none

CreateApplicationRequestDto

{
  "rentalUnitId": "string",
  "date": "string",
  "timeZone": "string"
}

Properties

Name Type Required Restrictions Description
rentalUnitId string false none none
date string false none none
timeZone string false none none

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%