@faable/auth-sdk 2.7.90 → 2.7.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FaableAuthApi.d.ts +13 -0
- package/dist/api/generated-client.d.ts +141 -32
- package/dist/api/types.d.ts +961 -18
- package/dist/version.js +2 -2
- package/package.json +1 -1
- package/spec/openapi.json +1925 -4
package/dist/api/types.d.ts
CHANGED
|
@@ -4242,6 +4242,213 @@ export interface paths {
|
|
|
4242
4242
|
patch?: never;
|
|
4243
4243
|
trace?: never;
|
|
4244
4244
|
};
|
|
4245
|
+
"/me/grants": {
|
|
4246
|
+
parameters: {
|
|
4247
|
+
query?: never;
|
|
4248
|
+
header?: never;
|
|
4249
|
+
path?: never;
|
|
4250
|
+
cookie?: never;
|
|
4251
|
+
};
|
|
4252
|
+
/**
|
|
4253
|
+
* Apps the signed-in user has connected
|
|
4254
|
+
* @description The live grants of the session user: each app they allowed on the consent screen, what it can do and what they picked (e.g. the project).
|
|
4255
|
+
*/
|
|
4256
|
+
get: {
|
|
4257
|
+
parameters: {
|
|
4258
|
+
query?: never;
|
|
4259
|
+
header?: never;
|
|
4260
|
+
path?: never;
|
|
4261
|
+
cookie?: never;
|
|
4262
|
+
};
|
|
4263
|
+
requestBody?: never;
|
|
4264
|
+
responses: {
|
|
4265
|
+
/** @description Default Response */
|
|
4266
|
+
200: {
|
|
4267
|
+
headers: {
|
|
4268
|
+
[name: string]: unknown;
|
|
4269
|
+
};
|
|
4270
|
+
content: {
|
|
4271
|
+
"application/json": {
|
|
4272
|
+
data: {
|
|
4273
|
+
id: string;
|
|
4274
|
+
client: {
|
|
4275
|
+
name: string;
|
|
4276
|
+
logo_uri?: string;
|
|
4277
|
+
client_uri?: string;
|
|
4278
|
+
metadata_document_url?: string;
|
|
4279
|
+
};
|
|
4280
|
+
resource: string;
|
|
4281
|
+
scopes: string[];
|
|
4282
|
+
options?: {
|
|
4283
|
+
[key: string]: string;
|
|
4284
|
+
};
|
|
4285
|
+
created_at: string;
|
|
4286
|
+
last_used_at?: string;
|
|
4287
|
+
}[];
|
|
4288
|
+
};
|
|
4289
|
+
};
|
|
4290
|
+
};
|
|
4291
|
+
/** @description `not_logged_in` — There is no signed-in session for this request. */
|
|
4292
|
+
401: {
|
|
4293
|
+
headers: {
|
|
4294
|
+
[name: string]: unknown;
|
|
4295
|
+
};
|
|
4296
|
+
content: {
|
|
4297
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4298
|
+
/** @enum {string} */
|
|
4299
|
+
error_code?: "not_logged_in";
|
|
4300
|
+
};
|
|
4301
|
+
};
|
|
4302
|
+
};
|
|
4303
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
4304
|
+
404: {
|
|
4305
|
+
headers: {
|
|
4306
|
+
[name: string]: unknown;
|
|
4307
|
+
};
|
|
4308
|
+
content: {
|
|
4309
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4310
|
+
/** @enum {string} */
|
|
4311
|
+
error_code?: "account_not_found";
|
|
4312
|
+
};
|
|
4313
|
+
};
|
|
4314
|
+
};
|
|
4315
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
4316
|
+
429: {
|
|
4317
|
+
headers: {
|
|
4318
|
+
[name: string]: unknown;
|
|
4319
|
+
};
|
|
4320
|
+
content: {
|
|
4321
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4322
|
+
/** @enum {string} */
|
|
4323
|
+
error_code?: "too_many_requests";
|
|
4324
|
+
};
|
|
4325
|
+
};
|
|
4326
|
+
};
|
|
4327
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
4328
|
+
500: {
|
|
4329
|
+
headers: {
|
|
4330
|
+
[name: string]: unknown;
|
|
4331
|
+
};
|
|
4332
|
+
content: {
|
|
4333
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4334
|
+
/** @enum {string} */
|
|
4335
|
+
error_code?: "internal_error";
|
|
4336
|
+
};
|
|
4337
|
+
};
|
|
4338
|
+
};
|
|
4339
|
+
};
|
|
4340
|
+
};
|
|
4341
|
+
put?: never;
|
|
4342
|
+
post?: never;
|
|
4343
|
+
delete?: never;
|
|
4344
|
+
options?: never;
|
|
4345
|
+
head?: never;
|
|
4346
|
+
patch?: never;
|
|
4347
|
+
trace?: never;
|
|
4348
|
+
};
|
|
4349
|
+
"/me/grants/{grant_id}": {
|
|
4350
|
+
parameters: {
|
|
4351
|
+
query?: never;
|
|
4352
|
+
header?: never;
|
|
4353
|
+
path?: never;
|
|
4354
|
+
cookie?: never;
|
|
4355
|
+
};
|
|
4356
|
+
get?: never;
|
|
4357
|
+
put?: never;
|
|
4358
|
+
post?: never;
|
|
4359
|
+
/**
|
|
4360
|
+
* Disconnect an app
|
|
4361
|
+
* @description Revokes one of the session user’s grants. The app loses access at its next token refresh (within an hour), and has to ask again to reconnect.
|
|
4362
|
+
*/
|
|
4363
|
+
delete: {
|
|
4364
|
+
parameters: {
|
|
4365
|
+
query?: never;
|
|
4366
|
+
header?: never;
|
|
4367
|
+
path: {
|
|
4368
|
+
grant_id: string;
|
|
4369
|
+
};
|
|
4370
|
+
cookie?: never;
|
|
4371
|
+
};
|
|
4372
|
+
requestBody?: never;
|
|
4373
|
+
responses: {
|
|
4374
|
+
/** @description Default Response */
|
|
4375
|
+
200: {
|
|
4376
|
+
headers: {
|
|
4377
|
+
[name: string]: unknown;
|
|
4378
|
+
};
|
|
4379
|
+
content?: never;
|
|
4380
|
+
};
|
|
4381
|
+
/** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
|
|
4382
|
+
400: {
|
|
4383
|
+
headers: {
|
|
4384
|
+
[name: string]: unknown;
|
|
4385
|
+
};
|
|
4386
|
+
content: {
|
|
4387
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4388
|
+
/** @enum {string} */
|
|
4389
|
+
error_code?: "validation_error";
|
|
4390
|
+
};
|
|
4391
|
+
};
|
|
4392
|
+
};
|
|
4393
|
+
/** @description `not_logged_in` — There is no signed-in session for this request. */
|
|
4394
|
+
401: {
|
|
4395
|
+
headers: {
|
|
4396
|
+
[name: string]: unknown;
|
|
4397
|
+
};
|
|
4398
|
+
content: {
|
|
4399
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4400
|
+
/** @enum {string} */
|
|
4401
|
+
error_code?: "not_logged_in";
|
|
4402
|
+
};
|
|
4403
|
+
};
|
|
4404
|
+
};
|
|
4405
|
+
/**
|
|
4406
|
+
* @description `not_found` — The resource does not exist in this account.
|
|
4407
|
+
*
|
|
4408
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
4409
|
+
*/
|
|
4410
|
+
404: {
|
|
4411
|
+
headers: {
|
|
4412
|
+
[name: string]: unknown;
|
|
4413
|
+
};
|
|
4414
|
+
content: {
|
|
4415
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4416
|
+
/** @enum {string} */
|
|
4417
|
+
error_code?: "not_found" | "account_not_found";
|
|
4418
|
+
};
|
|
4419
|
+
};
|
|
4420
|
+
};
|
|
4421
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
4422
|
+
429: {
|
|
4423
|
+
headers: {
|
|
4424
|
+
[name: string]: unknown;
|
|
4425
|
+
};
|
|
4426
|
+
content: {
|
|
4427
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4428
|
+
/** @enum {string} */
|
|
4429
|
+
error_code?: "too_many_requests";
|
|
4430
|
+
};
|
|
4431
|
+
};
|
|
4432
|
+
};
|
|
4433
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
4434
|
+
500: {
|
|
4435
|
+
headers: {
|
|
4436
|
+
[name: string]: unknown;
|
|
4437
|
+
};
|
|
4438
|
+
content: {
|
|
4439
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4440
|
+
/** @enum {string} */
|
|
4441
|
+
error_code?: "internal_error";
|
|
4442
|
+
};
|
|
4443
|
+
};
|
|
4444
|
+
};
|
|
4445
|
+
};
|
|
4446
|
+
};
|
|
4447
|
+
options?: never;
|
|
4448
|
+
head?: never;
|
|
4449
|
+
patch?: never;
|
|
4450
|
+
trace?: never;
|
|
4451
|
+
};
|
|
4245
4452
|
"/me": {
|
|
4246
4453
|
parameters: {
|
|
4247
4454
|
query?: never;
|
|
@@ -4614,6 +4821,26 @@ export interface paths {
|
|
|
4614
4821
|
patch?: never;
|
|
4615
4822
|
trace?: never;
|
|
4616
4823
|
};
|
|
4824
|
+
"/.well-known/oauth-authorization-server": {
|
|
4825
|
+
parameters: {
|
|
4826
|
+
query?: never;
|
|
4827
|
+
header?: never;
|
|
4828
|
+
path?: never;
|
|
4829
|
+
cookie?: never;
|
|
4830
|
+
};
|
|
4831
|
+
/**
|
|
4832
|
+
* OAuth 2.0 Authorization Server Metadata (RFC 8414)
|
|
4833
|
+
* @description The same provider metadata as the OpenID Connect Discovery document, at the RFC 8414 location that OAuth 2.0 and MCP clients query.
|
|
4834
|
+
*/
|
|
4835
|
+
get: operations["oauth/authorizationServerMetadata"];
|
|
4836
|
+
put?: never;
|
|
4837
|
+
post?: never;
|
|
4838
|
+
delete?: never;
|
|
4839
|
+
options?: never;
|
|
4840
|
+
head?: never;
|
|
4841
|
+
patch?: never;
|
|
4842
|
+
trace?: never;
|
|
4843
|
+
};
|
|
4617
4844
|
"/.well-known/jwks.json": {
|
|
4618
4845
|
parameters: {
|
|
4619
4846
|
query?: never;
|
|
@@ -4641,24 +4868,327 @@ export interface paths {
|
|
|
4641
4868
|
path?: never;
|
|
4642
4869
|
cookie?: never;
|
|
4643
4870
|
};
|
|
4644
|
-
/**
|
|
4645
|
-
* OpenID Connect UserInfo endpoint
|
|
4646
|
-
* @description Returns claims about the authenticated User. Authentication is via a Bearer access token (RFC 6750). Returned claims are filtered by the `scope` claim of the access token (OIDC §5.3.2). The response always contains `sub`. See https://openid.net/specs/openid-connect-core-1_0.html#UserInfo.
|
|
4647
|
-
*/
|
|
4648
|
-
get: operations["oauth/userinfo"];
|
|
4649
|
-
put?: never;
|
|
4650
|
-
/**
|
|
4651
|
-
* OpenID Connect UserInfo endpoint (POST)
|
|
4652
|
-
* @description Same as `GET /userinfo`. Provided for clients that prefer to send the Bearer token in a POST body or are required to by spec compliance audits.
|
|
4653
|
-
*/
|
|
4654
|
-
post: operations["oauth/userinfoPost"];
|
|
4871
|
+
/**
|
|
4872
|
+
* OpenID Connect UserInfo endpoint
|
|
4873
|
+
* @description Returns claims about the authenticated User. Authentication is via a Bearer access token (RFC 6750). Returned claims are filtered by the `scope` claim of the access token (OIDC §5.3.2). The response always contains `sub`. See https://openid.net/specs/openid-connect-core-1_0.html#UserInfo.
|
|
4874
|
+
*/
|
|
4875
|
+
get: operations["oauth/userinfo"];
|
|
4876
|
+
put?: never;
|
|
4877
|
+
/**
|
|
4878
|
+
* OpenID Connect UserInfo endpoint (POST)
|
|
4879
|
+
* @description Same as `GET /userinfo`. Provided for clients that prefer to send the Bearer token in a POST body or are required to by spec compliance audits.
|
|
4880
|
+
*/
|
|
4881
|
+
post: operations["oauth/userinfoPost"];
|
|
4882
|
+
delete?: never;
|
|
4883
|
+
options?: never;
|
|
4884
|
+
head?: never;
|
|
4885
|
+
patch?: never;
|
|
4886
|
+
trace?: never;
|
|
4887
|
+
};
|
|
4888
|
+
"/oidc/register": {
|
|
4889
|
+
parameters: {
|
|
4890
|
+
query?: never;
|
|
4891
|
+
header?: never;
|
|
4892
|
+
path?: never;
|
|
4893
|
+
cookie?: never;
|
|
4894
|
+
};
|
|
4895
|
+
get?: never;
|
|
4896
|
+
put?: never;
|
|
4897
|
+
/**
|
|
4898
|
+
* OpenID Connect Dynamic Client Registration
|
|
4899
|
+
* @description Register a new OAuth/OIDC client dynamically (OIDC Dynamic Client Registration 1.0 / RFC 7591). The new client is bound to the Account resolved from the request context. Only when the tenant has `dynamic_client_registration_enabled`; otherwise `registration_disabled` (403).
|
|
4900
|
+
*/
|
|
4901
|
+
post: operations["oauth/register"];
|
|
4902
|
+
delete?: never;
|
|
4903
|
+
options?: never;
|
|
4904
|
+
head?: never;
|
|
4905
|
+
patch?: never;
|
|
4906
|
+
trace?: never;
|
|
4907
|
+
};
|
|
4908
|
+
"/consent/context": {
|
|
4909
|
+
parameters: {
|
|
4910
|
+
query?: never;
|
|
4911
|
+
header?: never;
|
|
4912
|
+
path?: never;
|
|
4913
|
+
cookie?: never;
|
|
4914
|
+
};
|
|
4915
|
+
/**
|
|
4916
|
+
* What the consent screen shows
|
|
4917
|
+
* @description For a login parked on the consent screen: the client asking (name, logo, where it redirects), the user, the API and permissions requested, and — when the API offers one — the choice the user has to make (e.g. which project).
|
|
4918
|
+
*/
|
|
4919
|
+
get: {
|
|
4920
|
+
parameters: {
|
|
4921
|
+
query: {
|
|
4922
|
+
state: string;
|
|
4923
|
+
};
|
|
4924
|
+
header?: never;
|
|
4925
|
+
path?: never;
|
|
4926
|
+
cookie?: never;
|
|
4927
|
+
};
|
|
4928
|
+
requestBody?: never;
|
|
4929
|
+
responses: {
|
|
4930
|
+
/** @description Default Response */
|
|
4931
|
+
200: {
|
|
4932
|
+
headers: {
|
|
4933
|
+
[name: string]: unknown;
|
|
4934
|
+
};
|
|
4935
|
+
content: {
|
|
4936
|
+
"application/json": {
|
|
4937
|
+
account: {
|
|
4938
|
+
name?: string;
|
|
4939
|
+
};
|
|
4940
|
+
client: {
|
|
4941
|
+
name: string;
|
|
4942
|
+
logo_uri?: string;
|
|
4943
|
+
client_uri?: string;
|
|
4944
|
+
redirect_host?: string;
|
|
4945
|
+
localhost_only: boolean;
|
|
4946
|
+
metadata_document_url?: string;
|
|
4947
|
+
};
|
|
4948
|
+
user: {
|
|
4949
|
+
email?: string;
|
|
4950
|
+
name?: string;
|
|
4951
|
+
};
|
|
4952
|
+
resource?: {
|
|
4953
|
+
identifier: string;
|
|
4954
|
+
name: string;
|
|
4955
|
+
};
|
|
4956
|
+
scopes: {
|
|
4957
|
+
value: string;
|
|
4958
|
+
description: string;
|
|
4959
|
+
}[];
|
|
4960
|
+
choice?: {
|
|
4961
|
+
label: string;
|
|
4962
|
+
options: {
|
|
4963
|
+
id: string;
|
|
4964
|
+
name: string;
|
|
4965
|
+
}[];
|
|
4966
|
+
};
|
|
4967
|
+
};
|
|
4968
|
+
};
|
|
4969
|
+
};
|
|
4970
|
+
/**
|
|
4971
|
+
* @description `invalid_state` — The `state` is missing, expired, or does not describe a resumable step.
|
|
4972
|
+
*
|
|
4973
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
4974
|
+
*/
|
|
4975
|
+
400: {
|
|
4976
|
+
headers: {
|
|
4977
|
+
[name: string]: unknown;
|
|
4978
|
+
};
|
|
4979
|
+
content: {
|
|
4980
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4981
|
+
/** @enum {string} */
|
|
4982
|
+
error_code?: "invalid_state" | "validation_error";
|
|
4983
|
+
};
|
|
4984
|
+
};
|
|
4985
|
+
};
|
|
4986
|
+
/**
|
|
4987
|
+
* @description `state_mismatch` — The `state` belongs to another account, session, client or ceremony.
|
|
4988
|
+
*
|
|
4989
|
+
* `session_missing` — The session that started this login no longer exists.
|
|
4990
|
+
*/
|
|
4991
|
+
401: {
|
|
4992
|
+
headers: {
|
|
4993
|
+
[name: string]: unknown;
|
|
4994
|
+
};
|
|
4995
|
+
content: {
|
|
4996
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
4997
|
+
/** @enum {string} */
|
|
4998
|
+
error_code?: "state_mismatch" | "session_missing";
|
|
4999
|
+
};
|
|
5000
|
+
};
|
|
5001
|
+
};
|
|
5002
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
5003
|
+
404: {
|
|
5004
|
+
headers: {
|
|
5005
|
+
[name: string]: unknown;
|
|
5006
|
+
};
|
|
5007
|
+
content: {
|
|
5008
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5009
|
+
/** @enum {string} */
|
|
5010
|
+
error_code?: "account_not_found";
|
|
5011
|
+
};
|
|
5012
|
+
};
|
|
5013
|
+
};
|
|
5014
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
5015
|
+
429: {
|
|
5016
|
+
headers: {
|
|
5017
|
+
[name: string]: unknown;
|
|
5018
|
+
};
|
|
5019
|
+
content: {
|
|
5020
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5021
|
+
/** @enum {string} */
|
|
5022
|
+
error_code?: "too_many_requests";
|
|
5023
|
+
};
|
|
5024
|
+
};
|
|
5025
|
+
};
|
|
5026
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
5027
|
+
500: {
|
|
5028
|
+
headers: {
|
|
5029
|
+
[name: string]: unknown;
|
|
5030
|
+
};
|
|
5031
|
+
content: {
|
|
5032
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5033
|
+
/** @enum {string} */
|
|
5034
|
+
error_code?: "internal_error";
|
|
5035
|
+
};
|
|
5036
|
+
};
|
|
5037
|
+
};
|
|
5038
|
+
/** @description `consent_options_unavailable` — The consent screen could not load the choices from the API being authorized (its `consent_options.url`). Try again in a moment. */
|
|
5039
|
+
502: {
|
|
5040
|
+
headers: {
|
|
5041
|
+
[name: string]: unknown;
|
|
5042
|
+
};
|
|
5043
|
+
content: {
|
|
5044
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5045
|
+
/** @enum {string} */
|
|
5046
|
+
error_code?: "consent_options_unavailable";
|
|
5047
|
+
};
|
|
5048
|
+
};
|
|
5049
|
+
};
|
|
5050
|
+
};
|
|
5051
|
+
};
|
|
5052
|
+
put?: never;
|
|
5053
|
+
post?: never;
|
|
5054
|
+
delete?: never;
|
|
5055
|
+
options?: never;
|
|
5056
|
+
head?: never;
|
|
5057
|
+
patch?: never;
|
|
5058
|
+
trace?: never;
|
|
5059
|
+
};
|
|
5060
|
+
"/consent": {
|
|
5061
|
+
parameters: {
|
|
5062
|
+
query?: never;
|
|
5063
|
+
header?: never;
|
|
5064
|
+
path?: never;
|
|
5065
|
+
cookie?: never;
|
|
5066
|
+
};
|
|
5067
|
+
get?: never;
|
|
5068
|
+
put?: never;
|
|
5069
|
+
/**
|
|
5070
|
+
* Allow or deny a client on the consent screen
|
|
5071
|
+
* @description Records the decision and returns where the browser goes next: on `allow`, on to the client with its code (the grant is remembered, so the screen is not shown again for the same permissions); on `deny`, back to the client with `error=access_denied`. `choice` is required when the consent context offered one, and must be one of its options.
|
|
5072
|
+
*/
|
|
5073
|
+
post: {
|
|
5074
|
+
parameters: {
|
|
5075
|
+
query?: never;
|
|
5076
|
+
header?: never;
|
|
5077
|
+
path?: never;
|
|
5078
|
+
cookie?: never;
|
|
5079
|
+
};
|
|
5080
|
+
requestBody: {
|
|
5081
|
+
content: {
|
|
5082
|
+
"application/json": {
|
|
5083
|
+
state: string;
|
|
5084
|
+
decision: "allow" | "deny";
|
|
5085
|
+
choice?: string;
|
|
5086
|
+
};
|
|
5087
|
+
};
|
|
5088
|
+
};
|
|
5089
|
+
responses: {
|
|
5090
|
+
/** @description Default Response */
|
|
5091
|
+
200: {
|
|
5092
|
+
headers: {
|
|
5093
|
+
[name: string]: unknown;
|
|
5094
|
+
};
|
|
5095
|
+
content: {
|
|
5096
|
+
"application/json": {
|
|
5097
|
+
redirect_url: string;
|
|
5098
|
+
};
|
|
5099
|
+
};
|
|
5100
|
+
};
|
|
5101
|
+
/**
|
|
5102
|
+
* @description `invalid_state` — The `state` is missing, expired, or does not describe a resumable step.
|
|
5103
|
+
*
|
|
5104
|
+
* `consent_choice_invalid` — The choice sent with the consent decision is not one the API offered for this user.
|
|
5105
|
+
*
|
|
5106
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
5107
|
+
*/
|
|
5108
|
+
400: {
|
|
5109
|
+
headers: {
|
|
5110
|
+
[name: string]: unknown;
|
|
5111
|
+
};
|
|
5112
|
+
content: {
|
|
5113
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5114
|
+
/** @enum {string} */
|
|
5115
|
+
error_code?: "invalid_state" | "consent_choice_invalid" | "validation_error";
|
|
5116
|
+
};
|
|
5117
|
+
};
|
|
5118
|
+
};
|
|
5119
|
+
/**
|
|
5120
|
+
* @description `state_mismatch` — The `state` belongs to another account, session, client or ceremony.
|
|
5121
|
+
*
|
|
5122
|
+
* `session_missing` — The session that started this login no longer exists.
|
|
5123
|
+
*/
|
|
5124
|
+
401: {
|
|
5125
|
+
headers: {
|
|
5126
|
+
[name: string]: unknown;
|
|
5127
|
+
};
|
|
5128
|
+
content: {
|
|
5129
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5130
|
+
/** @enum {string} */
|
|
5131
|
+
error_code?: "state_mismatch" | "session_missing";
|
|
5132
|
+
};
|
|
5133
|
+
};
|
|
5134
|
+
};
|
|
5135
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
5136
|
+
404: {
|
|
5137
|
+
headers: {
|
|
5138
|
+
[name: string]: unknown;
|
|
5139
|
+
};
|
|
5140
|
+
content: {
|
|
5141
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5142
|
+
/** @enum {string} */
|
|
5143
|
+
error_code?: "account_not_found";
|
|
5144
|
+
};
|
|
5145
|
+
};
|
|
5146
|
+
};
|
|
5147
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
5148
|
+
429: {
|
|
5149
|
+
headers: {
|
|
5150
|
+
[name: string]: unknown;
|
|
5151
|
+
};
|
|
5152
|
+
content: {
|
|
5153
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5154
|
+
/** @enum {string} */
|
|
5155
|
+
error_code?: "too_many_requests";
|
|
5156
|
+
};
|
|
5157
|
+
};
|
|
5158
|
+
};
|
|
5159
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
5160
|
+
500: {
|
|
5161
|
+
headers: {
|
|
5162
|
+
[name: string]: unknown;
|
|
5163
|
+
};
|
|
5164
|
+
content: {
|
|
5165
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5166
|
+
/** @enum {string} */
|
|
5167
|
+
error_code?: "internal_error";
|
|
5168
|
+
};
|
|
5169
|
+
};
|
|
5170
|
+
};
|
|
5171
|
+
/** @description `consent_options_unavailable` — The consent screen could not load the choices from the API being authorized (its `consent_options.url`). Try again in a moment. */
|
|
5172
|
+
502: {
|
|
5173
|
+
headers: {
|
|
5174
|
+
[name: string]: unknown;
|
|
5175
|
+
};
|
|
5176
|
+
content: {
|
|
5177
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
5178
|
+
/** @enum {string} */
|
|
5179
|
+
error_code?: "consent_options_unavailable";
|
|
5180
|
+
};
|
|
5181
|
+
};
|
|
5182
|
+
};
|
|
5183
|
+
};
|
|
5184
|
+
};
|
|
4655
5185
|
delete?: never;
|
|
4656
5186
|
options?: never;
|
|
4657
5187
|
head?: never;
|
|
4658
5188
|
patch?: never;
|
|
4659
5189
|
trace?: never;
|
|
4660
5190
|
};
|
|
4661
|
-
"/
|
|
5191
|
+
"/oauth/revoke": {
|
|
4662
5192
|
parameters: {
|
|
4663
5193
|
query?: never;
|
|
4664
5194
|
header?: never;
|
|
@@ -4668,10 +5198,10 @@ export interface paths {
|
|
|
4668
5198
|
get?: never;
|
|
4669
5199
|
put?: never;
|
|
4670
5200
|
/**
|
|
4671
|
-
*
|
|
4672
|
-
* @description
|
|
5201
|
+
* Revoke a token (RFC 7009)
|
|
5202
|
+
* @description Revokes a refresh token (and, for a client the End-User had to allow, the grant behind it). Access tokens are short-lived and not revocable; the response is 200 either way, also for an unknown token. The client authenticates as at the token endpoint: `client_secret_basic`, `client_secret_post`, or just `client_id` for a public client.
|
|
4673
5203
|
*/
|
|
4674
|
-
post: operations["oauth/
|
|
5204
|
+
post: operations["oauth/revoke"];
|
|
4675
5205
|
delete?: never;
|
|
4676
5206
|
options?: never;
|
|
4677
5207
|
head?: never;
|
|
@@ -4959,6 +5489,8 @@ export interface components {
|
|
|
4959
5489
|
logout_confirm_required?: boolean;
|
|
4960
5490
|
/** @description When true, anyone can register a client with `POST /oidc/register` (OIDC Dynamic Client Registration / RFC 7591) and the discovery document advertises `registration_endpoint`. Off by default: an open registration lets anyone create a client with their own `redirect_uri`. */
|
|
4961
5491
|
dynamic_client_registration_enabled?: boolean;
|
|
5492
|
+
/** @description When true, /authorize accepts a `client_id` that is an https URL serving a Client ID Metadata Document (the MCP authorization way to identify a client without registering it). Such clients always see the consent screen. Off by default. */
|
|
5493
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
4962
5494
|
/** @description The one host this tenant's OIDC issuer and discovery document are always minted with, regardless of which host actually served the request — must be the account's own platform host or one of its verified custom domains. `/authorize` and `/logout` 302 here from any other host of the tenant. Unset (the default): every URL uses whatever host served the request, as before this field existed. Changing it can invalidate every WebAuthn passkey already enrolled unless `webauthn_rp_id` already covers the new host. */
|
|
4963
5495
|
canonical_host?: string | null;
|
|
4964
5496
|
/** @description AuthAccount creation date */
|
|
@@ -5227,6 +5759,11 @@ export interface components {
|
|
|
5227
5759
|
grant_types?: string[];
|
|
5228
5760
|
response_types?: string[];
|
|
5229
5761
|
token_endpoint_auth_method?: string;
|
|
5762
|
+
/** @description When true, /authorize never issues a code in silence for this client: the End-User approves it on the consent screen first. Set on clients the tenant did not create (Client ID Metadata Documents, dynamic registration). */
|
|
5763
|
+
consent_required?: boolean;
|
|
5764
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
5765
|
+
metadata_document_url?: string;
|
|
5766
|
+
registered_dynamically?: boolean;
|
|
5230
5767
|
application_type?: string;
|
|
5231
5768
|
software_id?: string | null;
|
|
5232
5769
|
software_version?: string | null;
|
|
@@ -6092,6 +6629,24 @@ export interface components {
|
|
|
6092
6629
|
enforce_policies: boolean;
|
|
6093
6630
|
/** @description When true, the API is eligible to be the target of a `refresh_token` (i.e. clients can request `offline_access` against it). */
|
|
6094
6631
|
allow_offline_access: boolean;
|
|
6632
|
+
consent_options?: {
|
|
6633
|
+
/** @description Access token claim that carries the chosen id. */
|
|
6634
|
+
claim: string;
|
|
6635
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
6636
|
+
label: string;
|
|
6637
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
6638
|
+
url: string;
|
|
6639
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
6640
|
+
audience: string;
|
|
6641
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
6642
|
+
scope?: string;
|
|
6643
|
+
} | null;
|
|
6644
|
+
delegation?: {
|
|
6645
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
6646
|
+
client_id: string;
|
|
6647
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
6648
|
+
audience: string;
|
|
6649
|
+
} | null;
|
|
6095
6650
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
6096
6651
|
skip_consent: boolean;
|
|
6097
6652
|
/** @description When true, access_tokens issued for this API carry a `teams` claim listing the slugs of the teams the subject is a member of within the tenant. */
|
|
@@ -6152,6 +6707,24 @@ export interface components {
|
|
|
6152
6707
|
enforce_policies?: boolean;
|
|
6153
6708
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
6154
6709
|
allow_offline_access?: boolean;
|
|
6710
|
+
consent_options?: {
|
|
6711
|
+
/** @description Access token claim that carries the chosen id. */
|
|
6712
|
+
claim: string;
|
|
6713
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
6714
|
+
label: string;
|
|
6715
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
6716
|
+
url: string;
|
|
6717
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
6718
|
+
audience: string;
|
|
6719
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
6720
|
+
scope?: string;
|
|
6721
|
+
};
|
|
6722
|
+
delegation?: {
|
|
6723
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
6724
|
+
client_id: string;
|
|
6725
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
6726
|
+
audience: string;
|
|
6727
|
+
};
|
|
6155
6728
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
6156
6729
|
skip_consent?: boolean;
|
|
6157
6730
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -6181,6 +6754,24 @@ export interface components {
|
|
|
6181
6754
|
enforce_policies?: boolean;
|
|
6182
6755
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
6183
6756
|
allow_offline_access?: boolean;
|
|
6757
|
+
consent_options?: {
|
|
6758
|
+
/** @description Access token claim that carries the chosen id. */
|
|
6759
|
+
claim: string;
|
|
6760
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
6761
|
+
label: string;
|
|
6762
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
6763
|
+
url: string;
|
|
6764
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
6765
|
+
audience: string;
|
|
6766
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
6767
|
+
scope?: string;
|
|
6768
|
+
} | null;
|
|
6769
|
+
delegation?: {
|
|
6770
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
6771
|
+
client_id: string;
|
|
6772
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
6773
|
+
audience: string;
|
|
6774
|
+
} | null;
|
|
6184
6775
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
6185
6776
|
skip_consent?: boolean;
|
|
6186
6777
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -7019,7 +7610,7 @@ export interface components {
|
|
|
7019
7610
|
};
|
|
7020
7611
|
ClientRegistrationResponse: {
|
|
7021
7612
|
client_id: string;
|
|
7022
|
-
client_secret
|
|
7613
|
+
client_secret?: string;
|
|
7023
7614
|
/** @description Unix timestamp (seconds) at which the client_id was issued */
|
|
7024
7615
|
client_id_issued_at: number;
|
|
7025
7616
|
/** @description 0 if the client_secret does not expire */
|
|
@@ -7193,6 +7784,7 @@ export interface components {
|
|
|
7193
7784
|
webauthn_rp_id?: string | null;
|
|
7194
7785
|
logout_confirm_required?: boolean | null;
|
|
7195
7786
|
dynamic_client_registration_enabled?: boolean | null;
|
|
7787
|
+
client_id_metadata_documents_enabled?: boolean | null;
|
|
7196
7788
|
canonical_host?: string | null;
|
|
7197
7789
|
login_flow?: string | null;
|
|
7198
7790
|
};
|
|
@@ -7403,6 +7995,8 @@ export interface components {
|
|
|
7403
7995
|
* - `invite_used` (400): The invite was already accepted.
|
|
7404
7996
|
* - `already_member` (400): The user is already a member of the team.
|
|
7405
7997
|
* - `not_a_member` (404): The user is not a member of the team.
|
|
7998
|
+
* - `consent_options_unavailable` (502): The consent screen could not load the choices from the API being authorized (its `consent_options.url`). Try again in a moment.
|
|
7999
|
+
* - `consent_choice_invalid` (400): The choice sent with the consent decision is not one the API offered for this user.
|
|
7406
8000
|
* - `registration_disabled` (403): Dynamic client registration is turned off for this tenant. Create the client from the dashboard or the Management API, or turn on `dynamic_client_registration_enabled`.
|
|
7407
8001
|
* - `invalid_email_domain` (400): Not an email domain this organization can claim: it must be a plain domain name (`acme.com`), lowercase, without scheme, path or wildcard.
|
|
7408
8002
|
* - `public_email_domain` (400): A public email provider (gmail.com, outlook.com…) cannot belong to an organization: anyone can have an address there.
|
|
@@ -7430,7 +8024,7 @@ export interface components {
|
|
|
7430
8024
|
* - `delivery_in_progress` (409): The delivery is being attempted right now; retry the redeliver in a minute.
|
|
7431
8025
|
* @enum {string}
|
|
7432
8026
|
*/
|
|
7433
|
-
ErrorCode: "bad_request" | "validation_error" | "unauthorized" | "payment_required" | "forbidden" | "not_found" | "method_not_allowed" | "conflict" | "payload_too_large" | "unsupported_media_type" | "unprocessable_entity" | "too_many_requests" | "internal_error" | "already_exists" | "invalid_id" | "account_not_found" | "invalid_query" | "search_not_supported" | "invalid_expand" | "access_denied" | "insufficient_scope" | "team_required" | "account_limit_reached" | "invalid_project_id" | "account_transfer_refused" | "email_sender_domain_not_allowed" | "plan_required" | "invalid_canonical_host" | "canonical_host_breaks_passkeys" | "not_logged_in" | "session_already_revoked" | "invalid_token" | "not_owner" | "user_suspended" | "invalid_credentials" | "login_denied" | "signup_denied" | "client_credentials_denied" | "m2m_quota_exceeded" | "signup_disabled" | "email_taken" | "username_taken" | "invalid_username" | "invalid_email" | "invalid_name" | "same_email" | "user_has_no_email" | "password_too_weak" | "invalid_password_hash" | "weak_password_hash" | "invalid_code" | "invalid_phone" | "phone_changed" | "phone_already_verified" | "sms_unavailable" | "sms_failed" | "invalid_state" | "state_mismatch" | "invalid_ticket" | "ticket_used" | "ticket_expired" | "ticket_not_found" | "credential_not_found" | "invalid_link" | "expired_link" | "invalid_otp" | "invalid_client" | "client_not_found" | "client_mismatch" | "invalid_client_metadata" | "invalid_connection" | "no_database_connection" | "connection_required" | "connection_misconfigured" | "passwordless_unavailable" | "ambiguous_connection" | "invalid_redirect_uri" | "origin_not_allowed" | "audience_not_found" | "system_resource" | "invalid_request" | "invalid_device_code" | "provider_error" | "identity_already_linked" | "identity_link_denied" | "identity_conflict" | "identity_orphaned" | "no_provider_token" | "no_refresh_token" | "action_unavailable" | "login_flow_misconfigured" | "mfa_required" | "step_up_required" | "interaction_required" | "passkey_login_disabled" | "mfa_pending" | "mfa_invalid_code" | "mfa_invalid_recovery_code" | "too_many_attempts" | "too_many_login_attempts" | "totp_not_allowed" | "no_usable_factor" | "factor_not_found" | "factor_already_confirmed" | "invalid_factor" | "session_missing" | "passkey_verification_failed" | "no_passkey_enrolled" | "malformed_credential" | "unknown_passkey" | "invalid_passkey" | "invalid_invite_url" | "invite_email_mismatch" | "invite_email_unverified" | "invite_not_found" | "invite_used" | "already_member" | "not_a_member" | "registration_disabled" | "invalid_email_domain" | "public_email_domain" | "organization_domain_not_found" | "organization_domain_taken" | "organization_domain_unverified" | "plan_unavailable" | "organization_domain_mismatch" | "team_not_in_organization" | "organization_has_no_idp" | "organization_not_found" | "invalid_user" | "not_an_organization_admin" | "last_organization_admin" | "team_id_unavailable" | "use_team_member_route" | "role_not_found" | "invalid_role" | "flow_not_found" | "revision_not_found" | "invalid_webhook_event" | "invalid_webhook_url" | "not_a_webhook" | "delivery_not_found" | "delivery_in_progress";
|
|
8027
|
+
ErrorCode: "bad_request" | "validation_error" | "unauthorized" | "payment_required" | "forbidden" | "not_found" | "method_not_allowed" | "conflict" | "payload_too_large" | "unsupported_media_type" | "unprocessable_entity" | "too_many_requests" | "internal_error" | "already_exists" | "invalid_id" | "account_not_found" | "invalid_query" | "search_not_supported" | "invalid_expand" | "access_denied" | "insufficient_scope" | "team_required" | "account_limit_reached" | "invalid_project_id" | "account_transfer_refused" | "email_sender_domain_not_allowed" | "plan_required" | "invalid_canonical_host" | "canonical_host_breaks_passkeys" | "not_logged_in" | "session_already_revoked" | "invalid_token" | "not_owner" | "user_suspended" | "invalid_credentials" | "login_denied" | "signup_denied" | "client_credentials_denied" | "m2m_quota_exceeded" | "signup_disabled" | "email_taken" | "username_taken" | "invalid_username" | "invalid_email" | "invalid_name" | "same_email" | "user_has_no_email" | "password_too_weak" | "invalid_password_hash" | "weak_password_hash" | "invalid_code" | "invalid_phone" | "phone_changed" | "phone_already_verified" | "sms_unavailable" | "sms_failed" | "invalid_state" | "state_mismatch" | "invalid_ticket" | "ticket_used" | "ticket_expired" | "ticket_not_found" | "credential_not_found" | "invalid_link" | "expired_link" | "invalid_otp" | "invalid_client" | "client_not_found" | "client_mismatch" | "invalid_client_metadata" | "invalid_connection" | "no_database_connection" | "connection_required" | "connection_misconfigured" | "passwordless_unavailable" | "ambiguous_connection" | "invalid_redirect_uri" | "origin_not_allowed" | "audience_not_found" | "system_resource" | "invalid_request" | "invalid_device_code" | "provider_error" | "identity_already_linked" | "identity_link_denied" | "identity_conflict" | "identity_orphaned" | "no_provider_token" | "no_refresh_token" | "action_unavailable" | "login_flow_misconfigured" | "mfa_required" | "step_up_required" | "interaction_required" | "passkey_login_disabled" | "mfa_pending" | "mfa_invalid_code" | "mfa_invalid_recovery_code" | "too_many_attempts" | "too_many_login_attempts" | "totp_not_allowed" | "no_usable_factor" | "factor_not_found" | "factor_already_confirmed" | "invalid_factor" | "session_missing" | "passkey_verification_failed" | "no_passkey_enrolled" | "malformed_credential" | "unknown_passkey" | "invalid_passkey" | "invalid_invite_url" | "invite_email_mismatch" | "invite_email_unverified" | "invite_not_found" | "invite_used" | "already_member" | "not_a_member" | "consent_options_unavailable" | "consent_choice_invalid" | "registration_disabled" | "invalid_email_domain" | "public_email_domain" | "organization_domain_not_found" | "organization_domain_taken" | "organization_domain_unverified" | "plan_unavailable" | "organization_domain_mismatch" | "team_not_in_organization" | "organization_has_no_idp" | "organization_not_found" | "invalid_user" | "not_an_organization_admin" | "last_organization_admin" | "team_id_unavailable" | "use_team_member_route" | "role_not_found" | "invalid_role" | "flow_not_found" | "revision_not_found" | "invalid_webhook_event" | "invalid_webhook_url" | "not_a_webhook" | "delivery_not_found" | "delivery_in_progress";
|
|
7434
8028
|
/** @description Every error response has this shape. Branch on `error_code`, never on `message`: the message is written for a person and may change. */
|
|
7435
8029
|
ErrorResponse: {
|
|
7436
8030
|
/** @description The HTTP status, repeated. */
|
|
@@ -7592,6 +8186,8 @@ export interface operations {
|
|
|
7592
8186
|
logout_confirm_required?: boolean;
|
|
7593
8187
|
/** @description When true, anyone can register a client with `POST /oidc/register` (OIDC Dynamic Client Registration / RFC 7591) and the discovery document advertises `registration_endpoint`. Off by default: an open registration lets anyone create a client with their own `redirect_uri`. */
|
|
7594
8188
|
dynamic_client_registration_enabled?: boolean;
|
|
8189
|
+
/** @description When true, /authorize accepts a `client_id` that is an https URL serving a Client ID Metadata Document (the MCP authorization way to identify a client without registering it). Such clients always see the consent screen. Off by default. */
|
|
8190
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
7595
8191
|
/** @description The one host this tenant's OIDC issuer and discovery document are always minted with, regardless of which host actually served the request — must be the account's own platform host or one of its verified custom domains. `/authorize` and `/logout` 302 here from any other host of the tenant. Unset (the default): every URL uses whatever host served the request, as before this field existed. Changing it can invalidate every WebAuthn passkey already enrolled unless `webauthn_rp_id` already covers the new host. */
|
|
7596
8192
|
canonical_host?: string | null;
|
|
7597
8193
|
/** @description AuthAccount creation date */
|
|
@@ -7949,6 +8545,8 @@ export interface operations {
|
|
|
7949
8545
|
logout_confirm_required?: boolean;
|
|
7950
8546
|
/** @description When true, anyone can register a client with `POST /oidc/register` (OIDC Dynamic Client Registration / RFC 7591) and the discovery document advertises `registration_endpoint`. Off by default: an open registration lets anyone create a client with their own `redirect_uri`. */
|
|
7951
8547
|
dynamic_client_registration_enabled?: boolean;
|
|
8548
|
+
/** @description When true, /authorize accepts a `client_id` that is an https URL serving a Client ID Metadata Document (the MCP authorization way to identify a client without registering it). Such clients always see the consent screen. Off by default. */
|
|
8549
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
7952
8550
|
/** @description The one host this tenant's OIDC issuer and discovery document are always minted with, regardless of which host actually served the request — must be the account's own platform host or one of its verified custom domains. `/authorize` and `/logout` 302 here from any other host of the tenant. Unset (the default): every URL uses whatever host served the request, as before this field existed. Changing it can invalidate every WebAuthn passkey already enrolled unless `webauthn_rp_id` already covers the new host. */
|
|
7953
8551
|
canonical_host?: string | null;
|
|
7954
8552
|
/** @description AuthAccount creation date */
|
|
@@ -8194,6 +8792,8 @@ export interface operations {
|
|
|
8194
8792
|
logout_confirm_required?: boolean;
|
|
8195
8793
|
/** @description When true, anyone can register a client with `POST /oidc/register` (OIDC Dynamic Client Registration / RFC 7591) and the discovery document advertises `registration_endpoint`. Off by default: an open registration lets anyone create a client with their own `redirect_uri`. */
|
|
8196
8794
|
dynamic_client_registration_enabled?: boolean;
|
|
8795
|
+
/** @description When true, /authorize accepts a `client_id` that is an https URL serving a Client ID Metadata Document (the MCP authorization way to identify a client without registering it). Such clients always see the consent screen. Off by default. */
|
|
8796
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
8197
8797
|
/** @description The one host this tenant's OIDC issuer and discovery document are always minted with, regardless of which host actually served the request — must be the account's own platform host or one of its verified custom domains. `/authorize` and `/logout` 302 here from any other host of the tenant. Unset (the default): every URL uses whatever host served the request, as before this field existed. Changing it can invalidate every WebAuthn passkey already enrolled unless `webauthn_rp_id` already covers the new host. */
|
|
8198
8798
|
canonical_host?: string | null;
|
|
8199
8799
|
/** @description AuthAccount creation date */
|
|
@@ -8387,6 +8987,7 @@ export interface operations {
|
|
|
8387
8987
|
webauthn_rp_id?: string | null;
|
|
8388
8988
|
logout_confirm_required?: boolean | null;
|
|
8389
8989
|
dynamic_client_registration_enabled?: boolean | null;
|
|
8990
|
+
client_id_metadata_documents_enabled?: boolean | null;
|
|
8390
8991
|
canonical_host?: string | null;
|
|
8391
8992
|
login_flow?: string | null;
|
|
8392
8993
|
};
|
|
@@ -8515,6 +9116,8 @@ export interface operations {
|
|
|
8515
9116
|
logout_confirm_required?: boolean;
|
|
8516
9117
|
/** @description When true, anyone can register a client with `POST /oidc/register` (OIDC Dynamic Client Registration / RFC 7591) and the discovery document advertises `registration_endpoint`. Off by default: an open registration lets anyone create a client with their own `redirect_uri`. */
|
|
8517
9118
|
dynamic_client_registration_enabled?: boolean;
|
|
9119
|
+
/** @description When true, /authorize accepts a `client_id` that is an https URL serving a Client ID Metadata Document (the MCP authorization way to identify a client without registering it). Such clients always see the consent screen. Off by default. */
|
|
9120
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
8518
9121
|
/** @description The one host this tenant's OIDC issuer and discovery document are always minted with, regardless of which host actually served the request — must be the account's own platform host or one of its verified custom domains. `/authorize` and `/logout` 302 here from any other host of the tenant. Unset (the default): every URL uses whatever host served the request, as before this field existed. Changing it can invalidate every WebAuthn passkey already enrolled unless `webauthn_rp_id` already covers the new host. */
|
|
8519
9122
|
canonical_host?: string | null;
|
|
8520
9123
|
/** @description AuthAccount creation date */
|
|
@@ -8828,6 +9431,10 @@ export interface operations {
|
|
|
8828
9431
|
* @default 900
|
|
8829
9432
|
*/
|
|
8830
9433
|
ttl?: number;
|
|
9434
|
+
/** @description Narrow the token to these management scopes (each must be in the catalog). Omitted: the whole catalog. */
|
|
9435
|
+
scopes?: string[];
|
|
9436
|
+
/** @description Set when the user acts through one of their deploy API keys (the hosted MCP). Recorded in the audit log and as `via_apikey` in the token. */
|
|
9437
|
+
apikey_id?: string;
|
|
8831
9438
|
};
|
|
8832
9439
|
};
|
|
8833
9440
|
};
|
|
@@ -9779,6 +10386,8 @@ export interface operations {
|
|
|
9779
10386
|
logout_confirm_required?: boolean;
|
|
9780
10387
|
/** @description When true, anyone can register a client with `POST /oidc/register` (OIDC Dynamic Client Registration / RFC 7591) and the discovery document advertises `registration_endpoint`. Off by default: an open registration lets anyone create a client with their own `redirect_uri`. */
|
|
9781
10388
|
dynamic_client_registration_enabled?: boolean;
|
|
10389
|
+
/** @description When true, /authorize accepts a `client_id` that is an https URL serving a Client ID Metadata Document (the MCP authorization way to identify a client without registering it). Such clients always see the consent screen. Off by default. */
|
|
10390
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
9782
10391
|
/** @description The one host this tenant's OIDC issuer and discovery document are always minted with, regardless of which host actually served the request — must be the account's own platform host or one of its verified custom domains. `/authorize` and `/logout` 302 here from any other host of the tenant. Unset (the default): every URL uses whatever host served the request, as before this field existed. Changing it can invalidate every WebAuthn passkey already enrolled unless `webauthn_rp_id` already covers the new host. */
|
|
9783
10392
|
canonical_host?: string | null;
|
|
9784
10393
|
/** @description AuthAccount creation date */
|
|
@@ -9887,6 +10496,8 @@ export interface operations {
|
|
|
9887
10496
|
enabled?: string;
|
|
9888
10497
|
/** @description Exact match on `category`. Equivalent to `?query=category:<value>`. */
|
|
9889
10498
|
category?: string;
|
|
10499
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
10500
|
+
count?: boolean;
|
|
9890
10501
|
/** @description Filter using a FaableQL query */
|
|
9891
10502
|
query?: string;
|
|
9892
10503
|
/** @description Full-text search across: `connection_name`, `connection_type`. */
|
|
@@ -9907,6 +10518,8 @@ export interface operations {
|
|
|
9907
10518
|
"application/json": {
|
|
9908
10519
|
next: string | null;
|
|
9909
10520
|
results: components["schemas"]["Connection"][];
|
|
10521
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
10522
|
+
total?: number;
|
|
9910
10523
|
};
|
|
9911
10524
|
};
|
|
9912
10525
|
};
|
|
@@ -11153,6 +11766,8 @@ export interface operations {
|
|
|
11153
11766
|
cursor?: string;
|
|
11154
11767
|
/** @description Cursor returned by the previous page */
|
|
11155
11768
|
next?: string;
|
|
11769
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
11770
|
+
count?: boolean;
|
|
11156
11771
|
/** @description Filter using a FaableQL query */
|
|
11157
11772
|
query?: string;
|
|
11158
11773
|
/** @description Full-text search across: `name`, `description`, `client_id`. */
|
|
@@ -11173,6 +11788,8 @@ export interface operations {
|
|
|
11173
11788
|
"application/json": {
|
|
11174
11789
|
next: string | null;
|
|
11175
11790
|
results: components["schemas"]["Client"][];
|
|
11791
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
11792
|
+
total?: number;
|
|
11176
11793
|
};
|
|
11177
11794
|
};
|
|
11178
11795
|
};
|
|
@@ -11324,6 +11941,11 @@ export interface operations {
|
|
|
11324
11941
|
grant_types?: string[];
|
|
11325
11942
|
response_types?: string[];
|
|
11326
11943
|
token_endpoint_auth_method?: string;
|
|
11944
|
+
/** @description When true, /authorize never issues a code in silence for this client: the End-User approves it on the consent screen first. Set on clients the tenant did not create (Client ID Metadata Documents, dynamic registration). */
|
|
11945
|
+
consent_required?: boolean;
|
|
11946
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
11947
|
+
metadata_document_url?: string;
|
|
11948
|
+
registered_dynamically?: boolean;
|
|
11327
11949
|
application_type?: string;
|
|
11328
11950
|
software_id?: string | null;
|
|
11329
11951
|
software_version?: string | null;
|
|
@@ -11524,6 +12146,11 @@ export interface operations {
|
|
|
11524
12146
|
grant_types?: string[];
|
|
11525
12147
|
response_types?: string[];
|
|
11526
12148
|
token_endpoint_auth_method?: string;
|
|
12149
|
+
/** @description When true, /authorize never issues a code in silence for this client: the End-User approves it on the consent screen first. Set on clients the tenant did not create (Client ID Metadata Documents, dynamic registration). */
|
|
12150
|
+
consent_required?: boolean;
|
|
12151
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12152
|
+
metadata_document_url?: string;
|
|
12153
|
+
registered_dynamically?: boolean;
|
|
11527
12154
|
application_type?: string;
|
|
11528
12155
|
software_id?: string | null;
|
|
11529
12156
|
software_version?: string | null;
|
|
@@ -11819,6 +12446,11 @@ export interface operations {
|
|
|
11819
12446
|
grant_types?: string[];
|
|
11820
12447
|
response_types?: string[];
|
|
11821
12448
|
token_endpoint_auth_method?: string;
|
|
12449
|
+
/** @description When true, /authorize never issues a code in silence for this client: the End-User approves it on the consent screen first. Set on clients the tenant did not create (Client ID Metadata Documents, dynamic registration). */
|
|
12450
|
+
consent_required?: boolean;
|
|
12451
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12452
|
+
metadata_document_url?: string;
|
|
12453
|
+
registered_dynamically?: boolean;
|
|
11822
12454
|
application_type?: string;
|
|
11823
12455
|
software_id?: string | null;
|
|
11824
12456
|
software_version?: string | null;
|
|
@@ -12025,6 +12657,11 @@ export interface operations {
|
|
|
12025
12657
|
grant_types?: string[];
|
|
12026
12658
|
response_types?: string[];
|
|
12027
12659
|
token_endpoint_auth_method?: string;
|
|
12660
|
+
/** @description When true, /authorize never issues a code in silence for this client: the End-User approves it on the consent screen first. Set on clients the tenant did not create (Client ID Metadata Documents, dynamic registration). */
|
|
12661
|
+
consent_required?: boolean;
|
|
12662
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12663
|
+
metadata_document_url?: string;
|
|
12664
|
+
registered_dynamically?: boolean;
|
|
12028
12665
|
application_type?: string;
|
|
12029
12666
|
software_id?: string | null;
|
|
12030
12667
|
software_version?: string | null;
|
|
@@ -12229,6 +12866,11 @@ export interface operations {
|
|
|
12229
12866
|
grant_types?: string[];
|
|
12230
12867
|
response_types?: string[];
|
|
12231
12868
|
token_endpoint_auth_method?: string;
|
|
12869
|
+
/** @description When true, /authorize never issues a code in silence for this client: the End-User approves it on the consent screen first. Set on clients the tenant did not create (Client ID Metadata Documents, dynamic registration). */
|
|
12870
|
+
consent_required?: boolean;
|
|
12871
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12872
|
+
metadata_document_url?: string;
|
|
12873
|
+
registered_dynamically?: boolean;
|
|
12232
12874
|
application_type?: string;
|
|
12233
12875
|
software_id?: string | null;
|
|
12234
12876
|
software_version?: string | null;
|
|
@@ -12412,6 +13054,18 @@ export interface operations {
|
|
|
12412
13054
|
email_verified?: string;
|
|
12413
13055
|
/** @description Exact match on `suspended`. Equivalent to `?query=suspended:<value>`. */
|
|
12414
13056
|
suspended?: string;
|
|
13057
|
+
/** @description Exact match on `last_login_since`. Equivalent to `?query=last_login_since:<value>`. */
|
|
13058
|
+
last_login_since?: string;
|
|
13059
|
+
/** @description Exact match on `last_login_until`. Equivalent to `?query=last_login_until:<value>`. */
|
|
13060
|
+
last_login_until?: string;
|
|
13061
|
+
/** @description Exact match on `created_since`. Equivalent to `?query=created_since:<value>`. */
|
|
13062
|
+
created_since?: string;
|
|
13063
|
+
/** @description Exact match on `created_until`. Equivalent to `?query=created_until:<value>`. */
|
|
13064
|
+
created_until?: string;
|
|
13065
|
+
/** @description Sort by one field: `<field>` ascending, `-<field>` descending. One of: createdAt, last_login, logins_count. Rows with no value in that field are left out. Default: `-createdAt`. */
|
|
13066
|
+
sort?: string;
|
|
13067
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
13068
|
+
count?: boolean;
|
|
12415
13069
|
/** @description Filter using a FaableQL query */
|
|
12416
13070
|
query?: string;
|
|
12417
13071
|
/** @description Full-text search across: `name`, `email`, `phone`. */
|
|
@@ -12432,6 +13086,8 @@ export interface operations {
|
|
|
12432
13086
|
"application/json": {
|
|
12433
13087
|
next: string | null;
|
|
12434
13088
|
results: components["schemas"]["User"][];
|
|
13089
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
13090
|
+
total?: number;
|
|
12435
13091
|
};
|
|
12436
13092
|
};
|
|
12437
13093
|
};
|
|
@@ -15290,6 +15946,8 @@ export interface operations {
|
|
|
15290
15946
|
provider?: string;
|
|
15291
15947
|
/** @description Exact match on `created_at`. Equivalent to `?query=created_at:<value>`. */
|
|
15292
15948
|
created_at?: string;
|
|
15949
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
15950
|
+
count?: boolean;
|
|
15293
15951
|
/** @description Filter using a FaableQL query */
|
|
15294
15952
|
query?: string;
|
|
15295
15953
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -15310,6 +15968,8 @@ export interface operations {
|
|
|
15310
15968
|
"application/json": {
|
|
15311
15969
|
next: string | null;
|
|
15312
15970
|
results: components["schemas"]["Identity"][];
|
|
15971
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
15972
|
+
total?: number;
|
|
15313
15973
|
};
|
|
15314
15974
|
};
|
|
15315
15975
|
};
|
|
@@ -15947,6 +16607,8 @@ export interface operations {
|
|
|
15947
16607
|
username?: string;
|
|
15948
16608
|
/** @description Exact match on `created_at`. Equivalent to `?query=created_at:<value>`. */
|
|
15949
16609
|
created_at?: string;
|
|
16610
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
16611
|
+
count?: boolean;
|
|
15950
16612
|
/** @description Filter using a FaableQL query */
|
|
15951
16613
|
query?: string;
|
|
15952
16614
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -15969,6 +16631,8 @@ export interface operations {
|
|
|
15969
16631
|
"application/json": {
|
|
15970
16632
|
next: string | null;
|
|
15971
16633
|
results: components["schemas"]["Credential"][];
|
|
16634
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
16635
|
+
total?: number;
|
|
15972
16636
|
};
|
|
15973
16637
|
};
|
|
15974
16638
|
};
|
|
@@ -16756,6 +17420,8 @@ export interface operations {
|
|
|
16756
17420
|
cursor?: string;
|
|
16757
17421
|
/** @description Cursor returned by the previous page */
|
|
16758
17422
|
next?: string;
|
|
17423
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
17424
|
+
count?: boolean;
|
|
16759
17425
|
/** @description Filter using a FaableQL query */
|
|
16760
17426
|
query?: string;
|
|
16761
17427
|
/** @description Full-text search across: `name`, `description`. */
|
|
@@ -16776,6 +17442,8 @@ export interface operations {
|
|
|
16776
17442
|
"application/json": {
|
|
16777
17443
|
next: string | null;
|
|
16778
17444
|
results: components["schemas"]["Role"][];
|
|
17445
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
17446
|
+
total?: number;
|
|
16779
17447
|
};
|
|
16780
17448
|
};
|
|
16781
17449
|
};
|
|
@@ -17660,6 +18328,8 @@ export interface operations {
|
|
|
17660
18328
|
cursor?: string;
|
|
17661
18329
|
/** @description Cursor returned by the previous page */
|
|
17662
18330
|
next?: string;
|
|
18331
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
18332
|
+
count?: boolean;
|
|
17663
18333
|
/** @description Filter using a FaableQL query */
|
|
17664
18334
|
query?: string;
|
|
17665
18335
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -17680,6 +18350,8 @@ export interface operations {
|
|
|
17680
18350
|
"application/json": {
|
|
17681
18351
|
next: string | null;
|
|
17682
18352
|
results: components["schemas"]["RoleMember"][];
|
|
18353
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
18354
|
+
total?: number;
|
|
17683
18355
|
};
|
|
17684
18356
|
};
|
|
17685
18357
|
};
|
|
@@ -18041,6 +18713,8 @@ export interface operations {
|
|
|
18041
18713
|
cursor?: string;
|
|
18042
18714
|
/** @description Cursor returned by the previous page */
|
|
18043
18715
|
next?: string;
|
|
18716
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
18717
|
+
count?: boolean;
|
|
18044
18718
|
/** @description Filter using a FaableQL query */
|
|
18045
18719
|
query?: string;
|
|
18046
18720
|
/** @description Full-text search across: `name`, `slug`. */
|
|
@@ -18061,6 +18735,8 @@ export interface operations {
|
|
|
18061
18735
|
"application/json": {
|
|
18062
18736
|
next: string | null;
|
|
18063
18737
|
results: components["schemas"]["Team"][];
|
|
18738
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
18739
|
+
total?: number;
|
|
18064
18740
|
};
|
|
18065
18741
|
};
|
|
18066
18742
|
};
|
|
@@ -19107,6 +19783,8 @@ export interface operations {
|
|
|
19107
19783
|
cursor?: string;
|
|
19108
19784
|
/** @description Cursor returned by the previous page */
|
|
19109
19785
|
next?: string;
|
|
19786
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
19787
|
+
count?: boolean;
|
|
19110
19788
|
/** @description Filter using a FaableQL query */
|
|
19111
19789
|
query?: string;
|
|
19112
19790
|
/** @description Full-text search across: `name`, `slug`. */
|
|
@@ -19127,6 +19805,8 @@ export interface operations {
|
|
|
19127
19805
|
"application/json": {
|
|
19128
19806
|
next: string | null;
|
|
19129
19807
|
results: components["schemas"]["Organization"][];
|
|
19808
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
19809
|
+
total?: number;
|
|
19130
19810
|
};
|
|
19131
19811
|
};
|
|
19132
19812
|
};
|
|
@@ -21199,6 +21879,8 @@ export interface operations {
|
|
|
21199
21879
|
user?: string;
|
|
21200
21880
|
/** @description Exact match on `team`. Equivalent to `?query=team:<value>`. */
|
|
21201
21881
|
team?: string;
|
|
21882
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
21883
|
+
count?: boolean;
|
|
21202
21884
|
/** @description Filter using a FaableQL query */
|
|
21203
21885
|
query?: string;
|
|
21204
21886
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -21219,6 +21901,8 @@ export interface operations {
|
|
|
21219
21901
|
"application/json": {
|
|
21220
21902
|
next: string | null;
|
|
21221
21903
|
results: components["schemas"]["TeamMember"][];
|
|
21904
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
21905
|
+
total?: number;
|
|
21222
21906
|
};
|
|
21223
21907
|
};
|
|
21224
21908
|
};
|
|
@@ -23139,6 +23823,8 @@ export interface operations {
|
|
|
23139
23823
|
enforce_policies?: string;
|
|
23140
23824
|
/** @description Exact match on `allow_offline_access`. Equivalent to `?query=allow_offline_access:<value>`. */
|
|
23141
23825
|
allow_offline_access?: string;
|
|
23826
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
23827
|
+
count?: boolean;
|
|
23142
23828
|
/** @description Filter using a FaableQL query */
|
|
23143
23829
|
query?: string;
|
|
23144
23830
|
/** @description Full-text search across: `name`, `description`, `identifier`, `slug`. */
|
|
@@ -23159,6 +23845,8 @@ export interface operations {
|
|
|
23159
23845
|
"application/json": {
|
|
23160
23846
|
next: string | null;
|
|
23161
23847
|
results: components["schemas"]["Api"][];
|
|
23848
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
23849
|
+
total?: number;
|
|
23162
23850
|
};
|
|
23163
23851
|
};
|
|
23164
23852
|
};
|
|
@@ -23288,6 +23976,24 @@ export interface operations {
|
|
|
23288
23976
|
enforce_policies?: boolean;
|
|
23289
23977
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
23290
23978
|
allow_offline_access?: boolean;
|
|
23979
|
+
consent_options?: {
|
|
23980
|
+
/** @description Access token claim that carries the chosen id. */
|
|
23981
|
+
claim: string;
|
|
23982
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
23983
|
+
label: string;
|
|
23984
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
23985
|
+
url: string;
|
|
23986
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
23987
|
+
audience: string;
|
|
23988
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
23989
|
+
scope?: string;
|
|
23990
|
+
};
|
|
23991
|
+
delegation?: {
|
|
23992
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
23993
|
+
client_id: string;
|
|
23994
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
23995
|
+
audience: string;
|
|
23996
|
+
};
|
|
23291
23997
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
23292
23998
|
skip_consent?: boolean;
|
|
23293
23999
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -23337,6 +24043,24 @@ export interface operations {
|
|
|
23337
24043
|
enforce_policies: boolean;
|
|
23338
24044
|
/** @description When true, the API is eligible to be the target of a `refresh_token` (i.e. clients can request `offline_access` against it). */
|
|
23339
24045
|
allow_offline_access: boolean;
|
|
24046
|
+
consent_options?: {
|
|
24047
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24048
|
+
claim: string;
|
|
24049
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24050
|
+
label: string;
|
|
24051
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24052
|
+
url: string;
|
|
24053
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24054
|
+
audience: string;
|
|
24055
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
24056
|
+
scope?: string;
|
|
24057
|
+
} | null;
|
|
24058
|
+
delegation?: {
|
|
24059
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24060
|
+
client_id: string;
|
|
24061
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24062
|
+
audience: string;
|
|
24063
|
+
} | null;
|
|
23340
24064
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23341
24065
|
skip_consent: boolean;
|
|
23342
24066
|
/** @description When true, access_tokens issued for this API carry a `teams` claim listing the slugs of the teams the subject is a member of within the tenant. */
|
|
@@ -23493,6 +24217,24 @@ export interface operations {
|
|
|
23493
24217
|
enforce_policies: boolean;
|
|
23494
24218
|
/** @description When true, the API is eligible to be the target of a `refresh_token` (i.e. clients can request `offline_access` against it). */
|
|
23495
24219
|
allow_offline_access: boolean;
|
|
24220
|
+
consent_options?: {
|
|
24221
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24222
|
+
claim: string;
|
|
24223
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24224
|
+
label: string;
|
|
24225
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24226
|
+
url: string;
|
|
24227
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24228
|
+
audience: string;
|
|
24229
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
24230
|
+
scope?: string;
|
|
24231
|
+
} | null;
|
|
24232
|
+
delegation?: {
|
|
24233
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24234
|
+
client_id: string;
|
|
24235
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24236
|
+
audience: string;
|
|
24237
|
+
} | null;
|
|
23496
24238
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23497
24239
|
skip_consent: boolean;
|
|
23498
24240
|
/** @description When true, access_tokens issued for this API carry a `teams` claim listing the slugs of the teams the subject is a member of within the tenant. */
|
|
@@ -23638,6 +24380,24 @@ export interface operations {
|
|
|
23638
24380
|
enforce_policies?: boolean;
|
|
23639
24381
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
23640
24382
|
allow_offline_access?: boolean;
|
|
24383
|
+
consent_options?: {
|
|
24384
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24385
|
+
claim: string;
|
|
24386
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24387
|
+
label: string;
|
|
24388
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24389
|
+
url: string;
|
|
24390
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24391
|
+
audience: string;
|
|
24392
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
24393
|
+
scope?: string;
|
|
24394
|
+
} | null;
|
|
24395
|
+
delegation?: {
|
|
24396
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24397
|
+
client_id: string;
|
|
24398
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24399
|
+
audience: string;
|
|
24400
|
+
} | null;
|
|
23641
24401
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
23642
24402
|
skip_consent?: boolean;
|
|
23643
24403
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -23687,6 +24447,24 @@ export interface operations {
|
|
|
23687
24447
|
enforce_policies: boolean;
|
|
23688
24448
|
/** @description When true, the API is eligible to be the target of a `refresh_token` (i.e. clients can request `offline_access` against it). */
|
|
23689
24449
|
allow_offline_access: boolean;
|
|
24450
|
+
consent_options?: {
|
|
24451
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24452
|
+
claim: string;
|
|
24453
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24454
|
+
label: string;
|
|
24455
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24456
|
+
url: string;
|
|
24457
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24458
|
+
audience: string;
|
|
24459
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
24460
|
+
scope?: string;
|
|
24461
|
+
} | null;
|
|
24462
|
+
delegation?: {
|
|
24463
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24464
|
+
client_id: string;
|
|
24465
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24466
|
+
audience: string;
|
|
24467
|
+
} | null;
|
|
23690
24468
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23691
24469
|
skip_consent: boolean;
|
|
23692
24470
|
/** @description When true, access_tokens issued for this API carry a `teams` claim listing the slugs of the teams the subject is a member of within the tenant. */
|
|
@@ -23849,6 +24627,24 @@ export interface operations {
|
|
|
23849
24627
|
enforce_policies: boolean;
|
|
23850
24628
|
/** @description When true, the API is eligible to be the target of a `refresh_token` (i.e. clients can request `offline_access` against it). */
|
|
23851
24629
|
allow_offline_access: boolean;
|
|
24630
|
+
consent_options?: {
|
|
24631
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24632
|
+
claim: string;
|
|
24633
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24634
|
+
label: string;
|
|
24635
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24636
|
+
url: string;
|
|
24637
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24638
|
+
audience: string;
|
|
24639
|
+
/** @description Space-separated permissions of the listing token. The token is delegated (`act`): the resource server sees auth acting for the user with only these, never the user’s full powers — an admin is listed their own choices, not the whole platform’s. */
|
|
24640
|
+
scope?: string;
|
|
24641
|
+
} | null;
|
|
24642
|
+
delegation?: {
|
|
24643
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24644
|
+
client_id: string;
|
|
24645
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24646
|
+
audience: string;
|
|
24647
|
+
} | null;
|
|
23852
24648
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23853
24649
|
skip_consent: boolean;
|
|
23854
24650
|
/** @description When true, access_tokens issued for this API carry a `teams` claim listing the slugs of the teams the subject is a member of within the tenant. */
|
|
@@ -24178,6 +24974,8 @@ export interface operations {
|
|
|
24178
24974
|
cursor?: string;
|
|
24179
24975
|
/** @description Cursor returned by the previous page */
|
|
24180
24976
|
next?: string;
|
|
24977
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
24978
|
+
count?: boolean;
|
|
24181
24979
|
/** @description Filter using a FaableQL query */
|
|
24182
24980
|
query?: string;
|
|
24183
24981
|
};
|
|
@@ -24196,6 +24994,8 @@ export interface operations {
|
|
|
24196
24994
|
"application/json": {
|
|
24197
24995
|
next: string | null;
|
|
24198
24996
|
results: components["schemas"]["Action"][];
|
|
24997
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
24998
|
+
total?: number;
|
|
24199
24999
|
};
|
|
24200
25000
|
};
|
|
24201
25001
|
};
|
|
@@ -25861,6 +26661,8 @@ export interface operations {
|
|
|
25861
26661
|
cursor?: string;
|
|
25862
26662
|
/** @description Cursor returned by the previous page */
|
|
25863
26663
|
next?: string;
|
|
26664
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
26665
|
+
count?: boolean;
|
|
25864
26666
|
/** @description Filter using a FaableQL query */
|
|
25865
26667
|
query?: string;
|
|
25866
26668
|
};
|
|
@@ -25879,6 +26681,8 @@ export interface operations {
|
|
|
25879
26681
|
"application/json": {
|
|
25880
26682
|
next: string | null;
|
|
25881
26683
|
results: components["schemas"]["LoginFlow"][];
|
|
26684
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
26685
|
+
total?: number;
|
|
25882
26686
|
};
|
|
25883
26687
|
};
|
|
25884
26688
|
};
|
|
@@ -26799,6 +27603,8 @@ export interface operations {
|
|
|
26799
27603
|
channel?: string;
|
|
26800
27604
|
/** @description Exact match on `events`. Equivalent to `?query=events:<value>`. */
|
|
26801
27605
|
events?: string;
|
|
27606
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
27607
|
+
count?: boolean;
|
|
26802
27608
|
/** @description Filter using a FaableQL query */
|
|
26803
27609
|
query?: string;
|
|
26804
27610
|
};
|
|
@@ -26817,6 +27623,8 @@ export interface operations {
|
|
|
26817
27623
|
"application/json": {
|
|
26818
27624
|
next: string | null;
|
|
26819
27625
|
results: components["schemas"]["NotificationSubscription"][];
|
|
27626
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
27627
|
+
total?: number;
|
|
26820
27628
|
};
|
|
26821
27629
|
};
|
|
26822
27630
|
};
|
|
@@ -28227,6 +29035,8 @@ export interface operations {
|
|
|
28227
29035
|
expires_before?: string;
|
|
28228
29036
|
/** @description Exact match on `expires_after`. Equivalent to `?query=expires_after:<value>`. */
|
|
28229
29037
|
expires_after?: string;
|
|
29038
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
29039
|
+
count?: boolean;
|
|
28230
29040
|
/** @description Filter using a FaableQL query */
|
|
28231
29041
|
query?: string;
|
|
28232
29042
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -28249,6 +29059,8 @@ export interface operations {
|
|
|
28249
29059
|
"application/json": {
|
|
28250
29060
|
next: string | null;
|
|
28251
29061
|
results: components["schemas"]["Log"][];
|
|
29062
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
29063
|
+
total?: number;
|
|
28252
29064
|
};
|
|
28253
29065
|
};
|
|
28254
29066
|
};
|
|
@@ -28511,6 +29323,8 @@ export interface operations {
|
|
|
28511
29323
|
since?: string;
|
|
28512
29324
|
/** @description Exact match on `until`. Equivalent to `?query=until:<value>`. */
|
|
28513
29325
|
until?: string;
|
|
29326
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
29327
|
+
count?: boolean;
|
|
28514
29328
|
/** @description Filter using a FaableQL query */
|
|
28515
29329
|
query?: string;
|
|
28516
29330
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -28531,6 +29345,8 @@ export interface operations {
|
|
|
28531
29345
|
"application/json": {
|
|
28532
29346
|
next: string | null;
|
|
28533
29347
|
results: components["schemas"]["Session"][];
|
|
29348
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
29349
|
+
total?: number;
|
|
28534
29350
|
};
|
|
28535
29351
|
};
|
|
28536
29352
|
};
|
|
@@ -29048,6 +29864,8 @@ export interface operations {
|
|
|
29048
29864
|
cursor?: string;
|
|
29049
29865
|
/** @description Cursor returned by the previous page */
|
|
29050
29866
|
next?: string;
|
|
29867
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
29868
|
+
count?: boolean;
|
|
29051
29869
|
/** @description Filter using a FaableQL query */
|
|
29052
29870
|
query?: string;
|
|
29053
29871
|
/** @description Full-text search across: `domain`. */
|
|
@@ -29068,6 +29886,8 @@ export interface operations {
|
|
|
29068
29886
|
"application/json": {
|
|
29069
29887
|
next: string | null;
|
|
29070
29888
|
results: components["schemas"]["Customdomain"][];
|
|
29889
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
29890
|
+
total?: number;
|
|
29071
29891
|
};
|
|
29072
29892
|
};
|
|
29073
29893
|
};
|
|
@@ -31436,6 +32256,7 @@ export interface operations {
|
|
|
31436
32256
|
refresh_token?: string;
|
|
31437
32257
|
id_token?: string;
|
|
31438
32258
|
scope?: string;
|
|
32259
|
+
issued_token_type?: string;
|
|
31439
32260
|
};
|
|
31440
32261
|
};
|
|
31441
32262
|
};
|
|
@@ -31573,6 +32394,7 @@ export interface operations {
|
|
|
31573
32394
|
refresh_token?: string;
|
|
31574
32395
|
id_token?: string;
|
|
31575
32396
|
scope?: string;
|
|
32397
|
+
issued_token_type?: string;
|
|
31576
32398
|
};
|
|
31577
32399
|
};
|
|
31578
32400
|
};
|
|
@@ -32309,6 +33131,48 @@ export interface operations {
|
|
|
32309
33131
|
};
|
|
32310
33132
|
};
|
|
32311
33133
|
};
|
|
33134
|
+
"oauth/authorizationServerMetadata": {
|
|
33135
|
+
parameters: {
|
|
33136
|
+
query?: never;
|
|
33137
|
+
header?: never;
|
|
33138
|
+
path?: never;
|
|
33139
|
+
cookie?: never;
|
|
33140
|
+
};
|
|
33141
|
+
requestBody?: never;
|
|
33142
|
+
responses: {
|
|
33143
|
+
/** @description Default Response */
|
|
33144
|
+
200: {
|
|
33145
|
+
headers: {
|
|
33146
|
+
[name: string]: unknown;
|
|
33147
|
+
};
|
|
33148
|
+
content?: never;
|
|
33149
|
+
};
|
|
33150
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
33151
|
+
429: {
|
|
33152
|
+
headers: {
|
|
33153
|
+
[name: string]: unknown;
|
|
33154
|
+
};
|
|
33155
|
+
content: {
|
|
33156
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33157
|
+
/** @enum {string} */
|
|
33158
|
+
error_code?: "too_many_requests";
|
|
33159
|
+
};
|
|
33160
|
+
};
|
|
33161
|
+
};
|
|
33162
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
33163
|
+
500: {
|
|
33164
|
+
headers: {
|
|
33165
|
+
[name: string]: unknown;
|
|
33166
|
+
};
|
|
33167
|
+
content: {
|
|
33168
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33169
|
+
/** @enum {string} */
|
|
33170
|
+
error_code?: "internal_error";
|
|
33171
|
+
};
|
|
33172
|
+
};
|
|
33173
|
+
};
|
|
33174
|
+
};
|
|
33175
|
+
};
|
|
32312
33176
|
"oauth/jwks": {
|
|
32313
33177
|
parameters: {
|
|
32314
33178
|
query?: never;
|
|
@@ -32558,7 +33422,7 @@ export interface operations {
|
|
|
32558
33422
|
content: {
|
|
32559
33423
|
"application/json": {
|
|
32560
33424
|
client_id: string;
|
|
32561
|
-
client_secret
|
|
33425
|
+
client_secret?: string;
|
|
32562
33426
|
/** @description Unix timestamp (seconds) at which the client_id was issued */
|
|
32563
33427
|
client_id_issued_at: number;
|
|
32564
33428
|
/** @description 0 if the client_secret does not expire */
|
|
@@ -32654,6 +33518,85 @@ export interface operations {
|
|
|
32654
33518
|
};
|
|
32655
33519
|
};
|
|
32656
33520
|
};
|
|
33521
|
+
"oauth/revoke": {
|
|
33522
|
+
parameters: {
|
|
33523
|
+
query?: never;
|
|
33524
|
+
header?: never;
|
|
33525
|
+
path?: never;
|
|
33526
|
+
cookie?: never;
|
|
33527
|
+
};
|
|
33528
|
+
requestBody: {
|
|
33529
|
+
content: {
|
|
33530
|
+
"application/json": {
|
|
33531
|
+
token: string;
|
|
33532
|
+
token_type_hint?: string;
|
|
33533
|
+
client_id?: string;
|
|
33534
|
+
client_secret?: string;
|
|
33535
|
+
};
|
|
33536
|
+
};
|
|
33537
|
+
};
|
|
33538
|
+
responses: {
|
|
33539
|
+
/** @description Default Response */
|
|
33540
|
+
200: {
|
|
33541
|
+
headers: {
|
|
33542
|
+
[name: string]: unknown;
|
|
33543
|
+
};
|
|
33544
|
+
content?: never;
|
|
33545
|
+
};
|
|
33546
|
+
/**
|
|
33547
|
+
* @description `invalid_client` — The `client_id` in the request does not name a client of this account.
|
|
33548
|
+
*
|
|
33549
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
33550
|
+
*/
|
|
33551
|
+
400: {
|
|
33552
|
+
headers: {
|
|
33553
|
+
[name: string]: unknown;
|
|
33554
|
+
};
|
|
33555
|
+
content: {
|
|
33556
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33557
|
+
/** @enum {string} */
|
|
33558
|
+
error_code?: "invalid_client" | "validation_error";
|
|
33559
|
+
};
|
|
33560
|
+
};
|
|
33561
|
+
};
|
|
33562
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
33563
|
+
404: {
|
|
33564
|
+
headers: {
|
|
33565
|
+
[name: string]: unknown;
|
|
33566
|
+
};
|
|
33567
|
+
content: {
|
|
33568
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33569
|
+
/** @enum {string} */
|
|
33570
|
+
error_code?: "account_not_found";
|
|
33571
|
+
};
|
|
33572
|
+
};
|
|
33573
|
+
};
|
|
33574
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
33575
|
+
429: {
|
|
33576
|
+
headers: {
|
|
33577
|
+
[name: string]: unknown;
|
|
33578
|
+
};
|
|
33579
|
+
content: {
|
|
33580
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33581
|
+
/** @enum {string} */
|
|
33582
|
+
error_code?: "too_many_requests";
|
|
33583
|
+
};
|
|
33584
|
+
};
|
|
33585
|
+
};
|
|
33586
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
33587
|
+
500: {
|
|
33588
|
+
headers: {
|
|
33589
|
+
[name: string]: unknown;
|
|
33590
|
+
};
|
|
33591
|
+
content: {
|
|
33592
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33593
|
+
/** @enum {string} */
|
|
33594
|
+
error_code?: "internal_error";
|
|
33595
|
+
};
|
|
33596
|
+
};
|
|
33597
|
+
};
|
|
33598
|
+
};
|
|
33599
|
+
};
|
|
32657
33600
|
"usernamepassword/login": {
|
|
32658
33601
|
parameters: {
|
|
32659
33602
|
query?: never;
|