-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathkinde-mgmt-api-specs.yaml
221 lines (221 loc) · 7.98 KB
/
kinde-mgmt-api-specs.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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
openapi: 3.0.0
info:
version: 0.0.1
title: Kinde Management API
description: Provides endpoints to manage your Kinde Businesses
termsOfService: https://kinde.com/docs/important-information/terms-of-service
contact:
name: Kinde Support Team
email: [email protected]
url: https://kinde.com/docs
servers:
- url: https://{businessName}.kinde.com/
variables:
businessName:
description: Business Name created in the Kinde Console
default: app
security:
- kindeBearerAuth: []
tags:
- name: Users
description: Everything about your end-users
paths:
/oauth2/user_profile:
get:
tags:
- OAuth
operationId: getUser
description: |
Contains the id, names and email of the currently logged in user
summary: Returns the details of the currently logged in user
responses:
200:
description: A succesful response with the user details
content:
application/json:
schema:
$ref: '#/components/schemas/user_profile'
403:
description: invalid_credentials
/oauth2/v2/user_profile:
get:
tags:
- OAuth
operationId: getUserProfileV2
description: |
Contains the id, names and email of the currently logged in user
summary: Returns the details of the currently logged in user
responses:
200:
description: A succesful response with the user details
content:
application/json:
schema:
$ref: '#/components/schemas/user_profile_v2'
403:
description: invalid_credentials
/api/v1/users:
get:
tags:
- Users
operationId: getUsers
description: |
The returned list can be sorted by full name or email address
in ascending or descending order. The number of records to return at a time can also be controlled using the page_size query
string parameter.
summary: Returns a paginated list of end-user records for a business
parameters:
- name: sort
in: query
description: Describes the field and order to sort the result by
schema:
type: string
nullable: true
enum: [name_asc, name_desc, email_asc, email_desc]
- name: page_size
in: query
description: The number of items to return
schema:
type: integer
nullable: true
- name: user_id
in: query
description: The id of the user to filter by
schema:
type: integer
nullable: true
- name: next_token
in: query
description: A string to get the next page of results if there are more results
schema:
type: string
nullable: true
responses:
200:
description: A succesful response with a list of users or an empty list
content:
application/json:
schema:
$ref: '#/components/schemas/users'
403:
description: invalid_credentials
/api/v1/user:
post:
tags:
- users
operationId: createUser
description: |
Creates a user record and optionally zero or more identities for the user. An example identity could be the email
address of the user
summary: Creates a user record
requestBody:
description: The details of the user to create
required: false
content:
application/json:
schema:
type: object
properties:
profile:
type: object
properties:
given_name:
type: string
family_name:
type: string
identities:
type: array
items:
type: object
properties:
'type':
type: string
details:
type: object
properties:
email:
type: string
responses:
'200':
description: Successfully created a new user
content:
application/json:
schema:
type: object
properties:
id:
type: string
created:
type: boolean
identities:
type: array
items:
$ref: '#/components/schemas/user_identity'
components:
schemas:
users:
type: array
items:
$ref: '#/components/schemas/user'
next_token:
type: string
user:
type: object
properties:
id:
type: integer
email:
type: string
full_name:
type: string
last_name:
type: string
first_name:
type: string
is_suspended:
type: boolean
user_profile:
type: object
properties:
id:
type: string
preferred_email:
type: string
provided_id:
type: string
last_name:
type: string
first_name:
type: string
user_identity:
type: object
properties:
"type":
type: string
result:
type: object
properties:
created:
type: boolean
identity_id:
type: integer
user_profile_v2:
type: object
properties:
id:
type: string
provided_id:
type: string
name:
type: string
given_name:
type: string
family_name:
type: string
updated_at:
type: string
securitySchemes:
kindeBearerAuth:
type: http
scheme: bearer
bearerFormat: JWT