-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.yaml
130 lines (130 loc) · 2.88 KB
/
openapi.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
openapi: 3.0.0
info:
title: Todo API
version: 1.0.0
description: API for managing todos
servers:
- url: http://localhost:5000/api
paths:
/todos:
get:
summary: Get all todos
responses:
'200':
description: A list of todos
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Todo'
post:
summary: Create a new todo
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NewTodo'
responses:
'201':
description: The created todo
content:
application/json:
schema:
$ref: '#/components/schemas/Todo'
/todos/{id}:
get:
summary: Get a todo by ID
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: A single todo
content:
application/json:
schema:
$ref: '#/components/schemas/Todo'
'404':
description: Todo not found
put:
summary: Update a todo by ID
parameters:
- name: id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTodo'
responses:
'200':
description: The updated todo
content:
application/json:
schema:
$ref: '#/components/schemas/Todo'
'404':
description: Todo not found
delete:
summary: Delete a todo by ID
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Todo deleted
content:
application/json:
schema:
type: object
properties:
message:
type: string
'404':
description: Todo not found
components:
schemas:
Todo:
type: object
properties:
id:
type: string
title:
type: string
description:
type: string
completed:
type: boolean
created_at:
type: string
format: date-time
NewTodo:
type: object
required:
- title
properties:
title:
type: string
description:
type: string
UpdateTodo:
type: object
properties:
title:
type: string
description:
type: string
completed:
type: boolean