Last active
August 29, 2015 14:02
-
-
Save hannahhoward/67119ad9e434ec52eef0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
API documentation | |
Open to all | |
POST /token | |
params: | |
email: users email | |
password: users password | |
response: | |
(with successful email + password) | |
{ | |
"access_token": .... | |
"token_type": 'bearer' | |
} | |
POST /user | |
creates a user | |
params: | |
{ 'user': { | |
'first_name': ... | |
'last_name': ... | |
'email': ... | |
'password': ... | |
'password_confirmation': ... | |
} | |
} | |
response: | |
on successful create: | |
status: 201 | |
body: { | |
'user': { | |
'first_name': ... | |
'last_name': ... | |
'email': ... | |
} | |
} | |
on failed create: | |
status: 422 | |
body (example): { | |
'email': 'is invalid' | |
} | |
Requires Access Token for all listed past this point | |
GET /user | |
get logged in user's info | |
response: { | |
'user': { | |
'first_name': ... | |
'last_name': ... | |
'email': ... | |
} | |
} | |
PUT or PATCH /user | |
update logged in user info | |
params: | |
{ 'user': { | |
'first_name': ... | |
'last_name': ... | |
'email': ... | |
'password': ... | |
'password_confirmation': ... | |
} | |
} | |
response: | |
on successful update: | |
status: 204 | |
no body | |
on failed update: | |
status: 422 | |
body (example): { | |
'email': 'is invalid' | |
} | |
DELETE /user | |
delete currently logged in user | |
response: | |
status: 200 | |
body: none | |
POST /routes | |
create a new route | |
params: | |
{ | |
"route": { | |
"start_address": ... or | |
"start_latitude": ... and | |
"start_longitude": ... | |
"end_address": ... or | |
"end_latitude": ... and | |
"end_longitude": ... | |
} | |
} | |
sample_response: | |
{ | |
"route": { | |
"id": 16, | |
"start_latitude": 34.0128358, | |
"start_longitude": -118.495338, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false, | |
"user_ids": [1], | |
"nearby_route_ids": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] | |
}, | |
"users": [{ | |
"id": 1, | |
"first_name": null, | |
"last_name": null, | |
"email": "hannah@techgirlwonder.com" | |
}], | |
"nearby_routes": [{ | |
"id": 1, | |
"start_latitude": 34.0128358, | |
"start_longitude": -118.495338, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.0, | |
"end_range": 0.0, | |
"angle_diff": 1.27222187258541e-14 | |
}, { | |
"id": 2, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.0, | |
"angle_diff": 0.948937046135892 | |
}, { | |
"id": 3, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 4, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 5, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 6, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 7, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 8, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 9, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 10, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 11, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 12, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 13, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 14, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}, { | |
"id": 15, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false, | |
"start_range": 0.178333607194254, | |
"end_range": 0.426129341966272, | |
"angle_diff": 2.54066395003932 | |
}] | |
} | |
GET /routes/:id | |
gets information on an existing route | |
sample response: | |
{ | |
"users": [{ | |
"id": 1, | |
"first_name": null, | |
"last_name": null, | |
"email": "hannah@techgirlwonder.com" | |
}], | |
"nearby_routes": [{ | |
"id": 1, | |
"start_latitude": 34.0128358, | |
"start_longitude": -118.495338, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 2, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 16, | |
"start_latitude": 34.0128358, | |
"start_longitude": -118.495338, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 4, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 5, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 6, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 7, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 8, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 9, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 10, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 11, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 12, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 13, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 14, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 15, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}, { | |
"id": 3, | |
"start_latitude": 34.01542300000001, | |
"start_longitude": -118.495301, | |
"end_latitude": 34.0395309, | |
"end_longitude": -118.3087276, | |
"in_progress": false, | |
"finished": false | |
}], | |
"route": { | |
"id": 17, | |
"start_latitude": 34.0128358, | |
"start_longitude": -118.495338, | |
"end_latitude": 34.043039, | |
"end_longitude": -118.314843, | |
"in_progress": false, | |
"finished": false, | |
"user_ids": [1], | |
"nearby_route_ids": [1, 2, 16, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3] | |
} | |
} | |
PUT /routes/:id | |
starts a route (so it's in progress) or finishes a route (so it no longer shows in search results) | |
params: { | |
"route": { | |
"in_progress": true | |
"finished": false | |
} | |
} | |
response: | |
successful update | |
status 204, no content | |
unsuccessful update | |
errors in json, status of unprocessable_entity | |
POST /routes/:id/points | |
add a new tracking point for a route that is in progress (this will only work if route is in progress) | |
params: | |
{ | |
"point": { | |
"latitude": ... | |
"longitude": ... | |
} | |
} | |
response: | |
successful create | |
status 201 | |
body | |
{ | |
"point": { | |
"latitude": 34.0480355, | |
"longitude": -118.34141, | |
"route_id": 17 | |
} | |
} | |
not created | |
status 422 (unprocessable entity) | |
errors in json |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To Create User from Terminal:
curl -X POST -H "Content-Type:application/json" -d '{ "user": { "first_name": "YourName", "last_name": "Last name", "email": "email", "password": "enter your password", "password_confirmation": "enter password again"}}' http://domain/user/