API Reference

Table of contents
  1. API Reference
    1. User APIs - prefix api
      1. /
      2. /token/
      3. /token/refresh/
      4. /register/
      5. /activate/{uidb64}/{token}/
      6. /users/payment/
    2. Property APIs - prefix property
      1. /
        1. GET
        2. POST
      2. /{id}/
        1. GET
        2. PUT
        3. DELETE
      3. /userProperty/
      4. /photo/
      5. /photo/delete/
      6. /rating/{id}/
        1. GET
        2. POST
        3. PUT
        4. DELETE
      7. /reviewProperty/{admin}/
        1. GET
        2. POST
      8. /requestRental/{id}/
        1. GET
        2. POST
      9. /getRequest/
      10. /user/

User APIs - prefix api

/

GET

returns a list of routes

Inputs

None

Returns

A list of routes

/token/

POST

authenticates user and returns a JSON web token

Inputs

username
password

Returns

On success
200 refresh and access JSON web token
On fail
400, 401 None

/token/refresh/

POST

takes a refresh token and returns a new JSON web token

Inputs

refresh

Returns

On success
200 refresh and access JSON web token
On fail
400, 401 None

/register/

POST

registers an account with the system, users will get a confirmation email to finish the signup process

Inputs

first_name
last_name
username
email
password

Returns

On success
201 Response("Click the link in your email to activate the account")
On fail
500 None

/activate/{uidb64}/{token}/

GET

confirms the user’s email and finishes the signup process

Inputs

None

Returns

None

/users/payment/

POST

Returns

None

Property APIs - prefix property

/

GET, POST

GET

gets properties in range [start, end], if not specified, get first 50

URL params

start?
end?

Returns

On success
200 list of properties
On fail
500 None

POST

saves a property to user’s account

Inputs

address
city
state
zip
title
rent
description
bedrooms
bathrooms
garage
sqft
lotsize
type

Returns

On success
200 new property id
On fail
500 None

/{id}/

GET, PUT, DELETE

GET

saves a property to user’s account

URL params

id

Returns

On success
200Property with corresponding id
On fail
500 None

PUT

edit a property if owned by user

Inputs

address
city
state
zip
title
rent
description
bedrooms
bathrooms
garage
sqft
lotsize
type

Returns

On success
200 None
On fail
404 None

DELETE

deletes a property if owned by user

Inputs

id

Returns

On success
200 None
On fail
404 None

/userProperty/

GET

gets a list of all the user’s properties

Inputs

None

Returns

On success
200 list of user's properties
On fail
400 None

/photo/

POST

Adds photos to a property

Inputs

files
descriptions

Returns

On success
200 None
On fail
400 None

/photo/delete/

DELETE

deletes photos from a property

URL params

photoIDs

Returns

On success
200 None
On fail
403, 400 None

/rating/{id}/

GET, POST, PUT, DELETE

GET

returns the ratings of a property

URL params

id

Returns

On success
200list of ratings
On fail
400 None

POST

creates a rating on a property and returns it

URL params

id

Inputs

stars
comment

Returns

On success
200new rating
On fail
400 None

PUT

edits a rating on a property

URL params

id

Inputs

stars
comment

Returns

On success
200None
On fail
401, 404 None

DELETE

deletes a rating on a property

URL params

id

Returns

On success
200None
On fail
401, 404 None

/reviewProperty/{admin}/

GET, POST

GET

URL params

admin

Returns

On success
200list of user's properties if admin == 0, list of all properties if admin == 1
On fail
400 None

POST

URL params

admin

Inputs

propertyID
status

Returns

On success
200list of all properties in review
On fail
400 None

/requestRental/{id}/

GET, POST

GET

returns the status of the rental request for the given property

URL params

id

Returns

On success
200status of rental request for given property
On fail
400 None

POST

Makes a requestRental object with the given propertyID and the user

URL params

id

Returns

On success
200rental status
On fail
400, 500 None

/getRequest/

GET

returns all properties with a rentalRequest object associated with user

Returns

On success
200list of properties that user has requested a rental for
On fail
400 None

/user/

GET

gets user’s data

Returns

On success
200user data
On fail
400 None