Users are the principal model implemented here. It is needed to perform any other task in this API.
Users can be created by issuing a POST request to the /users endpoint. An
user is required to have a name. Users with same name are allowed to coexist.
name string
Name of the user being created
API will return the new user record, using the provided name, and a generated ID:
ID string
Unique ID for the created user
name string
The user’s name, as provided through the request
Request
1POST /users 2 3name=Fefo
Response
1{ 2 "id": "FA3901CC-F667-4AA0-8CFE-B6B1C5058DFA", 3 "name": "Fefo" 4}
To get all known users, issue a GET request to /users. The endpoint will
return a list containing all users, together with their IDs
ID string
Unique ID for the created user
name string
The user’s name
Request
1GET /users
Response
1[ 2 { 3 "id": "FA3901CC-F667-4AA0-8CFE-B6B1C5058DFA", 4 "name": "Fefo" 5 }, 6 { 7 "id": "BA77D274-12B1-487D-8C9E-72F0D37BAC05", 8 "name": "Vito" 9 } 10]
In order to create a Task, one must know the User ID to whom the task will belong
to. Knowing that information, issue a POST request to /users/:id/tasks, :id
being replaced with the user’s ID.
title string
A descriptive name for the task. For example, But milk.
The value returned will represent te internal Task object used by the API,
which will contain two extra fields besides title:
id string
A unique value to identify this task among all other tasks
title string
The Task’s title
done bool
Value indicating whether the task has been completed (true) or not (false)
Request
1POST /users/8CD63BEE-CEF3-4CEC-83FD-6E3C2C2A0B47/tasks 2 3title=Buy+Milk
Response
1{ 2 "id": "B0FA0790-9CB0-473F-8E0B-7BD36D6CE867", 3 "title": "Buy Milk", 4 "done": false 5}
Marking a task as completed consists in issuing a PATCH request to /users/:uid/tasks/:id,
which will mark a task with id :id belonging to User :uid as done.
Request
1PATCH /users/8CD63BEE-CEF3-4CEC-83FD-6E3C2C2A0B47/tasks/B0FA0790-9CB0-473F-8E0B-7BD36D6CE867
Response
1{ 2 "id": "B0FA0790-9CB0-473F-8E0B-7BD36D6CE867", 3 "title": "Buy Milk", 4 "done": true 5}
The endpoint /users/:id/tasks is responsible for listing all tasks for a given
user. It also accepts an optional status querystring parameter, used to filter
which kind of tasks to list.
status optional string
Optional parameter to only show tasks in a specific condition.
all
Shows all tasks, independent of their status.
pending
Shows only tasks not marked as completed.
done
Shows only completed tasks.
Response
1[ 2 { 3 "id": "B0FA0790-9CB0-473F-8E0B-7BD36D6CE867", 4 "title": "Buy Milk", 5 "done": true 6 }, 7 { 8 "id": "97FF0CC1-BC1C-4415-ABEA-39666F759EAD", 9 "title": "Check for mail", 10 "done": false 11 }, 12]