---
title: "To-dos"
url: "https://kiwi.arashsheyda.me/apis/stoplight-3/versions/8b88146a-3da5-4ca7-8179-7ad4727ac5a1"
---

# To-dos

OpenAPI specification document.

```json
{"openapi":"3.0.0","info":{"title":"To-dos","version":"1.0.0","description":"![](https://i.ibb.co/v3Yt03v/todo-api-background.png)\n\n## 💫 Overview\n\nTo Do API provides a simple way for people to manage their tasks and plan their day. This API can be used to create mobile and web applications.This API is documented using **OpenAPI 3.0**. The implementation lives in this [GitHub repo](https://github.com/stoplight-qa/studio-demo/blob/main/reference/todos/todo.v1.yaml).\n\n### 🧰 Cross-Origin Resource Sharing\nThis API features Cross-Origin Resource Sharing (CORS) implemented in compliance with  [W3C spec](https://www.w3.org/TR/cors/). CORS support is necessary to make calls from the request maker within the API docs.\n\n### 🏁 Trying out your own API Specification\nElements can be used to generate API docs for any OpenAPI document. Replace this OpenAPI with a URL to your own OpenAPI document to get started. ","contact":{"name":"Stoplight Support","email":"support@stoplight.io","url":"https://www.stoplight.io"},"license":{"name":"MIT","url":"https://spdx.org/licenses/MIT"},"termsOfService":"https://stoplight.io/terms/"},"servers":[{"url":"https://todos.stoplight.io","description":"Production"},{"description":"Sandbox","url":"https://todos-sandbox.stoplight.io"}],"security":[{"API Key":[]}],"paths":{"/todos":{"get":{"summary":"List Todos","responses":{"200":{"description":"Returns a list of Todos","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Todos"}},"examples":{"List of Todos":{"$ref":"#/components/examples/multiple-todos"}}}}},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"operationId":"get-todos","description":"Returns a list of todos\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","parameters":[{"$ref":"#/components/parameters/limit"}],"security":[]},"post":{"summary":"Create Todo","operationId":"post-todos","responses":{"201":{"description":"New Todo Created","content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Todos"},"examples":{"Example Todo":{"$ref":"#/components/examples/todo"}}}}},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"description":"This creates a Todo object\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Todos"}}},"description":"Name of the Todo"},"security":[{"API Key":[]}]}},"/todos/{id}":{"get":{"summary":"Get Todo","responses":{"200":{"description":"Returns the Todo for the ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Todos"},"examples":{"Example Todo":{"$ref":"#/components/examples/todo"}}}}},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"operationId":"get-todos-id","description":"Get a single todo using an ID\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","parameters":[],"security":[]},"put":{"summary":"Replace Todo","operationId":"put-todos-id","responses":{"200":{"description":"Todo Updated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Todos"}}},"description":""},"description":"Update a single todo using an ID\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","security":[{"API Key":[]}]},"delete":{"summary":"Delete Todo","operationId":"delete-todos-id","responses":{"200":{"description":"Todo Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Todos"},"examples":{"Example Todo":{"$ref":"#/components/examples/todo"}}}}},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"description":"Delete a todo using an ID\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","security":[{"API Key":[]}]},"patch":{"summary":"Update Todo","operationId":"patch-todos-id","responses":{"200":{"description":"Todo Updated"},"403":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}},"deprecated":true,"description":"Don't use this endpoint. Notice it's deprecated.\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Todos"}}}},"security":[{"API Key":[]}]},"parameters":[{"$ref":"#/components/parameters/ID"}]},"/users":{"get":{"summary":"Get User","tags":["Users"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}},"404":{"$ref":"#/components/responses/NotFound"}},"operationId":"get-users","description":"Get a user by ID\n\n*Markdown is supported in descriptions. Add information here for users to get accustomed to endpoints*","security":[]},"parameters":[],"delete":{"summary":"Delete User","operationId":"delete-users-userID","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"description":"Delete a user by ID","tags":["Users"],"security":[{"API Key":[]}]},"post":{"summary":"Create User","operationId":"post-users-userID","responses":{"201":{"description":"User Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"examples":{"Example User":{"$ref":"#/components/examples/user"}}}}}},"description":"Create a User","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"examples":{}}}},"tags":["Users"],"security":[{"API Key":[]}]}}},"components":{"schemas":{"Todos":{"description":"I'm a model's description.","type":"object","title":"Todo","properties":{"id":{"type":"number","minimum":0,"maximum":9999,"description":"ID of the task","readOnly":true},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Name of the task"},"completed":{"type":"boolean","default":false,"description":"Boolean indicating if the task has been completed or not"},"completed_at":{"type":"string","format":"date-time","description":"Time when the task was completed","readOnly":true},"created_at":{"type":"string","format":"date-time","description":"Time when the task was created","readOnly":true},"updated_at":{"type":"string","format":"date-time","description":"Time when the task was updated","readOnly":true}},"required":["id","name","completed_at","created_at","updated_at"]},"User":{"description":"","type":"object","title":"User","properties":{"userId":{"type":"number","description":"ID of the user","readOnly":true},"firstName":{"type":"string","minLength":1,"description":""},"lastName":{"type":"string","minLength":1,"description":""},"phoneNumber":{"type":"string","minLength":1,"description":"Official Phone Number"},"emailAddress":{"type":"string","minLength":1,"description":"Work Email Address"}},"required":["userId","firstName","lastName","phoneNumber","emailAddress"]}},"securitySchemes":{"API Key":{"name":"apikey","type":"apiKey","in":"query","description":"Just use `123`. It's super secure ;)"}},"parameters":{"limit":{"name":"limit","in":"query","required":false,"schema":{"type":"number"},"description":"Return a limited set of results *I'm a shared parameter. I can be reused in multiple endpoints!*"},"ID":{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"ID of the Todo"}},"responses":{"NotFound":{"description":"Resource not found","content":{"application/json":{"schema":{"title":"Error","type":"object","description":"A standard error object.","x-tags":["Common"],"properties":{"status":{"type":"string","description":"A code."},"error":{"type":"string"}},"required":["status","error"]}}}},"Unauthorized":{"description":"Action not allowed","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}}}},"examples":{"todo":{"value":{"id":0,"name":"string","completed":true,"completed_at":"2019-08-24T14:15:22Z","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}},"multiple-todos":{"value":[{"id":0,"name":"my todo","completed":true,"completed_at":"2019-08-24T14:15:22Z","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"},{"id":1,"name":"another todo","completed":false,"completed_at":"2019-08-24T14:15:22Z","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"},{"id":2,"name":"yet another todo","completed":false,"completed_at":"2019-08-24T14:15:22Z","created_at":"2019-08-24T14:15:22Z","updated_at":"2019-08-24T14:15:22Z"}]},"user":{"value":{"userId":2,"firstName":"racks","lastName":"jacson","phoneNumber":"123456","emailAddress":"racks.jacson@learningcontainer.com"}}}},"tags":[{"name":"Todos"}]}
```
