forked from openai/plugins-quickstart
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.yaml
163 lines (161 loc) · 4.23 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
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
openapi: 3.0.1
info:
title: Slip Advice Plugin
description: A plugin that allows the user to get advice using ChatGPT.
version: 'v1'
servers:
- url: https://api.adviceslip.com
# - url: http://localhost:5003
paths:
/advice:
get:
operationId: getAdvice
summary: Get random advice
# parameters:
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getAdviceResponse'
/advice/search/{callback}:
get:
operationId: searchAdvice
summary: Search for advice matching specific word. Give user an option to get best advice meaning that you will pick first from list and get it by using it's id.
parameters:
- name: callback
in: path
schema:
type: string
required: true
description: Term that advice must contain
# requestBody:
# required: true
# content:
# application/json:
# schema:
# $ref: '#/components/schemas/searchQuery'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchAdviceResponse'
/advice/{slip_id}:
get:
operationId: getAdviceById
summary: Get selected advice by using identifier.
parameters:
- name: slip_id
in: path
schema:
type: integer
required: true
description: Slip advice identifier.
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getAdviceResponse'
# post:
# operationId: addTodo
# summary: Add a todo to the list
# parameters:
# - in: path
# name: username
# schema:
# type: string
# required: true
# description: The name of the user.
# requestBody:
# required: true
# content:
# application/json:
# schema:
# $ref: '#/components/schemas/addTodoRequest'
# responses:
# "200":
# description: OK
# delete:
# operationId: deleteTodo
# summary: Delete a todo from the list
# parameters:
# - in: path
# name: username
# schema:
# type: string
# required: true
# description: The name of the user.
# requestBody:
# required: true
# content:
# application/json:
# schema:
# $ref: '#/components/schemas/deleteTodoRequest'
# responses:
# "200":
# description: OK
components:
schemas:
getAdviceResponse:
type: object
properties:
slip:
type: object
properties:
id:
type: string
description: Random advice identificator.
advice:
type: string
description: Random advice.
searchAdviceResponse:
type: object
properties:
total_results:
type: integer
description: Number of advices matching query.
query:
type: string
description: Term for matching.
slips:
type: array
items:
type: object
properties:
id:
type: string
description: Matched advice identificator.
advice:
type: string
description: Matched advice.
searchQuery:
type: object
properties:
callback:
type: string
description: The term that advices must contain.
required:
- callback
# addTodoRequest:
# type: object
# required:
# - todo
# properties:
# todo:
# type: string
# description: The todo to add to the list.
# required: true
# deleteTodoRequest:
# type: object
# required:
# - todo_idx
# properties:
# todo_idx:
# type: integer
# description: The index of the todo to delete.
# required: true