forked from pinkycollie/deaf-first-platform
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopenapi.yaml
More file actions
115 lines (105 loc) · 2.7 KB
/
Copy pathopenapi.yaml
File metadata and controls
115 lines (105 loc) · 2.7 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
openapi: 3.1.0
info:
title: DeafAUTH - Identity Cortex
version: 1.0.0
description: Deaf-first authentication and identity layer=.
servers:
- url: https://api.mbtq.dev/auth
security:
- DeafAuthToken: []
components:
securitySchemes:
DeafAuthToken:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
User:
type: object
properties:
id: { type: string }
email: { type: string }
createdAt: { type: string, format: date-time }
AuthToken:
type: object
properties:
accessToken: { type: string }
refreshToken: { type: string }
expiresIn: { type: integer }
Error:
type: object
properties:
error: { type: string }
paths:
/register:
post:
tags: [Auth]
summary: Register new user
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [email, password]
properties:
email: { type: string }
password: { type: string }
responses:
"201":
description: User registered
content:
application/json:
schema: { $ref: "#/components/schemas/User" }
/login:
post:
tags: [Auth]
summary: Login user
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [email, password]
properties:
email: { type: string }
password: { type: string }
responses:
"200":
description: Auth tokens
content:
application/json:
schema: { $ref: "#/components/schemas/AuthToken" }
/verify:
get:
tags: [Auth]
summary: Verify a token
responses:
"200":
description: Token is valid
content:
application/json:
schema:
type: object
properties:
valid: { type: boolean }
/refresh:
post:
tags: [Auth]
summary: Refresh token pair
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [refreshToken]
properties:
refreshToken: { type: string }
responses:
"200":
description: Refreshed auth tokens
content:
application/json:
schema: { $ref: "#/components/schemas/AuthToken" }