-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsample_api.yaml
More file actions
159 lines (159 loc) · 3.98 KB
/
sample_api.yaml
File metadata and controls
159 lines (159 loc) · 3.98 KB
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
openapi: 3.0.0
info:
title: Sample API
description: A sample API for demonstrating OpenAPI2MCP
version: 1.0.0
servers:
- url: https://api.example.com/v1
paths:
/users:
get:
summary: Get all users
description: Returns a list of all users in the system
operationId: getUsers
parameters:
- name: limit
in: query
description: Maximum number of users to return
required: false
schema:
type: integer
default: 10
- name: offset
in: query
description: Number of users to skip
required: false
schema:
type: integer
default: 0
responses:
'200':
description: A list of users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
post:
summary: Create a new user
description: Creates a new user in the system
operationId: createUser
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserInput'
responses:
'201':
description: User created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/User'
/users/{userId}:
get:
summary: Get user by ID
description: Returns a single user by ID
operationId: getUserById
parameters:
- name: userId
in: path
description: ID of the user to retrieve
required: true
schema:
type: string
responses:
'200':
description: A user object
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'404':
description: User not found
put:
summary: Update user
description: Updates an existing user
operationId: updateUser
parameters:
- name: userId
in: path
description: ID of the user to update
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserInput'
responses:
'200':
description: User updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'404':
description: User not found
delete:
summary: Delete user
description: Deletes a user from the system
operationId: deleteUser
parameters:
- name: userId
in: path
description: ID of the user to delete
required: true
schema:
type: string
responses:
'204':
description: User deleted successfully
'404':
description: User not found
components:
schemas:
User:
type: object
required:
- id
- name
- email
properties:
id:
type: string
description: Unique identifier for the user
name:
type: string
description: Name of the user
email:
type: string
format: email
description: Email address of the user
role:
type: string
enum: [user, admin]
default: user
description: Role of the user
UserInput:
type: object
required:
- name
- email
properties:
name:
type: string
description: Name of the user
email:
type: string
format: email
description: Email address of the user
role:
type: string
enum: [user, admin]
default: user
description: Role of the user