This document provides a guildlines for CarFinder API.
Note: Every request should contain api/
prefix in URL.
Route | HTTP Medthod | URL Params | Success Response | Error Response | Description |
---|---|---|---|---|---|
user/register/ | POST | n/a | CREATED: 201 |
CONFLICT: 409 |
Creates a new user |
user/confirm/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Confirms a new user creation |
user/signin/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Authorizes an user |
user/forgot/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Sends a confirmation email to an user to restore password |
user/restore/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Restores user password |
user/update-user-data/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Updates user personal information |
user/update-user-settings/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Updates user settings |
user/update-user-image/ | POST | n/a | OK: 200 |
UNAUTHORIZED: 401 |
Updates user avatar |
filter/marks/ | GET | n/a | OK: 200 |
INTERNAL SERVER ERROR: 500 |
Returns an array of all car marks |
filter/bodyTypes/ | GET | n/a | OK: 200 |
INTERNAL SERVER ERROR: 500 |
Returns an array of all car body types |
filter/bodyTypes/ | GET | n/a | OK: 200 |
INTERNAL SERVER ERROR: 500 |
Returns an array of all car body types |
filter/models/ | POST | n/a | OK: 200 |
INTERNAL SERVER ERROR: 500 |
Returns an array of all models for a specified mark |
filter/saved/ | GET | n/a | OK: 200 |
BAD REQUEST: 400 |
Returns an array of all saved filters for a current user |
filter/saved/ | POST | n/a | OK: 200 |
BAD REQUEST: 400 |
Creates new saved filter for a current user |
filter/saved/ | DELETE | all |
OK: 200 |
BAD REQUEST: 400 |
Deletes all saved filters for a current user |
filter/saved/ | DELETE | :id |
OK: 200 |
BAD REQUEST: 400 |
Deletes a specified saved filter for a current user |
posts/ | POST | n/a | OK: 200 |
INTERNAL SERVER ERROR: 500 |
Returns a list of car ads for specified filter parameters |
posts/saved | GET | n/a | OK: 200 |
INTERNAL SERVER ERROR: 500 |
Returns a list of new car ads for all saved filter parameters for a current user |
-
Sign up
- URL:
/api/user/register/
- Method:
POST
- URL Params: None
- Data Params:
{ name: String; email: String; password: String; }
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
409
- Content:
Error Message
- URL:
-
Confirm Email
- URL:
/api/user/confirm/
- Method:
POST
- URL Params: None
- Data Params:
{ token: String; }
- Success Response:
- Code:
200
- Content:
{ token }
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Sign in
- URL:
/api/user/signin/
- Method:
POST
- URL Params: None
- Data Params:
{ email: String; password: String; }
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Forgot Password
- URL:
/api/user/forgot/
- Method:
POST
- URL Params: None
- Data Params:
{ email: String; }
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Restore Password
- URL:
/api/user/restore/
- Method:
POST
- URL Params: None
- Data Params:
{ password: String; token: String; }
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Update User Data
- URL:
/api/user/update-user-data/
- Method:
POST
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params:
{ name: String; email: String; }
- Success Response:
- Code:
200
- Content:
{ token }
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Update User Settings
- URL:
/api/user/update-user-settings/
- Method:
POST
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params:
{ interfaceLanguage: String; subscription: Boolean; }
- Success Response:
- Code:
200
- Content:
{ token }
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Update User Image
- URL:
/api/user/update-user-image/
- Method:
POST
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params:
{ image: String; type: String; }
- Success Response:
- Code:
200
- Content:
{ token }
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Get Car Marks
- URL:
/api/filter/marks/
- Method:
GET
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params: None
- Success Response:
- Code:
200
- Content:
{ [ { _id: String; name: String; }, ... ] }
- Error Response:
- Code:
500
- Content:
Error Message
- URL:
-
Get Car Body Types
- URL:
/api/filter/bodyTypes/
- Method:
GET
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params: None
- Success Response:
- Code:
200
- Content:
{ [ { _id: String; name: String; }, ... ] }
- Error Response:
- Code:
500
- Content:
Error Message
- URL:
-
Get Car Models
- URL:
/api/filter/models/
- Method:
POST
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params:
{ markId: String; }
- Success Response:
- Code:
200
- Content:
{ [ { _id: String; name: String; }, ... ] }
- Error Response:
- Code:
500
- Content:
Error Message
- URL:
-
Get Saved Filters
- URL:
/api/filter/saved/
- Method:
GET
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params: None
- Success Response:
- Code:
200
- Content:
{ [ { _id: String; name: String; url: String; userId: String; markId: String; bodyTypeId: [String, ...]; modelId: [String, ...]; priceFrom: Number; priceTo: Number; yearFrom: Number; yearTo: Number; kmsFrom: Number; kmsTo: Number; }, ... ] }
- Error Response:
- Code:
400
- Content:
Error Message
- URL:
-
Create New Saved Filter
- URL:
/api/filter/saved/
- Method:
POST
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params:
{ name: String; url: String; markId: String; bodyTypeId: [String, ...]; modelId: [String, ...]; priceFrom: Number; priceTo: Number; yearFrom: Number; yearTo: Number; kmsFrom: Number; kmsTo: Number; }
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Delete All Saved Filters
- URL:
/api/filter/saved/all
- Method:
DELETE
- Headers:
authorization: Bearer ${token}
- URL Params:
all
- Data Params: None
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Delete Saved Filter By Id
- URL:
/api/filter/saved/:id
- Method:
DELETE
- Headers:
authorization: Bearer ${token}
- URL Params:
:id
- Data Params: None
- Success Response:
- Code:
200
- Content: None
- Error Response:
- Code:
401
- Content:
Error Message
- URL:
-
Get Car Ads
- URL:
/api/posts/
- Method:
POST
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params:
{ filter: { markId: String; bodyTypeId: [String, ...]; modelId: [String, ...]; priceFrom: Number; priceTo: Number; yearFrom: Number; yearTo: Number; kmsFrom: Number; kmsTo: Number; }, limit: Number; skip: Number; sort: { year: -1 || 1; price: -1 || 1; kms: -1 || 1; } }
- Success Response:
- Code:
200
- Content:
{ [ { _id: String; mark: String; model: String; bodyType: String; description: String; images: [String, ...]; price: Number; kms: Number; year: Number; sourceName: String; sourceUrl: String; }, ... ] }
- Error Response:
- Code:
500
- Content:
Error Message
- URL:
-
Get Car Ads For Saved Filters
- URL:
/api/posts/saved
- Method:
GET
- Headers:
authorization: Bearer ${token}
- URL Params: None
- Data Params: None
- Success Response:
- Code:
200
- Content:
{ filterId: String; filterName: String; filterUrl: String; ads: [ { _id: String; mark: String; model: String; bodyType: String; description: String; images: [String, ...]; price: Number; kms: Number; year: Number; sourceName: String; sourceUrl: String; }, ... ] }
- Error Response:
- Code:
500
- Content:
Error Message
- URL:
- TypeScript
- Koa / Node.js
- MongoDB
- Mocha, Chai