@faable/auth-sdk 2.7.89 → 2.7.91
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 +134 -32
- package/dist/api/types.d.ts +943 -18
- package/dist/version.js +2 -2
- package/package.json +1 -1
- package/spec/openapi.json +2540 -655
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,22 @@ 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
|
+
} | null;
|
|
6642
|
+
delegation?: {
|
|
6643
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
6644
|
+
client_id: string;
|
|
6645
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
6646
|
+
audience: string;
|
|
6647
|
+
} | null;
|
|
6095
6648
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
6096
6649
|
skip_consent: boolean;
|
|
6097
6650
|
/** @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 +6705,22 @@ export interface components {
|
|
|
6152
6705
|
enforce_policies?: boolean;
|
|
6153
6706
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
6154
6707
|
allow_offline_access?: boolean;
|
|
6708
|
+
consent_options?: {
|
|
6709
|
+
/** @description Access token claim that carries the chosen id. */
|
|
6710
|
+
claim: string;
|
|
6711
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
6712
|
+
label: string;
|
|
6713
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
6714
|
+
url: string;
|
|
6715
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
6716
|
+
audience: string;
|
|
6717
|
+
};
|
|
6718
|
+
delegation?: {
|
|
6719
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
6720
|
+
client_id: string;
|
|
6721
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
6722
|
+
audience: string;
|
|
6723
|
+
};
|
|
6155
6724
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
6156
6725
|
skip_consent?: boolean;
|
|
6157
6726
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -6181,6 +6750,22 @@ export interface components {
|
|
|
6181
6750
|
enforce_policies?: boolean;
|
|
6182
6751
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
6183
6752
|
allow_offline_access?: boolean;
|
|
6753
|
+
consent_options?: {
|
|
6754
|
+
/** @description Access token claim that carries the chosen id. */
|
|
6755
|
+
claim: string;
|
|
6756
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
6757
|
+
label: string;
|
|
6758
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
6759
|
+
url: string;
|
|
6760
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
6761
|
+
audience: string;
|
|
6762
|
+
} | null;
|
|
6763
|
+
delegation?: {
|
|
6764
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
6765
|
+
client_id: string;
|
|
6766
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
6767
|
+
audience: string;
|
|
6768
|
+
} | null;
|
|
6184
6769
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
6185
6770
|
skip_consent?: boolean;
|
|
6186
6771
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -7019,7 +7604,7 @@ export interface components {
|
|
|
7019
7604
|
};
|
|
7020
7605
|
ClientRegistrationResponse: {
|
|
7021
7606
|
client_id: string;
|
|
7022
|
-
client_secret
|
|
7607
|
+
client_secret?: string;
|
|
7023
7608
|
/** @description Unix timestamp (seconds) at which the client_id was issued */
|
|
7024
7609
|
client_id_issued_at: number;
|
|
7025
7610
|
/** @description 0 if the client_secret does not expire */
|
|
@@ -7193,6 +7778,7 @@ export interface components {
|
|
|
7193
7778
|
webauthn_rp_id?: string | null;
|
|
7194
7779
|
logout_confirm_required?: boolean | null;
|
|
7195
7780
|
dynamic_client_registration_enabled?: boolean | null;
|
|
7781
|
+
client_id_metadata_documents_enabled?: boolean | null;
|
|
7196
7782
|
canonical_host?: string | null;
|
|
7197
7783
|
login_flow?: string | null;
|
|
7198
7784
|
};
|
|
@@ -7403,6 +7989,8 @@ export interface components {
|
|
|
7403
7989
|
* - `invite_used` (400): The invite was already accepted.
|
|
7404
7990
|
* - `already_member` (400): The user is already a member of the team.
|
|
7405
7991
|
* - `not_a_member` (404): The user is not a member of the team.
|
|
7992
|
+
* - `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.
|
|
7993
|
+
* - `consent_choice_invalid` (400): The choice sent with the consent decision is not one the API offered for this user.
|
|
7406
7994
|
* - `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
7995
|
* - `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
7996
|
* - `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 +8018,7 @@ export interface components {
|
|
|
7430
8018
|
* - `delivery_in_progress` (409): The delivery is being attempted right now; retry the redeliver in a minute.
|
|
7431
8019
|
* @enum {string}
|
|
7432
8020
|
*/
|
|
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";
|
|
8021
|
+
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
8022
|
/** @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
8023
|
ErrorResponse: {
|
|
7436
8024
|
/** @description The HTTP status, repeated. */
|
|
@@ -7592,6 +8180,8 @@ export interface operations {
|
|
|
7592
8180
|
logout_confirm_required?: boolean;
|
|
7593
8181
|
/** @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
8182
|
dynamic_client_registration_enabled?: boolean;
|
|
8183
|
+
/** @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. */
|
|
8184
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
7595
8185
|
/** @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
8186
|
canonical_host?: string | null;
|
|
7597
8187
|
/** @description AuthAccount creation date */
|
|
@@ -7949,6 +8539,8 @@ export interface operations {
|
|
|
7949
8539
|
logout_confirm_required?: boolean;
|
|
7950
8540
|
/** @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
8541
|
dynamic_client_registration_enabled?: boolean;
|
|
8542
|
+
/** @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. */
|
|
8543
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
7952
8544
|
/** @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
8545
|
canonical_host?: string | null;
|
|
7954
8546
|
/** @description AuthAccount creation date */
|
|
@@ -8194,6 +8786,8 @@ export interface operations {
|
|
|
8194
8786
|
logout_confirm_required?: boolean;
|
|
8195
8787
|
/** @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
8788
|
dynamic_client_registration_enabled?: boolean;
|
|
8789
|
+
/** @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. */
|
|
8790
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
8197
8791
|
/** @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
8792
|
canonical_host?: string | null;
|
|
8199
8793
|
/** @description AuthAccount creation date */
|
|
@@ -8387,6 +8981,7 @@ export interface operations {
|
|
|
8387
8981
|
webauthn_rp_id?: string | null;
|
|
8388
8982
|
logout_confirm_required?: boolean | null;
|
|
8389
8983
|
dynamic_client_registration_enabled?: boolean | null;
|
|
8984
|
+
client_id_metadata_documents_enabled?: boolean | null;
|
|
8390
8985
|
canonical_host?: string | null;
|
|
8391
8986
|
login_flow?: string | null;
|
|
8392
8987
|
};
|
|
@@ -8515,6 +9110,8 @@ export interface operations {
|
|
|
8515
9110
|
logout_confirm_required?: boolean;
|
|
8516
9111
|
/** @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
9112
|
dynamic_client_registration_enabled?: boolean;
|
|
9113
|
+
/** @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. */
|
|
9114
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
8518
9115
|
/** @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
9116
|
canonical_host?: string | null;
|
|
8520
9117
|
/** @description AuthAccount creation date */
|
|
@@ -8828,6 +9425,10 @@ export interface operations {
|
|
|
8828
9425
|
* @default 900
|
|
8829
9426
|
*/
|
|
8830
9427
|
ttl?: number;
|
|
9428
|
+
/** @description Narrow the token to these management scopes (each must be in the catalog). Omitted: the whole catalog. */
|
|
9429
|
+
scopes?: string[];
|
|
9430
|
+
/** @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. */
|
|
9431
|
+
apikey_id?: string;
|
|
8831
9432
|
};
|
|
8832
9433
|
};
|
|
8833
9434
|
};
|
|
@@ -9779,6 +10380,8 @@ export interface operations {
|
|
|
9779
10380
|
logout_confirm_required?: boolean;
|
|
9780
10381
|
/** @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
10382
|
dynamic_client_registration_enabled?: boolean;
|
|
10383
|
+
/** @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. */
|
|
10384
|
+
client_id_metadata_documents_enabled?: boolean;
|
|
9782
10385
|
/** @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
10386
|
canonical_host?: string | null;
|
|
9784
10387
|
/** @description AuthAccount creation date */
|
|
@@ -9887,6 +10490,8 @@ export interface operations {
|
|
|
9887
10490
|
enabled?: string;
|
|
9888
10491
|
/** @description Exact match on `category`. Equivalent to `?query=category:<value>`. */
|
|
9889
10492
|
category?: string;
|
|
10493
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
10494
|
+
count?: boolean;
|
|
9890
10495
|
/** @description Filter using a FaableQL query */
|
|
9891
10496
|
query?: string;
|
|
9892
10497
|
/** @description Full-text search across: `connection_name`, `connection_type`. */
|
|
@@ -9907,6 +10512,8 @@ export interface operations {
|
|
|
9907
10512
|
"application/json": {
|
|
9908
10513
|
next: string | null;
|
|
9909
10514
|
results: components["schemas"]["Connection"][];
|
|
10515
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
10516
|
+
total?: number;
|
|
9910
10517
|
};
|
|
9911
10518
|
};
|
|
9912
10519
|
};
|
|
@@ -11153,6 +11760,8 @@ export interface operations {
|
|
|
11153
11760
|
cursor?: string;
|
|
11154
11761
|
/** @description Cursor returned by the previous page */
|
|
11155
11762
|
next?: string;
|
|
11763
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
11764
|
+
count?: boolean;
|
|
11156
11765
|
/** @description Filter using a FaableQL query */
|
|
11157
11766
|
query?: string;
|
|
11158
11767
|
/** @description Full-text search across: `name`, `description`, `client_id`. */
|
|
@@ -11173,6 +11782,8 @@ export interface operations {
|
|
|
11173
11782
|
"application/json": {
|
|
11174
11783
|
next: string | null;
|
|
11175
11784
|
results: components["schemas"]["Client"][];
|
|
11785
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
11786
|
+
total?: number;
|
|
11176
11787
|
};
|
|
11177
11788
|
};
|
|
11178
11789
|
};
|
|
@@ -11324,6 +11935,11 @@ export interface operations {
|
|
|
11324
11935
|
grant_types?: string[];
|
|
11325
11936
|
response_types?: string[];
|
|
11326
11937
|
token_endpoint_auth_method?: string;
|
|
11938
|
+
/** @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). */
|
|
11939
|
+
consent_required?: boolean;
|
|
11940
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
11941
|
+
metadata_document_url?: string;
|
|
11942
|
+
registered_dynamically?: boolean;
|
|
11327
11943
|
application_type?: string;
|
|
11328
11944
|
software_id?: string | null;
|
|
11329
11945
|
software_version?: string | null;
|
|
@@ -11524,6 +12140,11 @@ export interface operations {
|
|
|
11524
12140
|
grant_types?: string[];
|
|
11525
12141
|
response_types?: string[];
|
|
11526
12142
|
token_endpoint_auth_method?: string;
|
|
12143
|
+
/** @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). */
|
|
12144
|
+
consent_required?: boolean;
|
|
12145
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12146
|
+
metadata_document_url?: string;
|
|
12147
|
+
registered_dynamically?: boolean;
|
|
11527
12148
|
application_type?: string;
|
|
11528
12149
|
software_id?: string | null;
|
|
11529
12150
|
software_version?: string | null;
|
|
@@ -11819,6 +12440,11 @@ export interface operations {
|
|
|
11819
12440
|
grant_types?: string[];
|
|
11820
12441
|
response_types?: string[];
|
|
11821
12442
|
token_endpoint_auth_method?: string;
|
|
12443
|
+
/** @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). */
|
|
12444
|
+
consent_required?: boolean;
|
|
12445
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12446
|
+
metadata_document_url?: string;
|
|
12447
|
+
registered_dynamically?: boolean;
|
|
11822
12448
|
application_type?: string;
|
|
11823
12449
|
software_id?: string | null;
|
|
11824
12450
|
software_version?: string | null;
|
|
@@ -12025,6 +12651,11 @@ export interface operations {
|
|
|
12025
12651
|
grant_types?: string[];
|
|
12026
12652
|
response_types?: string[];
|
|
12027
12653
|
token_endpoint_auth_method?: string;
|
|
12654
|
+
/** @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). */
|
|
12655
|
+
consent_required?: boolean;
|
|
12656
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12657
|
+
metadata_document_url?: string;
|
|
12658
|
+
registered_dynamically?: boolean;
|
|
12028
12659
|
application_type?: string;
|
|
12029
12660
|
software_id?: string | null;
|
|
12030
12661
|
software_version?: string | null;
|
|
@@ -12229,6 +12860,11 @@ export interface operations {
|
|
|
12229
12860
|
grant_types?: string[];
|
|
12230
12861
|
response_types?: string[];
|
|
12231
12862
|
token_endpoint_auth_method?: string;
|
|
12863
|
+
/** @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). */
|
|
12864
|
+
consent_required?: boolean;
|
|
12865
|
+
/** @description For a client identified by a Client ID Metadata Document: the URL (also its client_id) its metadata was fetched from. */
|
|
12866
|
+
metadata_document_url?: string;
|
|
12867
|
+
registered_dynamically?: boolean;
|
|
12232
12868
|
application_type?: string;
|
|
12233
12869
|
software_id?: string | null;
|
|
12234
12870
|
software_version?: string | null;
|
|
@@ -12412,6 +13048,18 @@ export interface operations {
|
|
|
12412
13048
|
email_verified?: string;
|
|
12413
13049
|
/** @description Exact match on `suspended`. Equivalent to `?query=suspended:<value>`. */
|
|
12414
13050
|
suspended?: string;
|
|
13051
|
+
/** @description Exact match on `last_login_since`. Equivalent to `?query=last_login_since:<value>`. */
|
|
13052
|
+
last_login_since?: string;
|
|
13053
|
+
/** @description Exact match on `last_login_until`. Equivalent to `?query=last_login_until:<value>`. */
|
|
13054
|
+
last_login_until?: string;
|
|
13055
|
+
/** @description Exact match on `created_since`. Equivalent to `?query=created_since:<value>`. */
|
|
13056
|
+
created_since?: string;
|
|
13057
|
+
/** @description Exact match on `created_until`. Equivalent to `?query=created_until:<value>`. */
|
|
13058
|
+
created_until?: string;
|
|
13059
|
+
/** @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`. */
|
|
13060
|
+
sort?: string;
|
|
13061
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
13062
|
+
count?: boolean;
|
|
12415
13063
|
/** @description Filter using a FaableQL query */
|
|
12416
13064
|
query?: string;
|
|
12417
13065
|
/** @description Full-text search across: `name`, `email`, `phone`. */
|
|
@@ -12432,6 +13080,8 @@ export interface operations {
|
|
|
12432
13080
|
"application/json": {
|
|
12433
13081
|
next: string | null;
|
|
12434
13082
|
results: components["schemas"]["User"][];
|
|
13083
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
13084
|
+
total?: number;
|
|
12435
13085
|
};
|
|
12436
13086
|
};
|
|
12437
13087
|
};
|
|
@@ -15290,6 +15940,8 @@ export interface operations {
|
|
|
15290
15940
|
provider?: string;
|
|
15291
15941
|
/** @description Exact match on `created_at`. Equivalent to `?query=created_at:<value>`. */
|
|
15292
15942
|
created_at?: string;
|
|
15943
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
15944
|
+
count?: boolean;
|
|
15293
15945
|
/** @description Filter using a FaableQL query */
|
|
15294
15946
|
query?: string;
|
|
15295
15947
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -15310,6 +15962,8 @@ export interface operations {
|
|
|
15310
15962
|
"application/json": {
|
|
15311
15963
|
next: string | null;
|
|
15312
15964
|
results: components["schemas"]["Identity"][];
|
|
15965
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
15966
|
+
total?: number;
|
|
15313
15967
|
};
|
|
15314
15968
|
};
|
|
15315
15969
|
};
|
|
@@ -15947,6 +16601,8 @@ export interface operations {
|
|
|
15947
16601
|
username?: string;
|
|
15948
16602
|
/** @description Exact match on `created_at`. Equivalent to `?query=created_at:<value>`. */
|
|
15949
16603
|
created_at?: string;
|
|
16604
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
16605
|
+
count?: boolean;
|
|
15950
16606
|
/** @description Filter using a FaableQL query */
|
|
15951
16607
|
query?: string;
|
|
15952
16608
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -15969,6 +16625,8 @@ export interface operations {
|
|
|
15969
16625
|
"application/json": {
|
|
15970
16626
|
next: string | null;
|
|
15971
16627
|
results: components["schemas"]["Credential"][];
|
|
16628
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
16629
|
+
total?: number;
|
|
15972
16630
|
};
|
|
15973
16631
|
};
|
|
15974
16632
|
};
|
|
@@ -16756,6 +17414,8 @@ export interface operations {
|
|
|
16756
17414
|
cursor?: string;
|
|
16757
17415
|
/** @description Cursor returned by the previous page */
|
|
16758
17416
|
next?: string;
|
|
17417
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
17418
|
+
count?: boolean;
|
|
16759
17419
|
/** @description Filter using a FaableQL query */
|
|
16760
17420
|
query?: string;
|
|
16761
17421
|
/** @description Full-text search across: `name`, `description`. */
|
|
@@ -16776,6 +17436,8 @@ export interface operations {
|
|
|
16776
17436
|
"application/json": {
|
|
16777
17437
|
next: string | null;
|
|
16778
17438
|
results: components["schemas"]["Role"][];
|
|
17439
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
17440
|
+
total?: number;
|
|
16779
17441
|
};
|
|
16780
17442
|
};
|
|
16781
17443
|
};
|
|
@@ -17660,6 +18322,8 @@ export interface operations {
|
|
|
17660
18322
|
cursor?: string;
|
|
17661
18323
|
/** @description Cursor returned by the previous page */
|
|
17662
18324
|
next?: string;
|
|
18325
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
18326
|
+
count?: boolean;
|
|
17663
18327
|
/** @description Filter using a FaableQL query */
|
|
17664
18328
|
query?: string;
|
|
17665
18329
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -17680,6 +18344,8 @@ export interface operations {
|
|
|
17680
18344
|
"application/json": {
|
|
17681
18345
|
next: string | null;
|
|
17682
18346
|
results: components["schemas"]["RoleMember"][];
|
|
18347
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
18348
|
+
total?: number;
|
|
17683
18349
|
};
|
|
17684
18350
|
};
|
|
17685
18351
|
};
|
|
@@ -18041,6 +18707,8 @@ export interface operations {
|
|
|
18041
18707
|
cursor?: string;
|
|
18042
18708
|
/** @description Cursor returned by the previous page */
|
|
18043
18709
|
next?: string;
|
|
18710
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
18711
|
+
count?: boolean;
|
|
18044
18712
|
/** @description Filter using a FaableQL query */
|
|
18045
18713
|
query?: string;
|
|
18046
18714
|
/** @description Full-text search across: `name`, `slug`. */
|
|
@@ -18061,6 +18729,8 @@ export interface operations {
|
|
|
18061
18729
|
"application/json": {
|
|
18062
18730
|
next: string | null;
|
|
18063
18731
|
results: components["schemas"]["Team"][];
|
|
18732
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
18733
|
+
total?: number;
|
|
18064
18734
|
};
|
|
18065
18735
|
};
|
|
18066
18736
|
};
|
|
@@ -19107,6 +19777,8 @@ export interface operations {
|
|
|
19107
19777
|
cursor?: string;
|
|
19108
19778
|
/** @description Cursor returned by the previous page */
|
|
19109
19779
|
next?: string;
|
|
19780
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
19781
|
+
count?: boolean;
|
|
19110
19782
|
/** @description Filter using a FaableQL query */
|
|
19111
19783
|
query?: string;
|
|
19112
19784
|
/** @description Full-text search across: `name`, `slug`. */
|
|
@@ -19127,6 +19799,8 @@ export interface operations {
|
|
|
19127
19799
|
"application/json": {
|
|
19128
19800
|
next: string | null;
|
|
19129
19801
|
results: components["schemas"]["Organization"][];
|
|
19802
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
19803
|
+
total?: number;
|
|
19130
19804
|
};
|
|
19131
19805
|
};
|
|
19132
19806
|
};
|
|
@@ -21199,6 +21873,8 @@ export interface operations {
|
|
|
21199
21873
|
user?: string;
|
|
21200
21874
|
/** @description Exact match on `team`. Equivalent to `?query=team:<value>`. */
|
|
21201
21875
|
team?: string;
|
|
21876
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
21877
|
+
count?: boolean;
|
|
21202
21878
|
/** @description Filter using a FaableQL query */
|
|
21203
21879
|
query?: string;
|
|
21204
21880
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -21219,6 +21895,8 @@ export interface operations {
|
|
|
21219
21895
|
"application/json": {
|
|
21220
21896
|
next: string | null;
|
|
21221
21897
|
results: components["schemas"]["TeamMember"][];
|
|
21898
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
21899
|
+
total?: number;
|
|
21222
21900
|
};
|
|
21223
21901
|
};
|
|
21224
21902
|
};
|
|
@@ -23139,6 +23817,8 @@ export interface operations {
|
|
|
23139
23817
|
enforce_policies?: string;
|
|
23140
23818
|
/** @description Exact match on `allow_offline_access`. Equivalent to `?query=allow_offline_access:<value>`. */
|
|
23141
23819
|
allow_offline_access?: string;
|
|
23820
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
23821
|
+
count?: boolean;
|
|
23142
23822
|
/** @description Filter using a FaableQL query */
|
|
23143
23823
|
query?: string;
|
|
23144
23824
|
/** @description Full-text search across: `name`, `description`, `identifier`, `slug`. */
|
|
@@ -23159,6 +23839,8 @@ export interface operations {
|
|
|
23159
23839
|
"application/json": {
|
|
23160
23840
|
next: string | null;
|
|
23161
23841
|
results: components["schemas"]["Api"][];
|
|
23842
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
23843
|
+
total?: number;
|
|
23162
23844
|
};
|
|
23163
23845
|
};
|
|
23164
23846
|
};
|
|
@@ -23288,6 +23970,22 @@ export interface operations {
|
|
|
23288
23970
|
enforce_policies?: boolean;
|
|
23289
23971
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
23290
23972
|
allow_offline_access?: boolean;
|
|
23973
|
+
consent_options?: {
|
|
23974
|
+
/** @description Access token claim that carries the chosen id. */
|
|
23975
|
+
claim: string;
|
|
23976
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
23977
|
+
label: string;
|
|
23978
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
23979
|
+
url: string;
|
|
23980
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
23981
|
+
audience: string;
|
|
23982
|
+
};
|
|
23983
|
+
delegation?: {
|
|
23984
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
23985
|
+
client_id: string;
|
|
23986
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
23987
|
+
audience: string;
|
|
23988
|
+
};
|
|
23291
23989
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
23292
23990
|
skip_consent?: boolean;
|
|
23293
23991
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -23337,6 +24035,22 @@ export interface operations {
|
|
|
23337
24035
|
enforce_policies: boolean;
|
|
23338
24036
|
/** @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
24037
|
allow_offline_access: boolean;
|
|
24038
|
+
consent_options?: {
|
|
24039
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24040
|
+
claim: string;
|
|
24041
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24042
|
+
label: string;
|
|
24043
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24044
|
+
url: string;
|
|
24045
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24046
|
+
audience: string;
|
|
24047
|
+
} | null;
|
|
24048
|
+
delegation?: {
|
|
24049
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24050
|
+
client_id: string;
|
|
24051
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24052
|
+
audience: string;
|
|
24053
|
+
} | null;
|
|
23340
24054
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23341
24055
|
skip_consent: boolean;
|
|
23342
24056
|
/** @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 +24207,22 @@ export interface operations {
|
|
|
23493
24207
|
enforce_policies: boolean;
|
|
23494
24208
|
/** @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
24209
|
allow_offline_access: boolean;
|
|
24210
|
+
consent_options?: {
|
|
24211
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24212
|
+
claim: string;
|
|
24213
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24214
|
+
label: string;
|
|
24215
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24216
|
+
url: string;
|
|
24217
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24218
|
+
audience: string;
|
|
24219
|
+
} | null;
|
|
24220
|
+
delegation?: {
|
|
24221
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24222
|
+
client_id: string;
|
|
24223
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24224
|
+
audience: string;
|
|
24225
|
+
} | null;
|
|
23496
24226
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23497
24227
|
skip_consent: boolean;
|
|
23498
24228
|
/** @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 +24368,22 @@ export interface operations {
|
|
|
23638
24368
|
enforce_policies?: boolean;
|
|
23639
24369
|
/** @description When true, clients can request `offline_access` and receive a refresh_token for this API. */
|
|
23640
24370
|
allow_offline_access?: boolean;
|
|
24371
|
+
consent_options?: {
|
|
24372
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24373
|
+
claim: string;
|
|
24374
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24375
|
+
label: string;
|
|
24376
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24377
|
+
url: string;
|
|
24378
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24379
|
+
audience: string;
|
|
24380
|
+
} | null;
|
|
24381
|
+
delegation?: {
|
|
24382
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24383
|
+
client_id: string;
|
|
24384
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24385
|
+
audience: string;
|
|
24386
|
+
} | null;
|
|
23641
24387
|
/** @description When true, skip the consent prompt for first-party clients. */
|
|
23642
24388
|
skip_consent?: boolean;
|
|
23643
24389
|
/** @description When true, access_tokens issued for this API carry a `teams` claim with the subject team slugs. */
|
|
@@ -23687,6 +24433,22 @@ export interface operations {
|
|
|
23687
24433
|
enforce_policies: boolean;
|
|
23688
24434
|
/** @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
24435
|
allow_offline_access: boolean;
|
|
24436
|
+
consent_options?: {
|
|
24437
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24438
|
+
claim: string;
|
|
24439
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24440
|
+
label: string;
|
|
24441
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24442
|
+
url: string;
|
|
24443
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24444
|
+
audience: string;
|
|
24445
|
+
} | null;
|
|
24446
|
+
delegation?: {
|
|
24447
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24448
|
+
client_id: string;
|
|
24449
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24450
|
+
audience: string;
|
|
24451
|
+
} | null;
|
|
23690
24452
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23691
24453
|
skip_consent: boolean;
|
|
23692
24454
|
/** @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 +24611,22 @@ export interface operations {
|
|
|
23849
24611
|
enforce_policies: boolean;
|
|
23850
24612
|
/** @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
24613
|
allow_offline_access: boolean;
|
|
24614
|
+
consent_options?: {
|
|
24615
|
+
/** @description Access token claim that carries the chosen id. */
|
|
24616
|
+
claim: string;
|
|
24617
|
+
/** @description What the screen asks for, e.g. "Project". */
|
|
24618
|
+
label: string;
|
|
24619
|
+
/** @description GET endpoint of the resource server that lists the choices. */
|
|
24620
|
+
url: string;
|
|
24621
|
+
/** @description Identifier of a registered API the listing token is issued for (usually the resource server behind `url`). */
|
|
24622
|
+
audience: string;
|
|
24623
|
+
} | null;
|
|
24624
|
+
delegation?: {
|
|
24625
|
+
/** @description The confidential client of the resource server allowed to exchange. */
|
|
24626
|
+
client_id: string;
|
|
24627
|
+
/** @description Identifier of the registered API the new token is for. */
|
|
24628
|
+
audience: string;
|
|
24629
|
+
} | null;
|
|
23852
24630
|
/** @description When true, the consent prompt is skipped for first-party clients (clients owned by the same tenant as the API). */
|
|
23853
24631
|
skip_consent: boolean;
|
|
23854
24632
|
/** @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 +24956,8 @@ export interface operations {
|
|
|
24178
24956
|
cursor?: string;
|
|
24179
24957
|
/** @description Cursor returned by the previous page */
|
|
24180
24958
|
next?: string;
|
|
24959
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
24960
|
+
count?: boolean;
|
|
24181
24961
|
/** @description Filter using a FaableQL query */
|
|
24182
24962
|
query?: string;
|
|
24183
24963
|
};
|
|
@@ -24196,6 +24976,8 @@ export interface operations {
|
|
|
24196
24976
|
"application/json": {
|
|
24197
24977
|
next: string | null;
|
|
24198
24978
|
results: components["schemas"]["Action"][];
|
|
24979
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
24980
|
+
total?: number;
|
|
24199
24981
|
};
|
|
24200
24982
|
};
|
|
24201
24983
|
};
|
|
@@ -25861,6 +26643,8 @@ export interface operations {
|
|
|
25861
26643
|
cursor?: string;
|
|
25862
26644
|
/** @description Cursor returned by the previous page */
|
|
25863
26645
|
next?: string;
|
|
26646
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
26647
|
+
count?: boolean;
|
|
25864
26648
|
/** @description Filter using a FaableQL query */
|
|
25865
26649
|
query?: string;
|
|
25866
26650
|
};
|
|
@@ -25879,6 +26663,8 @@ export interface operations {
|
|
|
25879
26663
|
"application/json": {
|
|
25880
26664
|
next: string | null;
|
|
25881
26665
|
results: components["schemas"]["LoginFlow"][];
|
|
26666
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
26667
|
+
total?: number;
|
|
25882
26668
|
};
|
|
25883
26669
|
};
|
|
25884
26670
|
};
|
|
@@ -26799,6 +27585,8 @@ export interface operations {
|
|
|
26799
27585
|
channel?: string;
|
|
26800
27586
|
/** @description Exact match on `events`. Equivalent to `?query=events:<value>`. */
|
|
26801
27587
|
events?: string;
|
|
27588
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
27589
|
+
count?: boolean;
|
|
26802
27590
|
/** @description Filter using a FaableQL query */
|
|
26803
27591
|
query?: string;
|
|
26804
27592
|
};
|
|
@@ -26817,6 +27605,8 @@ export interface operations {
|
|
|
26817
27605
|
"application/json": {
|
|
26818
27606
|
next: string | null;
|
|
26819
27607
|
results: components["schemas"]["NotificationSubscription"][];
|
|
27608
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
27609
|
+
total?: number;
|
|
26820
27610
|
};
|
|
26821
27611
|
};
|
|
26822
27612
|
};
|
|
@@ -28227,6 +29017,8 @@ export interface operations {
|
|
|
28227
29017
|
expires_before?: string;
|
|
28228
29018
|
/** @description Exact match on `expires_after`. Equivalent to `?query=expires_after:<value>`. */
|
|
28229
29019
|
expires_after?: string;
|
|
29020
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
29021
|
+
count?: boolean;
|
|
28230
29022
|
/** @description Filter using a FaableQL query */
|
|
28231
29023
|
query?: string;
|
|
28232
29024
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -28249,6 +29041,8 @@ export interface operations {
|
|
|
28249
29041
|
"application/json": {
|
|
28250
29042
|
next: string | null;
|
|
28251
29043
|
results: components["schemas"]["Log"][];
|
|
29044
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
29045
|
+
total?: number;
|
|
28252
29046
|
};
|
|
28253
29047
|
};
|
|
28254
29048
|
};
|
|
@@ -28511,6 +29305,8 @@ export interface operations {
|
|
|
28511
29305
|
since?: string;
|
|
28512
29306
|
/** @description Exact match on `until`. Equivalent to `?query=until:<value>`. */
|
|
28513
29307
|
until?: string;
|
|
29308
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
29309
|
+
count?: boolean;
|
|
28514
29310
|
/** @description Filter using a FaableQL query */
|
|
28515
29311
|
query?: string;
|
|
28516
29312
|
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
@@ -28531,6 +29327,8 @@ export interface operations {
|
|
|
28531
29327
|
"application/json": {
|
|
28532
29328
|
next: string | null;
|
|
28533
29329
|
results: components["schemas"]["Session"][];
|
|
29330
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
29331
|
+
total?: number;
|
|
28534
29332
|
};
|
|
28535
29333
|
};
|
|
28536
29334
|
};
|
|
@@ -29048,6 +29846,8 @@ export interface operations {
|
|
|
29048
29846
|
cursor?: string;
|
|
29049
29847
|
/** @description Cursor returned by the previous page */
|
|
29050
29848
|
next?: string;
|
|
29849
|
+
/** @description Also return `total`: the rows matching the whole filter, across every page. */
|
|
29850
|
+
count?: boolean;
|
|
29051
29851
|
/** @description Filter using a FaableQL query */
|
|
29052
29852
|
query?: string;
|
|
29053
29853
|
/** @description Full-text search across: `domain`. */
|
|
@@ -29068,6 +29868,8 @@ export interface operations {
|
|
|
29068
29868
|
"application/json": {
|
|
29069
29869
|
next: string | null;
|
|
29070
29870
|
results: components["schemas"]["Customdomain"][];
|
|
29871
|
+
/** @description Rows matching the whole filter, across every page. Only with `?count=true`. */
|
|
29872
|
+
total?: number;
|
|
29071
29873
|
};
|
|
29072
29874
|
};
|
|
29073
29875
|
};
|
|
@@ -31436,6 +32238,7 @@ export interface operations {
|
|
|
31436
32238
|
refresh_token?: string;
|
|
31437
32239
|
id_token?: string;
|
|
31438
32240
|
scope?: string;
|
|
32241
|
+
issued_token_type?: string;
|
|
31439
32242
|
};
|
|
31440
32243
|
};
|
|
31441
32244
|
};
|
|
@@ -31573,6 +32376,7 @@ export interface operations {
|
|
|
31573
32376
|
refresh_token?: string;
|
|
31574
32377
|
id_token?: string;
|
|
31575
32378
|
scope?: string;
|
|
32379
|
+
issued_token_type?: string;
|
|
31576
32380
|
};
|
|
31577
32381
|
};
|
|
31578
32382
|
};
|
|
@@ -32309,6 +33113,48 @@ export interface operations {
|
|
|
32309
33113
|
};
|
|
32310
33114
|
};
|
|
32311
33115
|
};
|
|
33116
|
+
"oauth/authorizationServerMetadata": {
|
|
33117
|
+
parameters: {
|
|
33118
|
+
query?: never;
|
|
33119
|
+
header?: never;
|
|
33120
|
+
path?: never;
|
|
33121
|
+
cookie?: never;
|
|
33122
|
+
};
|
|
33123
|
+
requestBody?: never;
|
|
33124
|
+
responses: {
|
|
33125
|
+
/** @description Default Response */
|
|
33126
|
+
200: {
|
|
33127
|
+
headers: {
|
|
33128
|
+
[name: string]: unknown;
|
|
33129
|
+
};
|
|
33130
|
+
content?: never;
|
|
33131
|
+
};
|
|
33132
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
33133
|
+
429: {
|
|
33134
|
+
headers: {
|
|
33135
|
+
[name: string]: unknown;
|
|
33136
|
+
};
|
|
33137
|
+
content: {
|
|
33138
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33139
|
+
/** @enum {string} */
|
|
33140
|
+
error_code?: "too_many_requests";
|
|
33141
|
+
};
|
|
33142
|
+
};
|
|
33143
|
+
};
|
|
33144
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
33145
|
+
500: {
|
|
33146
|
+
headers: {
|
|
33147
|
+
[name: string]: unknown;
|
|
33148
|
+
};
|
|
33149
|
+
content: {
|
|
33150
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33151
|
+
/** @enum {string} */
|
|
33152
|
+
error_code?: "internal_error";
|
|
33153
|
+
};
|
|
33154
|
+
};
|
|
33155
|
+
};
|
|
33156
|
+
};
|
|
33157
|
+
};
|
|
32312
33158
|
"oauth/jwks": {
|
|
32313
33159
|
parameters: {
|
|
32314
33160
|
query?: never;
|
|
@@ -32558,7 +33404,7 @@ export interface operations {
|
|
|
32558
33404
|
content: {
|
|
32559
33405
|
"application/json": {
|
|
32560
33406
|
client_id: string;
|
|
32561
|
-
client_secret
|
|
33407
|
+
client_secret?: string;
|
|
32562
33408
|
/** @description Unix timestamp (seconds) at which the client_id was issued */
|
|
32563
33409
|
client_id_issued_at: number;
|
|
32564
33410
|
/** @description 0 if the client_secret does not expire */
|
|
@@ -32654,6 +33500,85 @@ export interface operations {
|
|
|
32654
33500
|
};
|
|
32655
33501
|
};
|
|
32656
33502
|
};
|
|
33503
|
+
"oauth/revoke": {
|
|
33504
|
+
parameters: {
|
|
33505
|
+
query?: never;
|
|
33506
|
+
header?: never;
|
|
33507
|
+
path?: never;
|
|
33508
|
+
cookie?: never;
|
|
33509
|
+
};
|
|
33510
|
+
requestBody: {
|
|
33511
|
+
content: {
|
|
33512
|
+
"application/json": {
|
|
33513
|
+
token: string;
|
|
33514
|
+
token_type_hint?: string;
|
|
33515
|
+
client_id?: string;
|
|
33516
|
+
client_secret?: string;
|
|
33517
|
+
};
|
|
33518
|
+
};
|
|
33519
|
+
};
|
|
33520
|
+
responses: {
|
|
33521
|
+
/** @description Default Response */
|
|
33522
|
+
200: {
|
|
33523
|
+
headers: {
|
|
33524
|
+
[name: string]: unknown;
|
|
33525
|
+
};
|
|
33526
|
+
content?: never;
|
|
33527
|
+
};
|
|
33528
|
+
/**
|
|
33529
|
+
* @description `invalid_client` — The `client_id` in the request does not name a client of this account.
|
|
33530
|
+
*
|
|
33531
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
33532
|
+
*/
|
|
33533
|
+
400: {
|
|
33534
|
+
headers: {
|
|
33535
|
+
[name: string]: unknown;
|
|
33536
|
+
};
|
|
33537
|
+
content: {
|
|
33538
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33539
|
+
/** @enum {string} */
|
|
33540
|
+
error_code?: "invalid_client" | "validation_error";
|
|
33541
|
+
};
|
|
33542
|
+
};
|
|
33543
|
+
};
|
|
33544
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
33545
|
+
404: {
|
|
33546
|
+
headers: {
|
|
33547
|
+
[name: string]: unknown;
|
|
33548
|
+
};
|
|
33549
|
+
content: {
|
|
33550
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33551
|
+
/** @enum {string} */
|
|
33552
|
+
error_code?: "account_not_found";
|
|
33553
|
+
};
|
|
33554
|
+
};
|
|
33555
|
+
};
|
|
33556
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
33557
|
+
429: {
|
|
33558
|
+
headers: {
|
|
33559
|
+
[name: string]: unknown;
|
|
33560
|
+
};
|
|
33561
|
+
content: {
|
|
33562
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33563
|
+
/** @enum {string} */
|
|
33564
|
+
error_code?: "too_many_requests";
|
|
33565
|
+
};
|
|
33566
|
+
};
|
|
33567
|
+
};
|
|
33568
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
33569
|
+
500: {
|
|
33570
|
+
headers: {
|
|
33571
|
+
[name: string]: unknown;
|
|
33572
|
+
};
|
|
33573
|
+
content: {
|
|
33574
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
33575
|
+
/** @enum {string} */
|
|
33576
|
+
error_code?: "internal_error";
|
|
33577
|
+
};
|
|
33578
|
+
};
|
|
33579
|
+
};
|
|
33580
|
+
};
|
|
33581
|
+
};
|
|
32657
33582
|
"usernamepassword/login": {
|
|
32658
33583
|
parameters: {
|
|
32659
33584
|
query?: never;
|