##API documentation
-
-
Save vkuzmov/53288c78f2659787c655 to your computer and use it in GitHub Desktop.
###Auth controller
####Login
[POST] api/v1/auth/login
- email - required
- password - requred
####Facebook login
[POST] api/v1/auth/facebook_login
- facebook_id - required, unique
- first_name - required
- last_name - required
- email - unique
####Logout
[DELETE] api/v1/auth/login
- email - required
- password - requred
###Books controller
####Status values
0 = Visible
1 = Hidden
####List
[GET] api/v1/books
######Search parameters
- title
- author
- genres - comma separated list of names OR array
- lat
- lng
- orderBy - accepted values: popularity|rarity. You can also set the sort direction like so: orderBy=rarity:desc,popularity:asc
####Store
[POST] api/v1/books
- title - required
- authors - requred. Can be comma separated list of names OR array.
- genres - requred. Can be comma separated list of ids OR array.
- isbn_10 - required if isbn_13 is empty
- isbn_13 - required if isbn_10 is empty
- cover - image
####Show
[GET] api/v1/books/{bookId}
####Get book authors
[GET] api/v1/books/{bookId}/authors
####Get book genres
[GET] api/v1/books/{bookId}/genres
####Get book owners - return users that have this book in their library
[GET] api/v1/books/{bookId}/owners
####Get popular books nearby currently logged user. You can paginate the result.
[GET] api/v1/books/popular_nearby_me
###Conversations controller
####List conversations of currently logged user
[GET] api/v1/conversations
######Search parameters
- after_date - Accepts any valid string that represent date and timestamp as well.
####Show
[GET] api/v1/conversations/{conversationId}
###ForgottenPassword controller
####Reset password
[POST] api/v1/forgotten_password
- email - email, unique, max:255,
###Messages controller
####List
[GET] api/v1/conversations/{conversationId}/messages
######Search parameters
- after_date - Accepts any valid string that represent date and timestamp as well.
####Store
[POST] api/v1/messages
- conversation_id - required
- text - requred
- notify - all|other
####Show
[GET] api/v1/messages/{messageId}
####Bulk seen
[PUT] api/v1/messages
######Parameters
- ids - required|array
###SwapRequests controller
####List swap requests of currently logged user
[GET] api/v1/swap_requests
######Search parameters
- after_date - Accepts any valid string that represent date and timestamp as well.
####Store
[POST] api/v1/swap_requests
- first_responder_id - required|int
- second_responder_id - required|int
- first_responder_book_id - required|int (Book of first responder)
- second_responder_book_id - required|int (Book of second responder)
- accept_immediately - boolean
####Accept swap request
[PUT] api/v1/swap_requests/{swapRequestId}/accept
######Parameters
- user_id - required|int
####Decline swap request
[PUT] api/v1/swap_requests/{swapRequestId}/decline
######Parameters
- user_id - required|int
####Remove currently logged user from swap request
[PUT] api/v1/swap_requests/{swapRequestId}/remove_me
###UserLocations controller
####Store
[POST] api/v1/user_locations
- name - required
- latitude - required
- longitude - required
####Show
[GET] api/v1/user_locations/{userLocationId}
####Update
[PUT] api/v1/user_locations/{userLocationId}
- name - required
- latitude - required
- longitude - required
####Delete
[DELETE] api/v1/user_locations/{userLocationId}
###Users controller
####List
[GET] api/v1/users
####Store
[POST] api/v1/users
- first_name - required
- last_name - required
- email - email, unique, max:255,
- password - between: 6 and 25 chars
- facebook_id - unique
- avatar - image
####Show
[GET] api/v1/users/{userId}
####Update
[PUT] api/v1/users/{userId}
- first_name - required
- last_name - required
- email - email, unique, max:255,
- password - between: 6 and 25 chars
- facebook_id - unique
- avatar - image
####Get user locations
[GET] api/v1/users/{userId}/locations
####Get user uploads (Library)
[GET] api/v1/users/{userId}/uploads
####Get user Wishlist
[GET] api/v1/users/{userId}/wishlist
####Add DeviceToken to user
[POST] api/v1/users/{userId}/add_device_token
- token - required
###UserUploads controller
####Store upload of type book
[POST] api/v1/user_uploads/book
- book[title]
- book[authors] - Can be comma separated list of names OR array.
- book[genres] - Can be comma separated list of ids OR array.
- book[isbn_10]
- book[isbn_13]
- book[cover] - image
####Store upload of type image
[POST] api/v1/user_uploads/image
- image - Image upload
####Show
[GET] api/v1/user_uploads/{userUploadId}
####Delete
[DELETE] api/v1/user_uploads/{userUploadId}
###UserWishlists controller
####Store
[POST] api/v1/user_wishlists
- book_id - required, unique
####Delete
[DELETE] api/v1/user_wishlists/{bookId}