Simple Todo API - Flask Implementation
A Flask server implementation of the Simple Todo API defined in acmetodo.yaml.
Setup
- Install dependencies:
pip install -r requirements.txt
- Run the server:
python app.py
The server will start on http://localhost:5000
API Endpoints
GET /todos- List all todosPOST /todos- Create a new todoGET /todos/{id}- Get a specific todoPUT /todos/{id}- Replace a todoPATCH /todos/{id}- Update a todoDELETE /todos/{id}- Delete a todo
Example Usage
# List all todos
curl http://localhost:5000/todos
# Create a new todo
curl -X POST http://localhost:5000/todos \
-H "Content-Type: application/json" \
-d '{"title": "Buy groceries", "completed": false}'
# Get a specific todo
curl http://localhost:5000/todos/1
# Update a todo
curl -X PATCH http://localhost:5000/todos/1 \
-H "Content-Type: application/json" \
-d '{"completed": true}'
# Delete a todo
curl -X DELETE http://localhost:5000/todos/1
Data Format
Todos have the following structure:
id(integer, read-only) - Unique identifiertitle(string, required) - Todo titlecompleted(boolean, default: false) - Completion statusdueDate(string, optional) - Due date in YYYY-MM-DD format