-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswagger.yaml
164 lines (161 loc) · 4 KB
/
swagger.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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
openapi: 3.0.0
servers:
- description: Main API
url: http://localhost:3000/api
info:
version: "1.0.0"
title: next-phone-contacts
description: The API for the next-phone-contacts project
paths:
/contacts:
get:
summary: Get all contacts
tags:
- Contacts
description: Gets a list of all contacts
operationId: getContacts
responses:
'200':
description: Returns all contacts
content:
application/json:
schema:
$ref: '#/components/schemas/Contacts'
'default':
description: All the rest of methods
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
summary: Create a new contact
tags:
- Contacts
description: Creates a new contact
operationId: createContact
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
example: 'John Doe'
email:
type: integer
example: 'john@test.com'
phone_mobile:
type: string
example: '+12345'
phone_home:
type: string
example: '+12345'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: 'OK'
'default':
description: All the rest of methods
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/contacts/{id}:
put:
summary: Update a contact by ID
tags:
- Contacts
description: Updates a contact by ID
operationId: updateContact
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Returns an updated contact
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
'default':
description: All the rest of methods
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
summary: Delete a contact by ID
tags:
- Contacts
operationId: deleteContact
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Returns a deleted contact
content:
application/json:
schema:
$ref: "#/components/schemas/Contact"
'default':
description: All the rest of methods
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Contact:
type: object
required:
- id
- name
- email
- phone_mobile
- phone_home
properties:
id:
type: integer
example: 1
name:
type: string
example: 'John Doe'
email:
type: string
example: 'john@test.com'
phone_mobile:
type: string
example: '+12345'
format: \+(\d{1,50})
phone_home:
type: string
example: '+12345'
format: \+(\d{1,50})
Contacts:
type: array
items:
$ref: '#/components/schemas/Contact'
Error:
type: object
required:
- message
properties:
message:
type: string
example: Server side error