-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yaml
121 lines (116 loc) · 4.08 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
openapi: "3.1.0"
info:
title: "members-assoc"
description: "Manages and associates our identity with SNS accounts."
version: "0.1.0"
servers:
- url: "http://127.0.0.1:3000"
description: "Local debug environment"
- url: "https://member.approvers.dev"
description: "Deployed production environment"
tags:
- name: "member"
description: "Manipulations about members."
- name: "associations"
description: "Manipulations about links associated to a member."
paths:
/members:
get:
summary: "Get all members list."
tags: ["member"]
deprecated: false
responses:
200:
description: "Success"
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Member"
/members/{discordId}:
get:
summary: "Get a member by its ID on Discord."
tags: ["member"]
deprecated: false
parameters:
- name: discordId
in: path
required: true
schema: { type: string }
example: "279614913129742338"
responses:
200:
description: "Success"
content:
application/json:
schema:
$ref: "#/components/schemas/Member"
404:
description: "Not Found"
/members/{discordId}/associations:
get:
summary: "Retrieves associated links."
tags: ["associations"]
deprecated: false
responses:
200:
description: "Links list"
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/AssociatedLink"
404:
description: "Not Found"
put:
summary: "Replaces associated links with the given list."
tags: ["associations"]
deprecated: false
parameters:
- in: header
name: "Authorization"
description: "Discord OAuth token, which has scope of `identify` and `guilds.members.read`."
deprecated: false
required: true
schema: { type: string }
example: "Bearer <oauth-token>"
requestBody:
description: "List of association link."
required: true
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/AssociatedLink"
delete:
summary: "Deletes all associated links."
tags: ["associations"]
deprecated: false
parameters:
- in: header
name: "Authorization"
description: "Discord OAuth token, which has scope of `identify` and `guilds.members.read`."
deprecated: false
required: true
schema: { type: string }
example: "Bearer <oauth-token>"
components:
schemas:
Member:
type: object
properties:
discordId: { type: string }
username: { type: string }
associatedLinks:
type: array
items:
$ref: "#/components/schemas/AssociatedLink"
AssociatedLink:
type: object
properties:
type: { type: string }
id: { type: string }
name: { type: string }