-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yaml
128 lines (119 loc) · 3.13 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
openapi: 3.0.3
servers:
- url: https://ghsponsors.vercel.app
info:
title: GitHub Sponsors API - OpenAPI 3.0
version: 1.0.0
tags:
- name: sponsor
description: Operations on user sponsors
- name: sponsoree
description: Operations on sponsorees
- name: sponsorship
description: Operations on sponsorships
paths:
/api/{user}/sponsor:
get:
tags:
- sponsor
summary: Get user sponsors
description: Returns an array of sponsors for a given user
operationId: getSponsorsByUser
parameters:
- $ref: "#/components/parameters/user"
- $ref: "#/components/parameters/filter"
responses:
"200":
$ref: "#/components/responses/userArray"
"400":
$ref: "#/components/responses/badRequest"
"404":
$ref: "#/components/responses/notFound"
/api/{user}/sponsoree:
get:
tags:
- sponsoree
summary: Get user sponsorees
description: Retrieves a list of usernames who are sponsored by the given user
operationId: getSponsoreesByUser
parameters:
- $ref: "#/components/parameters/user"
- $ref: "#/components/parameters/filter"
responses:
"200":
$ref: "#/components/responses/userArray"
"400":
$ref: "#/components/responses/badRequest"
"404":
$ref: "#/components/responses/notFound"
/api/{user}/sponsor/{sponsor}:
get:
tags:
- sponsorship
summary: Sponsorship check
description: Checks if a given user is being sponsored by another
operationId: checkSponsorship
parameters:
- $ref: "#/components/parameters/user"
- $ref: "#/components/parameters/filter"
- $ref: "#/components/parameters/sponsor"
responses:
"200":
$ref: "#/components/responses/ok"
"400":
$ref: "#/components/responses/badRequest"
"404":
$ref: "#/components/responses/notFound"
components:
schemas:
filter:
type: string
enum: [all, active, inactive]
user:
type: string
pattern: '^[a-z\d](?:[a-z\d]|-(?=[a-z\d])){0,38}$'
userArray:
type: array
items:
$ref: "#/components/schemas/user"
parameters:
filter:
in: query
name: filter
description: Filter sponsorships
schema:
$ref: "#/components/schemas/filter"
user:
in: path
name: user
required: true
description: user to lookup
schema:
$ref: "#/components/schemas/user"
sponsor:
in: path
name: sponsor
required: true
description: sponsor to lookup
schema:
$ref: "#/components/schemas/user"
sponsoree:
in: path
name: sponsoree
required: true
description: sponsoree to lookup
schema:
$ref: "#/components/schemas/user"
responses:
ok:
description: Ok
notFound:
description: Not found
badRequest:
description: Bad request
userArray:
description: Array of users
content:
application/json:
schema:
$ref: "#/components/schemas/userArray"