-
Notifications
You must be signed in to change notification settings - Fork 0
/
1.0.0_openapi.yaml
155 lines (155 loc) · 3.67 KB
/
1.0.0_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
---
openapi: 3.0.0
info:
title: Zalgo API
description: RESTful Api for captcha generation and validation
contact:
email: abertulla@gmail.com
license:
name: MIT
url: https://www.mit.edu/~amini/LICENSE.md
version: 1.0.0
servers:
- url: https://localhost:3000/v1
description: Local deployment
tags:
- name: captcha
description: provide interface to captcha generation and validation
paths:
/captcha:
put:
tags:
- captcha
summary: grab a new Captcha
operationId: generateCaptcha
responses:
"201":
description: generate a new captcha images
headers:
Expire:
description: The UTC date/time at which the current captcha is persisted.
style: simple
explode: false
schema:
type: string
format: date-time
content:
application/json:
schema:
$ref: '#/components/schemas/PutResponse'
/captcha/{id}:
post:
tags:
- captcha
summary: submit a solution for a previous grabbed captcha
description: Post a solution for a captcha by ID
operationId: postCaptchaSolutionById
parameters:
- name: id
in: path
description: Captcha Id
required: true
style: simple
explode: false
schema:
type: string
format: nanoid
requestBody:
content:
solution:
schema:
type: string
format: string
responses:
"200":
description: Solution valid
content:
application/json:
schema:
$ref: '#/components/schemas/PostResponse'
"422":
description: solution not valid/too many attempts
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
"404":
description: no existing captcha was found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
PutResponse:
required:
- type
- data
type: object
properties:
type:
type: string
example: Success
data:
required:
- id
type: object
properties:
id:
type: string
format: nanoid
example: d290f1ee6c544b0190e6d
attemps:
type: number
example: 5
base64:
type: string
format: binary
PostResponse:
required:
- type
- data
type: object
properties:
type:
type: string
example: Success
data:
required:
- id
type: object
properties:
id:
type: string
format: nanoid
example: d290f1ee6c544b0190e6d
message:
type: string
format: binary
ErrorResponse:
required:
- type
- errors
type: object
properties:
type:
type: string
format: string
example: Error
errors:
type: array
items:
$ref: '#/components/schemas/ErrorItem'
ErrorItem:
type: array
items:
type: object
required:
- message
properties:
message:
type: string
example: "'field' not valid/Too many attemps"
field:
type: string
example: "'field'"