@faable/auth-sdk 2.7.80 → 2.7.82
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 +7 -0
- package/dist/api/api-types.d.ts +6 -0
- package/dist/api/generated-client.d.ts +265 -0
- package/dist/api/generated-client.js +146 -0
- package/dist/api/types.d.ts +1526 -75
- package/dist/version.js +2 -2
- package/package.json +1 -1
- package/spec/openapi.json +2942 -493
package/dist/api/types.d.ts
CHANGED
|
@@ -1196,6 +1196,118 @@ export interface paths {
|
|
|
1196
1196
|
patch?: never;
|
|
1197
1197
|
trace?: never;
|
|
1198
1198
|
};
|
|
1199
|
+
"/team/{team_id}/organization": {
|
|
1200
|
+
parameters: {
|
|
1201
|
+
query?: never;
|
|
1202
|
+
header?: never;
|
|
1203
|
+
path?: never;
|
|
1204
|
+
cookie?: never;
|
|
1205
|
+
};
|
|
1206
|
+
get?: never;
|
|
1207
|
+
/**
|
|
1208
|
+
* Put a Team in an Organization, or take it out
|
|
1209
|
+
* @description Sets the Organization the Team belongs to (`null` = none). A team is in at most one organization; setting another one moves it. Belonging to an organization grants nobody access to the team. Emits `team.updated`.
|
|
1210
|
+
*/
|
|
1211
|
+
put: operations["team/setOrganization"];
|
|
1212
|
+
post?: never;
|
|
1213
|
+
delete?: never;
|
|
1214
|
+
options?: never;
|
|
1215
|
+
head?: never;
|
|
1216
|
+
patch?: never;
|
|
1217
|
+
trace?: never;
|
|
1218
|
+
};
|
|
1219
|
+
"/organization": {
|
|
1220
|
+
parameters: {
|
|
1221
|
+
query?: never;
|
|
1222
|
+
header?: never;
|
|
1223
|
+
path?: never;
|
|
1224
|
+
cookie?: never;
|
|
1225
|
+
};
|
|
1226
|
+
/**
|
|
1227
|
+
* List Organizations
|
|
1228
|
+
* @description List Organizations
|
|
1229
|
+
*/
|
|
1230
|
+
get: operations["organization/list"];
|
|
1231
|
+
put?: never;
|
|
1232
|
+
/**
|
|
1233
|
+
* Create Organization
|
|
1234
|
+
* @description Create Organization
|
|
1235
|
+
*/
|
|
1236
|
+
post: operations["organization/create"];
|
|
1237
|
+
delete?: never;
|
|
1238
|
+
options?: never;
|
|
1239
|
+
head?: never;
|
|
1240
|
+
patch?: never;
|
|
1241
|
+
trace?: never;
|
|
1242
|
+
};
|
|
1243
|
+
"/organization/{organization_id}": {
|
|
1244
|
+
parameters: {
|
|
1245
|
+
query?: never;
|
|
1246
|
+
header?: never;
|
|
1247
|
+
path?: never;
|
|
1248
|
+
cookie?: never;
|
|
1249
|
+
};
|
|
1250
|
+
/**
|
|
1251
|
+
* Get Organization
|
|
1252
|
+
* @description Get Organization
|
|
1253
|
+
*/
|
|
1254
|
+
get: operations["organization/get"];
|
|
1255
|
+
put?: never;
|
|
1256
|
+
/**
|
|
1257
|
+
* Update Organization
|
|
1258
|
+
* @description Update Organization
|
|
1259
|
+
*/
|
|
1260
|
+
post: operations["organization/update"];
|
|
1261
|
+
/**
|
|
1262
|
+
* Delete Organization
|
|
1263
|
+
* @description Delete Organization
|
|
1264
|
+
*/
|
|
1265
|
+
delete: operations["organization/delete"];
|
|
1266
|
+
options?: never;
|
|
1267
|
+
head?: never;
|
|
1268
|
+
patch?: never;
|
|
1269
|
+
trace?: never;
|
|
1270
|
+
};
|
|
1271
|
+
"/organization/{organization_id}/admin": {
|
|
1272
|
+
parameters: {
|
|
1273
|
+
query?: never;
|
|
1274
|
+
header?: never;
|
|
1275
|
+
path?: never;
|
|
1276
|
+
cookie?: never;
|
|
1277
|
+
};
|
|
1278
|
+
get?: never;
|
|
1279
|
+
put?: never;
|
|
1280
|
+
/**
|
|
1281
|
+
* Add an admin to an Organization
|
|
1282
|
+
* @description Makes a user of this tenant an admin of the Organization. Idempotent. Being an admin does not grant access to any team of the organization. Emits `organization.updated`.
|
|
1283
|
+
*/
|
|
1284
|
+
post: operations["organization/addAdmin"];
|
|
1285
|
+
delete?: never;
|
|
1286
|
+
options?: never;
|
|
1287
|
+
head?: never;
|
|
1288
|
+
patch?: never;
|
|
1289
|
+
trace?: never;
|
|
1290
|
+
};
|
|
1291
|
+
"/organization/{organization_id}/admin/{user_id}": {
|
|
1292
|
+
parameters: {
|
|
1293
|
+
query?: never;
|
|
1294
|
+
header?: never;
|
|
1295
|
+
path?: never;
|
|
1296
|
+
cookie?: never;
|
|
1297
|
+
};
|
|
1298
|
+
get?: never;
|
|
1299
|
+
put?: never;
|
|
1300
|
+
post?: never;
|
|
1301
|
+
/**
|
|
1302
|
+
* Remove an admin from an Organization
|
|
1303
|
+
* @description Removes the user from the admins of the Organization (the user is not deleted). An organization keeps at least one admin: removing the last one is `last_organization_admin`. Emits `organization.updated`.
|
|
1304
|
+
*/
|
|
1305
|
+
delete: operations["organization/removeAdmin"];
|
|
1306
|
+
options?: never;
|
|
1307
|
+
head?: never;
|
|
1308
|
+
patch?: never;
|
|
1309
|
+
trace?: never;
|
|
1310
|
+
};
|
|
1199
1311
|
"/teammember": {
|
|
1200
1312
|
parameters: {
|
|
1201
1313
|
query?: never;
|
|
@@ -4437,7 +4549,7 @@ export interface paths {
|
|
|
4437
4549
|
put?: never;
|
|
4438
4550
|
/**
|
|
4439
4551
|
* OpenID Connect Dynamic Client Registration
|
|
4440
|
-
* @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.
|
|
4552
|
+
* @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).
|
|
4441
4553
|
*/
|
|
4442
4554
|
post: operations["oauth/register"];
|
|
4443
4555
|
delete?: never;
|
|
@@ -4725,6 +4837,8 @@ export interface components {
|
|
|
4725
4837
|
webauthn_rp_id?: string | null;
|
|
4726
4838
|
/** @description When true, `/logout` asks the End-User to confirm before ending the session unless the request carries a verified `id_token_hint`. Off by default — a plain link to `/logout` is otherwise enough to sign anyone out (logout CSRF). */
|
|
4727
4839
|
logout_confirm_required?: boolean;
|
|
4840
|
+
/** @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`. */
|
|
4841
|
+
dynamic_client_registration_enabled?: boolean;
|
|
4728
4842
|
/** @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. */
|
|
4729
4843
|
canonical_host?: string | null;
|
|
4730
4844
|
/** @description AuthAccount creation date */
|
|
@@ -5603,6 +5717,8 @@ export interface components {
|
|
|
5603
5717
|
description: string | null;
|
|
5604
5718
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
5605
5719
|
logo_url: string | null;
|
|
5720
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
5721
|
+
organization?: string | null;
|
|
5606
5722
|
/** @description Object is related with this account */
|
|
5607
5723
|
account: string;
|
|
5608
5724
|
/**
|
|
@@ -5657,6 +5773,92 @@ export interface components {
|
|
|
5657
5773
|
TeamUpdateMetadata: {
|
|
5658
5774
|
[key: string]: unknown;
|
|
5659
5775
|
};
|
|
5776
|
+
/** @description Organization */
|
|
5777
|
+
Organization: {
|
|
5778
|
+
/** @description Organization ID */
|
|
5779
|
+
id: string;
|
|
5780
|
+
/**
|
|
5781
|
+
* @description Human-readable name of the organization.
|
|
5782
|
+
* @example Acme Inc.
|
|
5783
|
+
*/
|
|
5784
|
+
name: string;
|
|
5785
|
+
/**
|
|
5786
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
5787
|
+
* @example acme-inc
|
|
5788
|
+
*/
|
|
5789
|
+
slug: string;
|
|
5790
|
+
/** @description Optional free-form description. */
|
|
5791
|
+
description: string | null;
|
|
5792
|
+
/** @description Optional URL of the organization logo. */
|
|
5793
|
+
logo_url: string | null;
|
|
5794
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
5795
|
+
admins: string[];
|
|
5796
|
+
/** @description Object is related with this account */
|
|
5797
|
+
account: string;
|
|
5798
|
+
/**
|
|
5799
|
+
* @description OrganizationMetadata
|
|
5800
|
+
* @default {}
|
|
5801
|
+
*/
|
|
5802
|
+
metadata: {
|
|
5803
|
+
[key: string]: unknown;
|
|
5804
|
+
};
|
|
5805
|
+
/** @description Organization creation date */
|
|
5806
|
+
createdAt: string;
|
|
5807
|
+
/** @description Organization updated date */
|
|
5808
|
+
updatedAt?: string;
|
|
5809
|
+
};
|
|
5810
|
+
/**
|
|
5811
|
+
* @description OrganizationMetadata
|
|
5812
|
+
* @default {}
|
|
5813
|
+
*/
|
|
5814
|
+
OrganizationMetadata: {
|
|
5815
|
+
[key: string]: unknown;
|
|
5816
|
+
};
|
|
5817
|
+
/** @description OrganizationCreate */
|
|
5818
|
+
OrganizationCreate: {
|
|
5819
|
+
/**
|
|
5820
|
+
* @description Human-readable name of the organization.
|
|
5821
|
+
* @example Acme Inc.
|
|
5822
|
+
*/
|
|
5823
|
+
name: string;
|
|
5824
|
+
/** @description Optional free-form description. */
|
|
5825
|
+
description?: string;
|
|
5826
|
+
/**
|
|
5827
|
+
* Format: uri
|
|
5828
|
+
* @description Optional URL of the organization logo.
|
|
5829
|
+
*/
|
|
5830
|
+
logo_url?: string;
|
|
5831
|
+
/** @description Initial admins (user ids of this tenant). Can be empty and filled later with `POST /organization/{organization_id}/admin`. */
|
|
5832
|
+
admins?: string[];
|
|
5833
|
+
/** @description Add Metadata */
|
|
5834
|
+
metadata?: {
|
|
5835
|
+
[key: string]: unknown;
|
|
5836
|
+
};
|
|
5837
|
+
};
|
|
5838
|
+
/** @description Add Metadata */
|
|
5839
|
+
OrganizationMetadataCreate: {
|
|
5840
|
+
[key: string]: unknown;
|
|
5841
|
+
};
|
|
5842
|
+
/** @description Partial update for an Organization. `slug` is derived from `name` on creation and is not editable; admins change through `/organization/{organization_id}/admin`. */
|
|
5843
|
+
OrganizationUpdate: {
|
|
5844
|
+
/** @description New human-readable name. */
|
|
5845
|
+
name?: string;
|
|
5846
|
+
/** @description New free-form description. */
|
|
5847
|
+
description?: string;
|
|
5848
|
+
/**
|
|
5849
|
+
* Format: uri
|
|
5850
|
+
* @description New URL of the organization logo.
|
|
5851
|
+
*/
|
|
5852
|
+
logo_url?: string;
|
|
5853
|
+
/** @description Arbitrary key/value pairs. Replaces the previous metadata entirely. */
|
|
5854
|
+
metadata?: {
|
|
5855
|
+
[key: string]: unknown;
|
|
5856
|
+
};
|
|
5857
|
+
};
|
|
5858
|
+
/** @description Arbitrary key/value pairs. Replaces the previous metadata entirely. */
|
|
5859
|
+
OrganizationUpdateMetadata: {
|
|
5860
|
+
[key: string]: unknown;
|
|
5861
|
+
};
|
|
5660
5862
|
/** @description TeamMember */
|
|
5661
5863
|
TeamMember: {
|
|
5662
5864
|
/** @description TeamMember ID */
|
|
@@ -6101,8 +6303,11 @@ export interface components {
|
|
|
6101
6303
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
6102
6304
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
6103
6305
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
6306
|
+
* - `organization.created`: An organization was created.
|
|
6307
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
6308
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
6104
6309
|
*
|
|
6105
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6310
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6106
6311
|
*/
|
|
6107
6312
|
events: string[];
|
|
6108
6313
|
/** @enum {string} */
|
|
@@ -6202,8 +6407,11 @@ export interface components {
|
|
|
6202
6407
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
6203
6408
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
6204
6409
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
6410
|
+
* - `organization.created`: An organization was created.
|
|
6411
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
6412
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
6205
6413
|
*
|
|
6206
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6414
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6207
6415
|
*/
|
|
6208
6416
|
events: string[];
|
|
6209
6417
|
/** @enum {string} */
|
|
@@ -6297,8 +6505,11 @@ export interface components {
|
|
|
6297
6505
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
6298
6506
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
6299
6507
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
6508
|
+
* - `organization.created`: An organization was created.
|
|
6509
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
6510
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
6300
6511
|
*
|
|
6301
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6512
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6302
6513
|
*/
|
|
6303
6514
|
events: string[];
|
|
6304
6515
|
/** @enum {string} */
|
|
@@ -6360,8 +6571,11 @@ export interface components {
|
|
|
6360
6571
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
6361
6572
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
6362
6573
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
6574
|
+
* - `organization.created`: An organization was created.
|
|
6575
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
6576
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
6363
6577
|
*
|
|
6364
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6578
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6365
6579
|
*/
|
|
6366
6580
|
events: string[];
|
|
6367
6581
|
/** @enum {string} */
|
|
@@ -6427,8 +6641,11 @@ export interface components {
|
|
|
6427
6641
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
6428
6642
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
6429
6643
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
6644
|
+
* - `organization.created`: An organization was created.
|
|
6645
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
6646
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
6430
6647
|
*
|
|
6431
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6648
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
6432
6649
|
*/
|
|
6433
6650
|
events?: string[];
|
|
6434
6651
|
/** @enum {string} */
|
|
@@ -6827,6 +7044,7 @@ export interface components {
|
|
|
6827
7044
|
default_country_iso?: string | null;
|
|
6828
7045
|
webauthn_rp_id?: string | null;
|
|
6829
7046
|
logout_confirm_required?: boolean | null;
|
|
7047
|
+
dynamic_client_registration_enabled?: boolean | null;
|
|
6830
7048
|
canonical_host?: string | null;
|
|
6831
7049
|
login_flow?: string | null;
|
|
6832
7050
|
};
|
|
@@ -6864,6 +7082,8 @@ export interface components {
|
|
|
6864
7082
|
audience?: string;
|
|
6865
7083
|
/** @description RFC 8707 Resource Indicator. Absolute URI of the target Api, no fragment. Matched against `Api.identifier` in the tenant. */
|
|
6866
7084
|
resource?: string;
|
|
7085
|
+
/** @description client_credentials only. An access token previously returned by this endpoint that a resource server rejected with 401. If it is the cached token for this client, the cache entry is dropped and a new token is issued; otherwise it has no effect. */
|
|
7086
|
+
invalidate_token?: string;
|
|
6867
7087
|
} & {
|
|
6868
7088
|
[key: string]: unknown;
|
|
6869
7089
|
};
|
|
@@ -7035,6 +7255,11 @@ export interface components {
|
|
|
7035
7255
|
* - `invite_used` (400): The invite was already accepted.
|
|
7036
7256
|
* - `already_member` (400): The user is already a member of the team.
|
|
7037
7257
|
* - `not_a_member` (404): The user is not a member of the team.
|
|
7258
|
+
* - `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`.
|
|
7259
|
+
* - `organization_not_found` (404): No organization with that id in this account.
|
|
7260
|
+
* - `invalid_user` (400): The user does not exist in this account.
|
|
7261
|
+
* - `not_an_organization_admin` (404): The user is not an admin of the organization.
|
|
7262
|
+
* - `last_organization_admin` (409): An organization keeps at least one admin. Add another admin before removing this one.
|
|
7038
7263
|
* - `team_id_unavailable` (409): The team id cannot be used in this tenant. Pick another id or let the API generate one.
|
|
7039
7264
|
* - `use_team_member_route` (400): This generic route cannot create memberships. Use `POST /team/{team_id}/member` for team members or `POST /role/{role_id}/users` for role grants.
|
|
7040
7265
|
* - `role_not_found` (404): No role with that id in this account.
|
|
@@ -7048,7 +7273,7 @@ export interface components {
|
|
|
7048
7273
|
* - `delivery_in_progress` (409): The delivery is being attempted right now; retry the redeliver in a minute.
|
|
7049
7274
|
* @enum {string}
|
|
7050
7275
|
*/
|
|
7051
|
-
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" | "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";
|
|
7276
|
+
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" | "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";
|
|
7052
7277
|
/** @description Every error response has this shape. Branch on `error_code`, never on `message`: the message is written for a person and may change. */
|
|
7053
7278
|
ErrorResponse: {
|
|
7054
7279
|
/** @description The HTTP status, repeated. */
|
|
@@ -7208,6 +7433,8 @@ export interface operations {
|
|
|
7208
7433
|
webauthn_rp_id?: string | null;
|
|
7209
7434
|
/** @description When true, `/logout` asks the End-User to confirm before ending the session unless the request carries a verified `id_token_hint`. Off by default — a plain link to `/logout` is otherwise enough to sign anyone out (logout CSRF). */
|
|
7210
7435
|
logout_confirm_required?: boolean;
|
|
7436
|
+
/** @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`. */
|
|
7437
|
+
dynamic_client_registration_enabled?: boolean;
|
|
7211
7438
|
/** @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. */
|
|
7212
7439
|
canonical_host?: string | null;
|
|
7213
7440
|
/** @description AuthAccount creation date */
|
|
@@ -7563,6 +7790,8 @@ export interface operations {
|
|
|
7563
7790
|
webauthn_rp_id?: string | null;
|
|
7564
7791
|
/** @description When true, `/logout` asks the End-User to confirm before ending the session unless the request carries a verified `id_token_hint`. Off by default — a plain link to `/logout` is otherwise enough to sign anyone out (logout CSRF). */
|
|
7565
7792
|
logout_confirm_required?: boolean;
|
|
7793
|
+
/** @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`. */
|
|
7794
|
+
dynamic_client_registration_enabled?: boolean;
|
|
7566
7795
|
/** @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. */
|
|
7567
7796
|
canonical_host?: string | null;
|
|
7568
7797
|
/** @description AuthAccount creation date */
|
|
@@ -7806,6 +8035,8 @@ export interface operations {
|
|
|
7806
8035
|
webauthn_rp_id?: string | null;
|
|
7807
8036
|
/** @description When true, `/logout` asks the End-User to confirm before ending the session unless the request carries a verified `id_token_hint`. Off by default — a plain link to `/logout` is otherwise enough to sign anyone out (logout CSRF). */
|
|
7808
8037
|
logout_confirm_required?: boolean;
|
|
8038
|
+
/** @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`. */
|
|
8039
|
+
dynamic_client_registration_enabled?: boolean;
|
|
7809
8040
|
/** @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. */
|
|
7810
8041
|
canonical_host?: string | null;
|
|
7811
8042
|
/** @description AuthAccount creation date */
|
|
@@ -7998,6 +8229,7 @@ export interface operations {
|
|
|
7998
8229
|
default_country_iso?: string | null;
|
|
7999
8230
|
webauthn_rp_id?: string | null;
|
|
8000
8231
|
logout_confirm_required?: boolean | null;
|
|
8232
|
+
dynamic_client_registration_enabled?: boolean | null;
|
|
8001
8233
|
canonical_host?: string | null;
|
|
8002
8234
|
login_flow?: string | null;
|
|
8003
8235
|
};
|
|
@@ -8124,6 +8356,8 @@ export interface operations {
|
|
|
8124
8356
|
webauthn_rp_id?: string | null;
|
|
8125
8357
|
/** @description When true, `/logout` asks the End-User to confirm before ending the session unless the request carries a verified `id_token_hint`. Off by default — a plain link to `/logout` is otherwise enough to sign anyone out (logout CSRF). */
|
|
8126
8358
|
logout_confirm_required?: boolean;
|
|
8359
|
+
/** @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`. */
|
|
8360
|
+
dynamic_client_registration_enabled?: boolean;
|
|
8127
8361
|
/** @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. */
|
|
8128
8362
|
canonical_host?: string | null;
|
|
8129
8363
|
/** @description AuthAccount creation date */
|
|
@@ -9386,6 +9620,8 @@ export interface operations {
|
|
|
9386
9620
|
webauthn_rp_id?: string | null;
|
|
9387
9621
|
/** @description When true, `/logout` asks the End-User to confirm before ending the session unless the request carries a verified `id_token_hint`. Off by default — a plain link to `/logout` is otherwise enough to sign anyone out (logout CSRF). */
|
|
9388
9622
|
logout_confirm_required?: boolean;
|
|
9623
|
+
/** @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`. */
|
|
9624
|
+
dynamic_client_registration_enabled?: boolean;
|
|
9389
9625
|
/** @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. */
|
|
9390
9626
|
canonical_host?: string | null;
|
|
9391
9627
|
/** @description AuthAccount creation date */
|
|
@@ -17706,6 +17942,8 @@ export interface operations {
|
|
|
17706
17942
|
description: string | null;
|
|
17707
17943
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
17708
17944
|
logo_url: string | null;
|
|
17945
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
17946
|
+
organization?: string | null;
|
|
17709
17947
|
/** @description Object is related with this account */
|
|
17710
17948
|
account: string;
|
|
17711
17949
|
/**
|
|
@@ -17840,6 +18078,8 @@ export interface operations {
|
|
|
17840
18078
|
description: string | null;
|
|
17841
18079
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
17842
18080
|
logo_url: string | null;
|
|
18081
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
18082
|
+
organization?: string | null;
|
|
17843
18083
|
/** @description Object is related with this account */
|
|
17844
18084
|
account: string;
|
|
17845
18085
|
/**
|
|
@@ -18003,6 +18243,8 @@ export interface operations {
|
|
|
18003
18243
|
description: string | null;
|
|
18004
18244
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
18005
18245
|
logo_url: string | null;
|
|
18246
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
18247
|
+
organization?: string | null;
|
|
18006
18248
|
/** @description Object is related with this account */
|
|
18007
18249
|
account: string;
|
|
18008
18250
|
/**
|
|
@@ -18042,6 +18284,8 @@ export interface operations {
|
|
|
18042
18284
|
description: string | null;
|
|
18043
18285
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
18044
18286
|
logo_url: string | null;
|
|
18287
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
18288
|
+
organization?: string | null;
|
|
18045
18289
|
/** @description Object is related with this account */
|
|
18046
18290
|
account: string;
|
|
18047
18291
|
/**
|
|
@@ -18202,6 +18446,8 @@ export interface operations {
|
|
|
18202
18446
|
description: string | null;
|
|
18203
18447
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
18204
18448
|
logo_url: string | null;
|
|
18449
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
18450
|
+
organization?: string | null;
|
|
18205
18451
|
/** @description Object is related with this account */
|
|
18206
18452
|
account: string;
|
|
18207
18453
|
/**
|
|
@@ -18342,6 +18588,8 @@ export interface operations {
|
|
|
18342
18588
|
description: string | null;
|
|
18343
18589
|
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
18344
18590
|
logo_url: string | null;
|
|
18591
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
18592
|
+
organization?: string | null;
|
|
18345
18593
|
/** @description Object is related with this account */
|
|
18346
18594
|
account: string;
|
|
18347
18595
|
/**
|
|
@@ -18446,51 +18694,66 @@ export interface operations {
|
|
|
18446
18694
|
};
|
|
18447
18695
|
};
|
|
18448
18696
|
};
|
|
18449
|
-
"
|
|
18697
|
+
"team/setOrganization": {
|
|
18450
18698
|
parameters: {
|
|
18451
|
-
query?:
|
|
18452
|
-
/** @description Number of items per page (max 200) */
|
|
18453
|
-
pageSize?: number;
|
|
18454
|
-
/** @description Cursor for next page */
|
|
18455
|
-
cursor?: string;
|
|
18456
|
-
/** @description Cursor returned by the previous page */
|
|
18457
|
-
next?: string;
|
|
18458
|
-
/** @description Exact match on `user`. Equivalent to `?query=user:<value>`. */
|
|
18459
|
-
user?: string;
|
|
18460
|
-
/** @description Exact match on `team`. Equivalent to `?query=team:<value>`. */
|
|
18461
|
-
team?: string;
|
|
18462
|
-
/** @description Filter using a FaableQL query */
|
|
18463
|
-
query?: string;
|
|
18464
|
-
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
18465
|
-
expand?: ("user" | "team" | "roles")[];
|
|
18466
|
-
};
|
|
18699
|
+
query?: never;
|
|
18467
18700
|
header?: never;
|
|
18468
|
-
path
|
|
18701
|
+
path: {
|
|
18702
|
+
team_id: string;
|
|
18703
|
+
};
|
|
18469
18704
|
cookie?: never;
|
|
18470
18705
|
};
|
|
18471
|
-
requestBody
|
|
18706
|
+
requestBody: {
|
|
18707
|
+
content: {
|
|
18708
|
+
"application/json": {
|
|
18709
|
+
/** @description Id of an Organization of this tenant, or `null` to take the team out of its organization. */
|
|
18710
|
+
organization: string | null;
|
|
18711
|
+
};
|
|
18712
|
+
};
|
|
18713
|
+
};
|
|
18472
18714
|
responses: {
|
|
18473
|
-
/** @description
|
|
18715
|
+
/** @description Team */
|
|
18474
18716
|
200: {
|
|
18475
18717
|
headers: {
|
|
18476
18718
|
[name: string]: unknown;
|
|
18477
18719
|
};
|
|
18478
18720
|
content: {
|
|
18479
18721
|
"application/json": {
|
|
18480
|
-
|
|
18481
|
-
|
|
18722
|
+
/** @description Team ID */
|
|
18723
|
+
id: string;
|
|
18724
|
+
/**
|
|
18725
|
+
* @description Human-readable name of the team. Shown in the dashboard and in team-picker UI.
|
|
18726
|
+
* @example Acme Engineering
|
|
18727
|
+
*/
|
|
18728
|
+
name: string;
|
|
18729
|
+
/**
|
|
18730
|
+
* @description URL-safe identifier auto-derived from `name`. Unique within the tenant; used in routes that address a team by slug.
|
|
18731
|
+
* @example acme-engineering
|
|
18732
|
+
*/
|
|
18733
|
+
slug: string;
|
|
18734
|
+
/** @description Optional free-form description of the team. */
|
|
18735
|
+
description: string | null;
|
|
18736
|
+
/** @description Optional URL of an image used as the team avatar/logo. */
|
|
18737
|
+
logo_url: string | null;
|
|
18738
|
+
/** @description Id of the Organization the team belongs to, or `null`. Changed only with `PUT /team/{team_id}/organization`. */
|
|
18739
|
+
organization?: string | null;
|
|
18740
|
+
/** @description Object is related with this account */
|
|
18741
|
+
account: string;
|
|
18742
|
+
/**
|
|
18743
|
+
* @description TeamMetadata
|
|
18744
|
+
* @default {}
|
|
18745
|
+
*/
|
|
18746
|
+
metadata: {
|
|
18747
|
+
[key: string]: unknown;
|
|
18748
|
+
};
|
|
18749
|
+
/** @description Team creation date */
|
|
18750
|
+
createdAt: string;
|
|
18751
|
+
/** @description Team updated date */
|
|
18752
|
+
updatedAt?: string;
|
|
18482
18753
|
};
|
|
18483
18754
|
};
|
|
18484
18755
|
};
|
|
18485
|
-
/**
|
|
18486
|
-
* @description `invalid_query` — The `?query=` FaableQL expression could not be parsed.
|
|
18487
|
-
*
|
|
18488
|
-
* `invalid_expand` — An `?expand=` path is not allowed on this resource.
|
|
18489
|
-
*
|
|
18490
|
-
* `search_not_supported` — This resource does not support `?search=`.
|
|
18491
|
-
*
|
|
18492
|
-
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
18493
|
-
*/
|
|
18756
|
+
/** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
|
|
18494
18757
|
400: {
|
|
18495
18758
|
headers: {
|
|
18496
18759
|
[name: string]: unknown;
|
|
@@ -18498,7 +18761,7 @@ export interface operations {
|
|
|
18498
18761
|
content: {
|
|
18499
18762
|
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18500
18763
|
/** @enum {string} */
|
|
18501
|
-
error_code?: "
|
|
18764
|
+
error_code?: "validation_error";
|
|
18502
18765
|
};
|
|
18503
18766
|
};
|
|
18504
18767
|
};
|
|
@@ -18532,7 +18795,13 @@ export interface operations {
|
|
|
18532
18795
|
};
|
|
18533
18796
|
};
|
|
18534
18797
|
};
|
|
18535
|
-
/**
|
|
18798
|
+
/**
|
|
18799
|
+
* @description `not_found` — The resource does not exist in this account.
|
|
18800
|
+
*
|
|
18801
|
+
* `organization_not_found` — No organization with that id in this account.
|
|
18802
|
+
*
|
|
18803
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
18804
|
+
*/
|
|
18536
18805
|
404: {
|
|
18537
18806
|
headers: {
|
|
18538
18807
|
[name: string]: unknown;
|
|
@@ -18540,7 +18809,7 @@ export interface operations {
|
|
|
18540
18809
|
content: {
|
|
18541
18810
|
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18542
18811
|
/** @enum {string} */
|
|
18543
|
-
error_code?: "account_not_found";
|
|
18812
|
+
error_code?: "not_found" | "organization_not_found" | "account_not_found";
|
|
18544
18813
|
};
|
|
18545
18814
|
};
|
|
18546
18815
|
};
|
|
@@ -18570,48 +18839,1194 @@ export interface operations {
|
|
|
18570
18839
|
};
|
|
18571
18840
|
};
|
|
18572
18841
|
};
|
|
18573
|
-
"
|
|
18842
|
+
"organization/list": {
|
|
18574
18843
|
parameters: {
|
|
18575
18844
|
query?: {
|
|
18576
|
-
/** @description
|
|
18577
|
-
|
|
18845
|
+
/** @description Number of items per page (max 200) */
|
|
18846
|
+
pageSize?: number;
|
|
18847
|
+
/** @description Cursor for next page */
|
|
18848
|
+
cursor?: string;
|
|
18849
|
+
/** @description Cursor returned by the previous page */
|
|
18850
|
+
next?: string;
|
|
18851
|
+
/** @description Filter using a FaableQL query */
|
|
18852
|
+
query?: string;
|
|
18853
|
+
/** @description Full-text search across: `name`, `slug`. */
|
|
18854
|
+
q?: string;
|
|
18578
18855
|
};
|
|
18579
18856
|
header?: never;
|
|
18580
|
-
path
|
|
18581
|
-
teammember_id: string;
|
|
18582
|
-
};
|
|
18857
|
+
path?: never;
|
|
18583
18858
|
cookie?: never;
|
|
18584
18859
|
};
|
|
18585
18860
|
requestBody?: never;
|
|
18586
18861
|
responses: {
|
|
18587
|
-
/** @description
|
|
18862
|
+
/** @description Default Response */
|
|
18588
18863
|
200: {
|
|
18589
18864
|
headers: {
|
|
18590
18865
|
[name: string]: unknown;
|
|
18591
18866
|
};
|
|
18592
18867
|
content: {
|
|
18593
18868
|
"application/json": {
|
|
18594
|
-
|
|
18595
|
-
|
|
18596
|
-
|
|
18597
|
-
|
|
18598
|
-
|
|
18599
|
-
|
|
18600
|
-
|
|
18601
|
-
|
|
18602
|
-
|
|
18603
|
-
|
|
18604
|
-
|
|
18605
|
-
|
|
18606
|
-
|
|
18607
|
-
|
|
18608
|
-
|
|
18609
|
-
|
|
18610
|
-
|
|
18611
|
-
|
|
18612
|
-
|
|
18613
|
-
|
|
18614
|
-
|
|
18869
|
+
next: string | null;
|
|
18870
|
+
results: components["schemas"]["Organization"][];
|
|
18871
|
+
};
|
|
18872
|
+
};
|
|
18873
|
+
};
|
|
18874
|
+
/**
|
|
18875
|
+
* @description `invalid_query` — The `?query=` FaableQL expression could not be parsed.
|
|
18876
|
+
*
|
|
18877
|
+
* `invalid_expand` — An `?expand=` path is not allowed on this resource.
|
|
18878
|
+
*
|
|
18879
|
+
* `search_not_supported` — This resource does not support `?search=`.
|
|
18880
|
+
*
|
|
18881
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
18882
|
+
*/
|
|
18883
|
+
400: {
|
|
18884
|
+
headers: {
|
|
18885
|
+
[name: string]: unknown;
|
|
18886
|
+
};
|
|
18887
|
+
content: {
|
|
18888
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18889
|
+
/** @enum {string} */
|
|
18890
|
+
error_code?: "invalid_query" | "invalid_expand" | "search_not_supported" | "validation_error";
|
|
18891
|
+
};
|
|
18892
|
+
};
|
|
18893
|
+
};
|
|
18894
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
18895
|
+
401: {
|
|
18896
|
+
headers: {
|
|
18897
|
+
[name: string]: unknown;
|
|
18898
|
+
};
|
|
18899
|
+
content: {
|
|
18900
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18901
|
+
/** @enum {string} */
|
|
18902
|
+
error_code?: "unauthorized";
|
|
18903
|
+
};
|
|
18904
|
+
};
|
|
18905
|
+
};
|
|
18906
|
+
/**
|
|
18907
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
18908
|
+
*
|
|
18909
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
18910
|
+
*
|
|
18911
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
18912
|
+
*/
|
|
18913
|
+
403: {
|
|
18914
|
+
headers: {
|
|
18915
|
+
[name: string]: unknown;
|
|
18916
|
+
};
|
|
18917
|
+
content: {
|
|
18918
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18919
|
+
/** @enum {string} */
|
|
18920
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
18921
|
+
};
|
|
18922
|
+
};
|
|
18923
|
+
};
|
|
18924
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
18925
|
+
404: {
|
|
18926
|
+
headers: {
|
|
18927
|
+
[name: string]: unknown;
|
|
18928
|
+
};
|
|
18929
|
+
content: {
|
|
18930
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18931
|
+
/** @enum {string} */
|
|
18932
|
+
error_code?: "account_not_found";
|
|
18933
|
+
};
|
|
18934
|
+
};
|
|
18935
|
+
};
|
|
18936
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
18937
|
+
429: {
|
|
18938
|
+
headers: {
|
|
18939
|
+
[name: string]: unknown;
|
|
18940
|
+
};
|
|
18941
|
+
content: {
|
|
18942
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18943
|
+
/** @enum {string} */
|
|
18944
|
+
error_code?: "too_many_requests";
|
|
18945
|
+
};
|
|
18946
|
+
};
|
|
18947
|
+
};
|
|
18948
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
18949
|
+
500: {
|
|
18950
|
+
headers: {
|
|
18951
|
+
[name: string]: unknown;
|
|
18952
|
+
};
|
|
18953
|
+
content: {
|
|
18954
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
18955
|
+
/** @enum {string} */
|
|
18956
|
+
error_code?: "internal_error";
|
|
18957
|
+
};
|
|
18958
|
+
};
|
|
18959
|
+
};
|
|
18960
|
+
};
|
|
18961
|
+
};
|
|
18962
|
+
"organization/create": {
|
|
18963
|
+
parameters: {
|
|
18964
|
+
query?: never;
|
|
18965
|
+
header?: never;
|
|
18966
|
+
path?: never;
|
|
18967
|
+
cookie?: never;
|
|
18968
|
+
};
|
|
18969
|
+
/** @description OrganizationCreate */
|
|
18970
|
+
requestBody: {
|
|
18971
|
+
content: {
|
|
18972
|
+
"application/json": {
|
|
18973
|
+
/**
|
|
18974
|
+
* @description Human-readable name of the organization.
|
|
18975
|
+
* @example Acme Inc.
|
|
18976
|
+
*/
|
|
18977
|
+
name: string;
|
|
18978
|
+
/** @description Optional free-form description. */
|
|
18979
|
+
description?: string;
|
|
18980
|
+
/**
|
|
18981
|
+
* Format: uri
|
|
18982
|
+
* @description Optional URL of the organization logo.
|
|
18983
|
+
*/
|
|
18984
|
+
logo_url?: string;
|
|
18985
|
+
/** @description Initial admins (user ids of this tenant). Can be empty and filled later with `POST /organization/{organization_id}/admin`. */
|
|
18986
|
+
admins?: string[];
|
|
18987
|
+
/** @description Add Metadata */
|
|
18988
|
+
metadata?: {
|
|
18989
|
+
[key: string]: unknown;
|
|
18990
|
+
};
|
|
18991
|
+
};
|
|
18992
|
+
};
|
|
18993
|
+
};
|
|
18994
|
+
responses: {
|
|
18995
|
+
/** @description Organization */
|
|
18996
|
+
200: {
|
|
18997
|
+
headers: {
|
|
18998
|
+
[name: string]: unknown;
|
|
18999
|
+
};
|
|
19000
|
+
content: {
|
|
19001
|
+
"application/json": {
|
|
19002
|
+
/** @description Organization ID */
|
|
19003
|
+
id: string;
|
|
19004
|
+
/**
|
|
19005
|
+
* @description Human-readable name of the organization.
|
|
19006
|
+
* @example Acme Inc.
|
|
19007
|
+
*/
|
|
19008
|
+
name: string;
|
|
19009
|
+
/**
|
|
19010
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
19011
|
+
* @example acme-inc
|
|
19012
|
+
*/
|
|
19013
|
+
slug: string;
|
|
19014
|
+
/** @description Optional free-form description. */
|
|
19015
|
+
description: string | null;
|
|
19016
|
+
/** @description Optional URL of the organization logo. */
|
|
19017
|
+
logo_url: string | null;
|
|
19018
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
19019
|
+
admins: string[];
|
|
19020
|
+
/** @description Object is related with this account */
|
|
19021
|
+
account: string;
|
|
19022
|
+
/**
|
|
19023
|
+
* @description OrganizationMetadata
|
|
19024
|
+
* @default {}
|
|
19025
|
+
*/
|
|
19026
|
+
metadata: {
|
|
19027
|
+
[key: string]: unknown;
|
|
19028
|
+
};
|
|
19029
|
+
/** @description Organization creation date */
|
|
19030
|
+
createdAt: string;
|
|
19031
|
+
/** @description Organization updated date */
|
|
19032
|
+
updatedAt?: string;
|
|
19033
|
+
};
|
|
19034
|
+
};
|
|
19035
|
+
};
|
|
19036
|
+
/**
|
|
19037
|
+
* @description `already_exists` — A resource with the same unique field already exists (for a user, usually `email`). `details.fields` names the field.
|
|
19038
|
+
*
|
|
19039
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
19040
|
+
*/
|
|
19041
|
+
400: {
|
|
19042
|
+
headers: {
|
|
19043
|
+
[name: string]: unknown;
|
|
19044
|
+
};
|
|
19045
|
+
content: {
|
|
19046
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19047
|
+
/** @enum {string} */
|
|
19048
|
+
error_code?: "already_exists" | "validation_error";
|
|
19049
|
+
};
|
|
19050
|
+
};
|
|
19051
|
+
};
|
|
19052
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19053
|
+
401: {
|
|
19054
|
+
headers: {
|
|
19055
|
+
[name: string]: unknown;
|
|
19056
|
+
};
|
|
19057
|
+
content: {
|
|
19058
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19059
|
+
/** @enum {string} */
|
|
19060
|
+
error_code?: "unauthorized";
|
|
19061
|
+
};
|
|
19062
|
+
};
|
|
19063
|
+
};
|
|
19064
|
+
/**
|
|
19065
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19066
|
+
*
|
|
19067
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19068
|
+
*
|
|
19069
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19070
|
+
*/
|
|
19071
|
+
403: {
|
|
19072
|
+
headers: {
|
|
19073
|
+
[name: string]: unknown;
|
|
19074
|
+
};
|
|
19075
|
+
content: {
|
|
19076
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19077
|
+
/** @enum {string} */
|
|
19078
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19079
|
+
};
|
|
19080
|
+
};
|
|
19081
|
+
};
|
|
19082
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
19083
|
+
404: {
|
|
19084
|
+
headers: {
|
|
19085
|
+
[name: string]: unknown;
|
|
19086
|
+
};
|
|
19087
|
+
content: {
|
|
19088
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19089
|
+
/** @enum {string} */
|
|
19090
|
+
error_code?: "account_not_found";
|
|
19091
|
+
};
|
|
19092
|
+
};
|
|
19093
|
+
};
|
|
19094
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19095
|
+
429: {
|
|
19096
|
+
headers: {
|
|
19097
|
+
[name: string]: unknown;
|
|
19098
|
+
};
|
|
19099
|
+
content: {
|
|
19100
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19101
|
+
/** @enum {string} */
|
|
19102
|
+
error_code?: "too_many_requests";
|
|
19103
|
+
};
|
|
19104
|
+
};
|
|
19105
|
+
};
|
|
19106
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19107
|
+
500: {
|
|
19108
|
+
headers: {
|
|
19109
|
+
[name: string]: unknown;
|
|
19110
|
+
};
|
|
19111
|
+
content: {
|
|
19112
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19113
|
+
/** @enum {string} */
|
|
19114
|
+
error_code?: "internal_error";
|
|
19115
|
+
};
|
|
19116
|
+
};
|
|
19117
|
+
};
|
|
19118
|
+
};
|
|
19119
|
+
};
|
|
19120
|
+
"organization/get": {
|
|
19121
|
+
parameters: {
|
|
19122
|
+
query?: never;
|
|
19123
|
+
header?: never;
|
|
19124
|
+
path: {
|
|
19125
|
+
organization_id: string;
|
|
19126
|
+
};
|
|
19127
|
+
cookie?: never;
|
|
19128
|
+
};
|
|
19129
|
+
requestBody?: never;
|
|
19130
|
+
responses: {
|
|
19131
|
+
/** @description Organization */
|
|
19132
|
+
200: {
|
|
19133
|
+
headers: {
|
|
19134
|
+
[name: string]: unknown;
|
|
19135
|
+
};
|
|
19136
|
+
content: {
|
|
19137
|
+
"application/json": {
|
|
19138
|
+
/** @description Organization ID */
|
|
19139
|
+
id: string;
|
|
19140
|
+
/**
|
|
19141
|
+
* @description Human-readable name of the organization.
|
|
19142
|
+
* @example Acme Inc.
|
|
19143
|
+
*/
|
|
19144
|
+
name: string;
|
|
19145
|
+
/**
|
|
19146
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
19147
|
+
* @example acme-inc
|
|
19148
|
+
*/
|
|
19149
|
+
slug: string;
|
|
19150
|
+
/** @description Optional free-form description. */
|
|
19151
|
+
description: string | null;
|
|
19152
|
+
/** @description Optional URL of the organization logo. */
|
|
19153
|
+
logo_url: string | null;
|
|
19154
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
19155
|
+
admins: string[];
|
|
19156
|
+
/** @description Object is related with this account */
|
|
19157
|
+
account: string;
|
|
19158
|
+
/**
|
|
19159
|
+
* @description OrganizationMetadata
|
|
19160
|
+
* @default {}
|
|
19161
|
+
*/
|
|
19162
|
+
metadata: {
|
|
19163
|
+
[key: string]: unknown;
|
|
19164
|
+
};
|
|
19165
|
+
/** @description Organization creation date */
|
|
19166
|
+
createdAt: string;
|
|
19167
|
+
/** @description Organization updated date */
|
|
19168
|
+
updatedAt?: string;
|
|
19169
|
+
};
|
|
19170
|
+
};
|
|
19171
|
+
};
|
|
19172
|
+
/**
|
|
19173
|
+
* @description `invalid_id` — The id in the path is not a valid id for this resource.
|
|
19174
|
+
*
|
|
19175
|
+
* `invalid_expand` — An `?expand=` path is not allowed on this resource.
|
|
19176
|
+
*
|
|
19177
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
19178
|
+
*/
|
|
19179
|
+
400: {
|
|
19180
|
+
headers: {
|
|
19181
|
+
[name: string]: unknown;
|
|
19182
|
+
};
|
|
19183
|
+
content: {
|
|
19184
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19185
|
+
/** @enum {string} */
|
|
19186
|
+
error_code?: "invalid_id" | "invalid_expand" | "validation_error";
|
|
19187
|
+
};
|
|
19188
|
+
};
|
|
19189
|
+
};
|
|
19190
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19191
|
+
401: {
|
|
19192
|
+
headers: {
|
|
19193
|
+
[name: string]: unknown;
|
|
19194
|
+
};
|
|
19195
|
+
content: {
|
|
19196
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19197
|
+
/** @enum {string} */
|
|
19198
|
+
error_code?: "unauthorized";
|
|
19199
|
+
};
|
|
19200
|
+
};
|
|
19201
|
+
};
|
|
19202
|
+
/**
|
|
19203
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19204
|
+
*
|
|
19205
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19206
|
+
*
|
|
19207
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19208
|
+
*/
|
|
19209
|
+
403: {
|
|
19210
|
+
headers: {
|
|
19211
|
+
[name: string]: unknown;
|
|
19212
|
+
};
|
|
19213
|
+
content: {
|
|
19214
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19215
|
+
/** @enum {string} */
|
|
19216
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19217
|
+
};
|
|
19218
|
+
};
|
|
19219
|
+
};
|
|
19220
|
+
/**
|
|
19221
|
+
* @description `not_found` — The resource does not exist in this account.
|
|
19222
|
+
*
|
|
19223
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
19224
|
+
*/
|
|
19225
|
+
404: {
|
|
19226
|
+
headers: {
|
|
19227
|
+
[name: string]: unknown;
|
|
19228
|
+
};
|
|
19229
|
+
content: {
|
|
19230
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19231
|
+
/** @enum {string} */
|
|
19232
|
+
error_code?: "not_found" | "account_not_found";
|
|
19233
|
+
};
|
|
19234
|
+
};
|
|
19235
|
+
};
|
|
19236
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19237
|
+
429: {
|
|
19238
|
+
headers: {
|
|
19239
|
+
[name: string]: unknown;
|
|
19240
|
+
};
|
|
19241
|
+
content: {
|
|
19242
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19243
|
+
/** @enum {string} */
|
|
19244
|
+
error_code?: "too_many_requests";
|
|
19245
|
+
};
|
|
19246
|
+
};
|
|
19247
|
+
};
|
|
19248
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19249
|
+
500: {
|
|
19250
|
+
headers: {
|
|
19251
|
+
[name: string]: unknown;
|
|
19252
|
+
};
|
|
19253
|
+
content: {
|
|
19254
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19255
|
+
/** @enum {string} */
|
|
19256
|
+
error_code?: "internal_error";
|
|
19257
|
+
};
|
|
19258
|
+
};
|
|
19259
|
+
};
|
|
19260
|
+
};
|
|
19261
|
+
};
|
|
19262
|
+
"organization/update": {
|
|
19263
|
+
parameters: {
|
|
19264
|
+
query?: never;
|
|
19265
|
+
header?: never;
|
|
19266
|
+
path: {
|
|
19267
|
+
organization_id: string;
|
|
19268
|
+
};
|
|
19269
|
+
cookie?: never;
|
|
19270
|
+
};
|
|
19271
|
+
/** @description Partial update for an Organization. `slug` is derived from `name` on creation and is not editable; admins change through `/organization/{organization_id}/admin`. */
|
|
19272
|
+
requestBody: {
|
|
19273
|
+
content: {
|
|
19274
|
+
"application/json": {
|
|
19275
|
+
/** @description New human-readable name. */
|
|
19276
|
+
name?: string;
|
|
19277
|
+
/** @description New free-form description. */
|
|
19278
|
+
description?: string;
|
|
19279
|
+
/**
|
|
19280
|
+
* Format: uri
|
|
19281
|
+
* @description New URL of the organization logo.
|
|
19282
|
+
*/
|
|
19283
|
+
logo_url?: string;
|
|
19284
|
+
/** @description Arbitrary key/value pairs. Replaces the previous metadata entirely. */
|
|
19285
|
+
metadata?: {
|
|
19286
|
+
[key: string]: unknown;
|
|
19287
|
+
};
|
|
19288
|
+
};
|
|
19289
|
+
};
|
|
19290
|
+
};
|
|
19291
|
+
responses: {
|
|
19292
|
+
/** @description Organization */
|
|
19293
|
+
200: {
|
|
19294
|
+
headers: {
|
|
19295
|
+
[name: string]: unknown;
|
|
19296
|
+
};
|
|
19297
|
+
content: {
|
|
19298
|
+
"application/json": {
|
|
19299
|
+
/** @description Organization ID */
|
|
19300
|
+
id: string;
|
|
19301
|
+
/**
|
|
19302
|
+
* @description Human-readable name of the organization.
|
|
19303
|
+
* @example Acme Inc.
|
|
19304
|
+
*/
|
|
19305
|
+
name: string;
|
|
19306
|
+
/**
|
|
19307
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
19308
|
+
* @example acme-inc
|
|
19309
|
+
*/
|
|
19310
|
+
slug: string;
|
|
19311
|
+
/** @description Optional free-form description. */
|
|
19312
|
+
description: string | null;
|
|
19313
|
+
/** @description Optional URL of the organization logo. */
|
|
19314
|
+
logo_url: string | null;
|
|
19315
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
19316
|
+
admins: string[];
|
|
19317
|
+
/** @description Object is related with this account */
|
|
19318
|
+
account: string;
|
|
19319
|
+
/**
|
|
19320
|
+
* @description OrganizationMetadata
|
|
19321
|
+
* @default {}
|
|
19322
|
+
*/
|
|
19323
|
+
metadata: {
|
|
19324
|
+
[key: string]: unknown;
|
|
19325
|
+
};
|
|
19326
|
+
/** @description Organization creation date */
|
|
19327
|
+
createdAt: string;
|
|
19328
|
+
/** @description Organization updated date */
|
|
19329
|
+
updatedAt?: string;
|
|
19330
|
+
};
|
|
19331
|
+
};
|
|
19332
|
+
};
|
|
19333
|
+
/**
|
|
19334
|
+
* @description `invalid_id` — The id in the path is not a valid id for this resource.
|
|
19335
|
+
*
|
|
19336
|
+
* `already_exists` — A resource with the same unique field already exists (for a user, usually `email`). `details.fields` names the field.
|
|
19337
|
+
*
|
|
19338
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
19339
|
+
*/
|
|
19340
|
+
400: {
|
|
19341
|
+
headers: {
|
|
19342
|
+
[name: string]: unknown;
|
|
19343
|
+
};
|
|
19344
|
+
content: {
|
|
19345
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19346
|
+
/** @enum {string} */
|
|
19347
|
+
error_code?: "invalid_id" | "already_exists" | "validation_error";
|
|
19348
|
+
};
|
|
19349
|
+
};
|
|
19350
|
+
};
|
|
19351
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19352
|
+
401: {
|
|
19353
|
+
headers: {
|
|
19354
|
+
[name: string]: unknown;
|
|
19355
|
+
};
|
|
19356
|
+
content: {
|
|
19357
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19358
|
+
/** @enum {string} */
|
|
19359
|
+
error_code?: "unauthorized";
|
|
19360
|
+
};
|
|
19361
|
+
};
|
|
19362
|
+
};
|
|
19363
|
+
/**
|
|
19364
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19365
|
+
*
|
|
19366
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19367
|
+
*
|
|
19368
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19369
|
+
*/
|
|
19370
|
+
403: {
|
|
19371
|
+
headers: {
|
|
19372
|
+
[name: string]: unknown;
|
|
19373
|
+
};
|
|
19374
|
+
content: {
|
|
19375
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19376
|
+
/** @enum {string} */
|
|
19377
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19378
|
+
};
|
|
19379
|
+
};
|
|
19380
|
+
};
|
|
19381
|
+
/**
|
|
19382
|
+
* @description `not_found` — The resource does not exist in this account.
|
|
19383
|
+
*
|
|
19384
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
19385
|
+
*/
|
|
19386
|
+
404: {
|
|
19387
|
+
headers: {
|
|
19388
|
+
[name: string]: unknown;
|
|
19389
|
+
};
|
|
19390
|
+
content: {
|
|
19391
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19392
|
+
/** @enum {string} */
|
|
19393
|
+
error_code?: "not_found" | "account_not_found";
|
|
19394
|
+
};
|
|
19395
|
+
};
|
|
19396
|
+
};
|
|
19397
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19398
|
+
429: {
|
|
19399
|
+
headers: {
|
|
19400
|
+
[name: string]: unknown;
|
|
19401
|
+
};
|
|
19402
|
+
content: {
|
|
19403
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19404
|
+
/** @enum {string} */
|
|
19405
|
+
error_code?: "too_many_requests";
|
|
19406
|
+
};
|
|
19407
|
+
};
|
|
19408
|
+
};
|
|
19409
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19410
|
+
500: {
|
|
19411
|
+
headers: {
|
|
19412
|
+
[name: string]: unknown;
|
|
19413
|
+
};
|
|
19414
|
+
content: {
|
|
19415
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19416
|
+
/** @enum {string} */
|
|
19417
|
+
error_code?: "internal_error";
|
|
19418
|
+
};
|
|
19419
|
+
};
|
|
19420
|
+
};
|
|
19421
|
+
};
|
|
19422
|
+
};
|
|
19423
|
+
"organization/delete": {
|
|
19424
|
+
parameters: {
|
|
19425
|
+
query?: never;
|
|
19426
|
+
header?: never;
|
|
19427
|
+
path: {
|
|
19428
|
+
organization_id: string;
|
|
19429
|
+
};
|
|
19430
|
+
cookie?: never;
|
|
19431
|
+
};
|
|
19432
|
+
requestBody?: never;
|
|
19433
|
+
responses: {
|
|
19434
|
+
/** @description Organization */
|
|
19435
|
+
200: {
|
|
19436
|
+
headers: {
|
|
19437
|
+
[name: string]: unknown;
|
|
19438
|
+
};
|
|
19439
|
+
content: {
|
|
19440
|
+
"application/json": {
|
|
19441
|
+
/** @description Organization ID */
|
|
19442
|
+
id: string;
|
|
19443
|
+
/**
|
|
19444
|
+
* @description Human-readable name of the organization.
|
|
19445
|
+
* @example Acme Inc.
|
|
19446
|
+
*/
|
|
19447
|
+
name: string;
|
|
19448
|
+
/**
|
|
19449
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
19450
|
+
* @example acme-inc
|
|
19451
|
+
*/
|
|
19452
|
+
slug: string;
|
|
19453
|
+
/** @description Optional free-form description. */
|
|
19454
|
+
description: string | null;
|
|
19455
|
+
/** @description Optional URL of the organization logo. */
|
|
19456
|
+
logo_url: string | null;
|
|
19457
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
19458
|
+
admins: string[];
|
|
19459
|
+
/** @description Object is related with this account */
|
|
19460
|
+
account: string;
|
|
19461
|
+
/**
|
|
19462
|
+
* @description OrganizationMetadata
|
|
19463
|
+
* @default {}
|
|
19464
|
+
*/
|
|
19465
|
+
metadata: {
|
|
19466
|
+
[key: string]: unknown;
|
|
19467
|
+
};
|
|
19468
|
+
/** @description Organization creation date */
|
|
19469
|
+
createdAt: string;
|
|
19470
|
+
/** @description Organization updated date */
|
|
19471
|
+
updatedAt?: string;
|
|
19472
|
+
};
|
|
19473
|
+
};
|
|
19474
|
+
};
|
|
19475
|
+
/**
|
|
19476
|
+
* @description `invalid_id` — The id in the path is not a valid id for this resource.
|
|
19477
|
+
*
|
|
19478
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
19479
|
+
*/
|
|
19480
|
+
400: {
|
|
19481
|
+
headers: {
|
|
19482
|
+
[name: string]: unknown;
|
|
19483
|
+
};
|
|
19484
|
+
content: {
|
|
19485
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19486
|
+
/** @enum {string} */
|
|
19487
|
+
error_code?: "invalid_id" | "validation_error";
|
|
19488
|
+
};
|
|
19489
|
+
};
|
|
19490
|
+
};
|
|
19491
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19492
|
+
401: {
|
|
19493
|
+
headers: {
|
|
19494
|
+
[name: string]: unknown;
|
|
19495
|
+
};
|
|
19496
|
+
content: {
|
|
19497
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19498
|
+
/** @enum {string} */
|
|
19499
|
+
error_code?: "unauthorized";
|
|
19500
|
+
};
|
|
19501
|
+
};
|
|
19502
|
+
};
|
|
19503
|
+
/**
|
|
19504
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19505
|
+
*
|
|
19506
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19507
|
+
*
|
|
19508
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19509
|
+
*/
|
|
19510
|
+
403: {
|
|
19511
|
+
headers: {
|
|
19512
|
+
[name: string]: unknown;
|
|
19513
|
+
};
|
|
19514
|
+
content: {
|
|
19515
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19516
|
+
/** @enum {string} */
|
|
19517
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19518
|
+
};
|
|
19519
|
+
};
|
|
19520
|
+
};
|
|
19521
|
+
/**
|
|
19522
|
+
* @description `not_found` — The resource does not exist in this account.
|
|
19523
|
+
*
|
|
19524
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
19525
|
+
*/
|
|
19526
|
+
404: {
|
|
19527
|
+
headers: {
|
|
19528
|
+
[name: string]: unknown;
|
|
19529
|
+
};
|
|
19530
|
+
content: {
|
|
19531
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19532
|
+
/** @enum {string} */
|
|
19533
|
+
error_code?: "not_found" | "account_not_found";
|
|
19534
|
+
};
|
|
19535
|
+
};
|
|
19536
|
+
};
|
|
19537
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19538
|
+
429: {
|
|
19539
|
+
headers: {
|
|
19540
|
+
[name: string]: unknown;
|
|
19541
|
+
};
|
|
19542
|
+
content: {
|
|
19543
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19544
|
+
/** @enum {string} */
|
|
19545
|
+
error_code?: "too_many_requests";
|
|
19546
|
+
};
|
|
19547
|
+
};
|
|
19548
|
+
};
|
|
19549
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19550
|
+
500: {
|
|
19551
|
+
headers: {
|
|
19552
|
+
[name: string]: unknown;
|
|
19553
|
+
};
|
|
19554
|
+
content: {
|
|
19555
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19556
|
+
/** @enum {string} */
|
|
19557
|
+
error_code?: "internal_error";
|
|
19558
|
+
};
|
|
19559
|
+
};
|
|
19560
|
+
};
|
|
19561
|
+
};
|
|
19562
|
+
};
|
|
19563
|
+
"organization/addAdmin": {
|
|
19564
|
+
parameters: {
|
|
19565
|
+
query?: never;
|
|
19566
|
+
header?: never;
|
|
19567
|
+
path: {
|
|
19568
|
+
organization_id: string;
|
|
19569
|
+
};
|
|
19570
|
+
cookie?: never;
|
|
19571
|
+
};
|
|
19572
|
+
requestBody: {
|
|
19573
|
+
content: {
|
|
19574
|
+
"application/json": {
|
|
19575
|
+
/**
|
|
19576
|
+
* @description Id of a user of this tenant.
|
|
19577
|
+
* @example user_6555fd29a1b2c3d4e5f60718
|
|
19578
|
+
*/
|
|
19579
|
+
user_id: string;
|
|
19580
|
+
};
|
|
19581
|
+
};
|
|
19582
|
+
};
|
|
19583
|
+
responses: {
|
|
19584
|
+
/** @description Organization */
|
|
19585
|
+
200: {
|
|
19586
|
+
headers: {
|
|
19587
|
+
[name: string]: unknown;
|
|
19588
|
+
};
|
|
19589
|
+
content: {
|
|
19590
|
+
"application/json": {
|
|
19591
|
+
/** @description Organization ID */
|
|
19592
|
+
id: string;
|
|
19593
|
+
/**
|
|
19594
|
+
* @description Human-readable name of the organization.
|
|
19595
|
+
* @example Acme Inc.
|
|
19596
|
+
*/
|
|
19597
|
+
name: string;
|
|
19598
|
+
/**
|
|
19599
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
19600
|
+
* @example acme-inc
|
|
19601
|
+
*/
|
|
19602
|
+
slug: string;
|
|
19603
|
+
/** @description Optional free-form description. */
|
|
19604
|
+
description: string | null;
|
|
19605
|
+
/** @description Optional URL of the organization logo. */
|
|
19606
|
+
logo_url: string | null;
|
|
19607
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
19608
|
+
admins: string[];
|
|
19609
|
+
/** @description Object is related with this account */
|
|
19610
|
+
account: string;
|
|
19611
|
+
/**
|
|
19612
|
+
* @description OrganizationMetadata
|
|
19613
|
+
* @default {}
|
|
19614
|
+
*/
|
|
19615
|
+
metadata: {
|
|
19616
|
+
[key: string]: unknown;
|
|
19617
|
+
};
|
|
19618
|
+
/** @description Organization creation date */
|
|
19619
|
+
createdAt: string;
|
|
19620
|
+
/** @description Organization updated date */
|
|
19621
|
+
updatedAt?: string;
|
|
19622
|
+
};
|
|
19623
|
+
};
|
|
19624
|
+
};
|
|
19625
|
+
/**
|
|
19626
|
+
* @description `invalid_user` — The user does not exist in this account.
|
|
19627
|
+
*
|
|
19628
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
19629
|
+
*/
|
|
19630
|
+
400: {
|
|
19631
|
+
headers: {
|
|
19632
|
+
[name: string]: unknown;
|
|
19633
|
+
};
|
|
19634
|
+
content: {
|
|
19635
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19636
|
+
/** @enum {string} */
|
|
19637
|
+
error_code?: "invalid_user" | "validation_error";
|
|
19638
|
+
};
|
|
19639
|
+
};
|
|
19640
|
+
};
|
|
19641
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19642
|
+
401: {
|
|
19643
|
+
headers: {
|
|
19644
|
+
[name: string]: unknown;
|
|
19645
|
+
};
|
|
19646
|
+
content: {
|
|
19647
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19648
|
+
/** @enum {string} */
|
|
19649
|
+
error_code?: "unauthorized";
|
|
19650
|
+
};
|
|
19651
|
+
};
|
|
19652
|
+
};
|
|
19653
|
+
/**
|
|
19654
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19655
|
+
*
|
|
19656
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19657
|
+
*
|
|
19658
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19659
|
+
*/
|
|
19660
|
+
403: {
|
|
19661
|
+
headers: {
|
|
19662
|
+
[name: string]: unknown;
|
|
19663
|
+
};
|
|
19664
|
+
content: {
|
|
19665
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19666
|
+
/** @enum {string} */
|
|
19667
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19668
|
+
};
|
|
19669
|
+
};
|
|
19670
|
+
};
|
|
19671
|
+
/**
|
|
19672
|
+
* @description `organization_not_found` — No organization with that id in this account.
|
|
19673
|
+
*
|
|
19674
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
19675
|
+
*/
|
|
19676
|
+
404: {
|
|
19677
|
+
headers: {
|
|
19678
|
+
[name: string]: unknown;
|
|
19679
|
+
};
|
|
19680
|
+
content: {
|
|
19681
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19682
|
+
/** @enum {string} */
|
|
19683
|
+
error_code?: "organization_not_found" | "account_not_found";
|
|
19684
|
+
};
|
|
19685
|
+
};
|
|
19686
|
+
};
|
|
19687
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19688
|
+
429: {
|
|
19689
|
+
headers: {
|
|
19690
|
+
[name: string]: unknown;
|
|
19691
|
+
};
|
|
19692
|
+
content: {
|
|
19693
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19694
|
+
/** @enum {string} */
|
|
19695
|
+
error_code?: "too_many_requests";
|
|
19696
|
+
};
|
|
19697
|
+
};
|
|
19698
|
+
};
|
|
19699
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19700
|
+
500: {
|
|
19701
|
+
headers: {
|
|
19702
|
+
[name: string]: unknown;
|
|
19703
|
+
};
|
|
19704
|
+
content: {
|
|
19705
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19706
|
+
/** @enum {string} */
|
|
19707
|
+
error_code?: "internal_error";
|
|
19708
|
+
};
|
|
19709
|
+
};
|
|
19710
|
+
};
|
|
19711
|
+
};
|
|
19712
|
+
};
|
|
19713
|
+
"organization/removeAdmin": {
|
|
19714
|
+
parameters: {
|
|
19715
|
+
query?: never;
|
|
19716
|
+
header?: never;
|
|
19717
|
+
path: {
|
|
19718
|
+
organization_id: string;
|
|
19719
|
+
user_id: string;
|
|
19720
|
+
};
|
|
19721
|
+
cookie?: never;
|
|
19722
|
+
};
|
|
19723
|
+
requestBody?: never;
|
|
19724
|
+
responses: {
|
|
19725
|
+
/** @description Organization */
|
|
19726
|
+
200: {
|
|
19727
|
+
headers: {
|
|
19728
|
+
[name: string]: unknown;
|
|
19729
|
+
};
|
|
19730
|
+
content: {
|
|
19731
|
+
"application/json": {
|
|
19732
|
+
/** @description Organization ID */
|
|
19733
|
+
id: string;
|
|
19734
|
+
/**
|
|
19735
|
+
* @description Human-readable name of the organization.
|
|
19736
|
+
* @example Acme Inc.
|
|
19737
|
+
*/
|
|
19738
|
+
name: string;
|
|
19739
|
+
/**
|
|
19740
|
+
* @description URL-safe identifier derived from `name`. Unique within the tenant.
|
|
19741
|
+
* @example acme-inc
|
|
19742
|
+
*/
|
|
19743
|
+
slug: string;
|
|
19744
|
+
/** @description Optional free-form description. */
|
|
19745
|
+
description: string | null;
|
|
19746
|
+
/** @description Optional URL of the organization logo. */
|
|
19747
|
+
logo_url: string | null;
|
|
19748
|
+
/** @description Ids of the users who manage the organization: its teams and its identity settings. Being an admin does not grant access to any team; team access is team membership. */
|
|
19749
|
+
admins: string[];
|
|
19750
|
+
/** @description Object is related with this account */
|
|
19751
|
+
account: string;
|
|
19752
|
+
/**
|
|
19753
|
+
* @description OrganizationMetadata
|
|
19754
|
+
* @default {}
|
|
19755
|
+
*/
|
|
19756
|
+
metadata: {
|
|
19757
|
+
[key: string]: unknown;
|
|
19758
|
+
};
|
|
19759
|
+
/** @description Organization creation date */
|
|
19760
|
+
createdAt: string;
|
|
19761
|
+
/** @description Organization updated date */
|
|
19762
|
+
updatedAt?: string;
|
|
19763
|
+
};
|
|
19764
|
+
};
|
|
19765
|
+
};
|
|
19766
|
+
/** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
|
|
19767
|
+
400: {
|
|
19768
|
+
headers: {
|
|
19769
|
+
[name: string]: unknown;
|
|
19770
|
+
};
|
|
19771
|
+
content: {
|
|
19772
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19773
|
+
/** @enum {string} */
|
|
19774
|
+
error_code?: "validation_error";
|
|
19775
|
+
};
|
|
19776
|
+
};
|
|
19777
|
+
};
|
|
19778
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19779
|
+
401: {
|
|
19780
|
+
headers: {
|
|
19781
|
+
[name: string]: unknown;
|
|
19782
|
+
};
|
|
19783
|
+
content: {
|
|
19784
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19785
|
+
/** @enum {string} */
|
|
19786
|
+
error_code?: "unauthorized";
|
|
19787
|
+
};
|
|
19788
|
+
};
|
|
19789
|
+
};
|
|
19790
|
+
/**
|
|
19791
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19792
|
+
*
|
|
19793
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19794
|
+
*
|
|
19795
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19796
|
+
*/
|
|
19797
|
+
403: {
|
|
19798
|
+
headers: {
|
|
19799
|
+
[name: string]: unknown;
|
|
19800
|
+
};
|
|
19801
|
+
content: {
|
|
19802
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19803
|
+
/** @enum {string} */
|
|
19804
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19805
|
+
};
|
|
19806
|
+
};
|
|
19807
|
+
};
|
|
19808
|
+
/**
|
|
19809
|
+
* @description `organization_not_found` — No organization with that id in this account.
|
|
19810
|
+
*
|
|
19811
|
+
* `not_an_organization_admin` — The user is not an admin of the organization.
|
|
19812
|
+
*
|
|
19813
|
+
* `account_not_found` — No Auth Account matches the request (domain, header or token).
|
|
19814
|
+
*/
|
|
19815
|
+
404: {
|
|
19816
|
+
headers: {
|
|
19817
|
+
[name: string]: unknown;
|
|
19818
|
+
};
|
|
19819
|
+
content: {
|
|
19820
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19821
|
+
/** @enum {string} */
|
|
19822
|
+
error_code?: "organization_not_found" | "not_an_organization_admin" | "account_not_found";
|
|
19823
|
+
};
|
|
19824
|
+
};
|
|
19825
|
+
};
|
|
19826
|
+
/** @description `last_organization_admin` — An organization keeps at least one admin. Add another admin before removing this one. */
|
|
19827
|
+
409: {
|
|
19828
|
+
headers: {
|
|
19829
|
+
[name: string]: unknown;
|
|
19830
|
+
};
|
|
19831
|
+
content: {
|
|
19832
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19833
|
+
/** @enum {string} */
|
|
19834
|
+
error_code?: "last_organization_admin";
|
|
19835
|
+
};
|
|
19836
|
+
};
|
|
19837
|
+
};
|
|
19838
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19839
|
+
429: {
|
|
19840
|
+
headers: {
|
|
19841
|
+
[name: string]: unknown;
|
|
19842
|
+
};
|
|
19843
|
+
content: {
|
|
19844
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19845
|
+
/** @enum {string} */
|
|
19846
|
+
error_code?: "too_many_requests";
|
|
19847
|
+
};
|
|
19848
|
+
};
|
|
19849
|
+
};
|
|
19850
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19851
|
+
500: {
|
|
19852
|
+
headers: {
|
|
19853
|
+
[name: string]: unknown;
|
|
19854
|
+
};
|
|
19855
|
+
content: {
|
|
19856
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19857
|
+
/** @enum {string} */
|
|
19858
|
+
error_code?: "internal_error";
|
|
19859
|
+
};
|
|
19860
|
+
};
|
|
19861
|
+
};
|
|
19862
|
+
};
|
|
19863
|
+
};
|
|
19864
|
+
"teammember/list": {
|
|
19865
|
+
parameters: {
|
|
19866
|
+
query?: {
|
|
19867
|
+
/** @description Number of items per page (max 200) */
|
|
19868
|
+
pageSize?: number;
|
|
19869
|
+
/** @description Cursor for next page */
|
|
19870
|
+
cursor?: string;
|
|
19871
|
+
/** @description Cursor returned by the previous page */
|
|
19872
|
+
next?: string;
|
|
19873
|
+
/** @description Exact match on `user`. Equivalent to `?query=user:<value>`. */
|
|
19874
|
+
user?: string;
|
|
19875
|
+
/** @description Exact match on `team`. Equivalent to `?query=team:<value>`. */
|
|
19876
|
+
team?: string;
|
|
19877
|
+
/** @description Filter using a FaableQL query */
|
|
19878
|
+
query?: string;
|
|
19879
|
+
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
19880
|
+
expand?: ("user" | "team" | "roles")[];
|
|
19881
|
+
};
|
|
19882
|
+
header?: never;
|
|
19883
|
+
path?: never;
|
|
19884
|
+
cookie?: never;
|
|
19885
|
+
};
|
|
19886
|
+
requestBody?: never;
|
|
19887
|
+
responses: {
|
|
19888
|
+
/** @description Default Response */
|
|
19889
|
+
200: {
|
|
19890
|
+
headers: {
|
|
19891
|
+
[name: string]: unknown;
|
|
19892
|
+
};
|
|
19893
|
+
content: {
|
|
19894
|
+
"application/json": {
|
|
19895
|
+
next: string | null;
|
|
19896
|
+
results: components["schemas"]["TeamMember"][];
|
|
19897
|
+
};
|
|
19898
|
+
};
|
|
19899
|
+
};
|
|
19900
|
+
/**
|
|
19901
|
+
* @description `invalid_query` — The `?query=` FaableQL expression could not be parsed.
|
|
19902
|
+
*
|
|
19903
|
+
* `invalid_expand` — An `?expand=` path is not allowed on this resource.
|
|
19904
|
+
*
|
|
19905
|
+
* `search_not_supported` — This resource does not support `?search=`.
|
|
19906
|
+
*
|
|
19907
|
+
* `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
|
|
19908
|
+
*/
|
|
19909
|
+
400: {
|
|
19910
|
+
headers: {
|
|
19911
|
+
[name: string]: unknown;
|
|
19912
|
+
};
|
|
19913
|
+
content: {
|
|
19914
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19915
|
+
/** @enum {string} */
|
|
19916
|
+
error_code?: "invalid_query" | "invalid_expand" | "search_not_supported" | "validation_error";
|
|
19917
|
+
};
|
|
19918
|
+
};
|
|
19919
|
+
};
|
|
19920
|
+
/** @description `unauthorized` — The request carries no valid credentials. */
|
|
19921
|
+
401: {
|
|
19922
|
+
headers: {
|
|
19923
|
+
[name: string]: unknown;
|
|
19924
|
+
};
|
|
19925
|
+
content: {
|
|
19926
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19927
|
+
/** @enum {string} */
|
|
19928
|
+
error_code?: "unauthorized";
|
|
19929
|
+
};
|
|
19930
|
+
};
|
|
19931
|
+
};
|
|
19932
|
+
/**
|
|
19933
|
+
* @description `forbidden` — The credentials are valid but do not allow this operation.
|
|
19934
|
+
*
|
|
19935
|
+
* `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
|
|
19936
|
+
*
|
|
19937
|
+
* `user_suspended` — The user is suspended and cannot sign in or be modified.
|
|
19938
|
+
*/
|
|
19939
|
+
403: {
|
|
19940
|
+
headers: {
|
|
19941
|
+
[name: string]: unknown;
|
|
19942
|
+
};
|
|
19943
|
+
content: {
|
|
19944
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19945
|
+
/** @enum {string} */
|
|
19946
|
+
error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
|
|
19947
|
+
};
|
|
19948
|
+
};
|
|
19949
|
+
};
|
|
19950
|
+
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
19951
|
+
404: {
|
|
19952
|
+
headers: {
|
|
19953
|
+
[name: string]: unknown;
|
|
19954
|
+
};
|
|
19955
|
+
content: {
|
|
19956
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19957
|
+
/** @enum {string} */
|
|
19958
|
+
error_code?: "account_not_found";
|
|
19959
|
+
};
|
|
19960
|
+
};
|
|
19961
|
+
};
|
|
19962
|
+
/** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
|
|
19963
|
+
429: {
|
|
19964
|
+
headers: {
|
|
19965
|
+
[name: string]: unknown;
|
|
19966
|
+
};
|
|
19967
|
+
content: {
|
|
19968
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19969
|
+
/** @enum {string} */
|
|
19970
|
+
error_code?: "too_many_requests";
|
|
19971
|
+
};
|
|
19972
|
+
};
|
|
19973
|
+
};
|
|
19974
|
+
/** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
|
|
19975
|
+
500: {
|
|
19976
|
+
headers: {
|
|
19977
|
+
[name: string]: unknown;
|
|
19978
|
+
};
|
|
19979
|
+
content: {
|
|
19980
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
19981
|
+
/** @enum {string} */
|
|
19982
|
+
error_code?: "internal_error";
|
|
19983
|
+
};
|
|
19984
|
+
};
|
|
19985
|
+
};
|
|
19986
|
+
};
|
|
19987
|
+
};
|
|
19988
|
+
"teammember/get": {
|
|
19989
|
+
parameters: {
|
|
19990
|
+
query?: {
|
|
19991
|
+
/** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
|
|
19992
|
+
expand?: ("user" | "team" | "roles")[];
|
|
19993
|
+
};
|
|
19994
|
+
header?: never;
|
|
19995
|
+
path: {
|
|
19996
|
+
teammember_id: string;
|
|
19997
|
+
};
|
|
19998
|
+
cookie?: never;
|
|
19999
|
+
};
|
|
20000
|
+
requestBody?: never;
|
|
20001
|
+
responses: {
|
|
20002
|
+
/** @description TeamMember */
|
|
20003
|
+
200: {
|
|
20004
|
+
headers: {
|
|
20005
|
+
[name: string]: unknown;
|
|
20006
|
+
};
|
|
20007
|
+
content: {
|
|
20008
|
+
"application/json": {
|
|
20009
|
+
/** @description TeamMember ID */
|
|
20010
|
+
id: string;
|
|
20011
|
+
/** @description User that belongs to the team. Returned as an id by default; pass `?expand=user` to inline the full User object. */
|
|
20012
|
+
user: components["schemas"]["User"] | string | unknown;
|
|
20013
|
+
/** @description Team the user belongs to. Returned as an id by default; pass `?expand=team` to inline the full Team object. */
|
|
20014
|
+
team: components["schemas"]["Team"] | string | unknown;
|
|
20015
|
+
/** @description Roles granted to the user *within this team*. Distinct from account-wide RoleMember grants — these only apply in the scope of the team. Each entry is an id by default; pass `?expand=roles` to inline. */
|
|
20016
|
+
roles: (components["schemas"]["Role"] | string | unknown)[];
|
|
20017
|
+
/** @description Object is related with this account */
|
|
20018
|
+
account: string;
|
|
20019
|
+
/**
|
|
20020
|
+
* @description TeamMemberMetadata
|
|
20021
|
+
* @default {}
|
|
20022
|
+
*/
|
|
20023
|
+
metadata: {
|
|
20024
|
+
[key: string]: unknown;
|
|
20025
|
+
};
|
|
20026
|
+
/** @description TeamMember creation date */
|
|
20027
|
+
createdAt: string;
|
|
20028
|
+
/** @description TeamMember updated date */
|
|
20029
|
+
updatedAt?: string;
|
|
18615
20030
|
};
|
|
18616
20031
|
};
|
|
18617
20032
|
};
|
|
@@ -24209,8 +25624,11 @@ export interface operations {
|
|
|
24209
25624
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
24210
25625
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
24211
25626
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
25627
|
+
* - `organization.created`: An organization was created.
|
|
25628
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
25629
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
24212
25630
|
*
|
|
24213
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
25631
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
24214
25632
|
*/
|
|
24215
25633
|
events: string[];
|
|
24216
25634
|
/** @enum {string} */
|
|
@@ -24284,8 +25702,11 @@ export interface operations {
|
|
|
24284
25702
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
24285
25703
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
24286
25704
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
25705
|
+
* - `organization.created`: An organization was created.
|
|
25706
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
25707
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
24287
25708
|
*
|
|
24288
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
25709
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
24289
25710
|
*/
|
|
24290
25711
|
events: string[];
|
|
24291
25712
|
/** @enum {string} */
|
|
@@ -24475,8 +25896,11 @@ export interface operations {
|
|
|
24475
25896
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
24476
25897
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
24477
25898
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
25899
|
+
* - `organization.created`: An organization was created.
|
|
25900
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
25901
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
24478
25902
|
*
|
|
24479
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
25903
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
24480
25904
|
*/
|
|
24481
25905
|
events: string[];
|
|
24482
25906
|
/** @enum {string} */
|
|
@@ -24654,8 +26078,11 @@ export interface operations {
|
|
|
24654
26078
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
24655
26079
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
24656
26080
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
26081
|
+
* - `organization.created`: An organization was created.
|
|
26082
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
26083
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
24657
26084
|
*
|
|
24658
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
26085
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
24659
26086
|
*/
|
|
24660
26087
|
events?: string[];
|
|
24661
26088
|
/** @enum {string} */
|
|
@@ -24729,8 +26156,11 @@ export interface operations {
|
|
|
24729
26156
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
24730
26157
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
24731
26158
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
26159
|
+
* - `organization.created`: An organization was created.
|
|
26160
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
26161
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
24732
26162
|
*
|
|
24733
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
26163
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
24734
26164
|
*/
|
|
24735
26165
|
events: string[];
|
|
24736
26166
|
/** @enum {string} */
|
|
@@ -24926,8 +26356,11 @@ export interface operations {
|
|
|
24926
26356
|
* - `team.invite.created`: An invitation to join a team was created.
|
|
24927
26357
|
* - `team.invite.revoked`: A pending team invitation was revoked.
|
|
24928
26358
|
* - `team.invite.accepted`: A team invitation was accepted.
|
|
26359
|
+
* - `organization.created`: An organization was created.
|
|
26360
|
+
* - `organization.updated`: An organization was updated (name, settings or admins).
|
|
26361
|
+
* - `organization.deleted`: An organization was deleted. Its teams are no longer in any organization; no `team.updated` is sent for them.
|
|
24929
26362
|
*
|
|
24930
|
-
* `team.*` payloads are notices, not state: they carry ids (`team_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
26363
|
+
* `team.*` and `organization.*` payloads are notices, not state: they carry ids (`team_id`, `organization_id`, `user_id`, `roles`, `invite_id`...) and the receiver reads whatever else it needs. Use the delivery id (`x-faable-delivery`) to deduplicate: retries keep it.
|
|
24931
26364
|
*/
|
|
24932
26365
|
events: string[];
|
|
24933
26366
|
/** @enum {string} */
|
|
@@ -28656,6 +30089,8 @@ export interface operations {
|
|
|
28656
30089
|
audience?: string;
|
|
28657
30090
|
/** @description RFC 8707 Resource Indicator. Absolute URI of the target Api, no fragment. Matched against `Api.identifier` in the tenant. */
|
|
28658
30091
|
resource?: string;
|
|
30092
|
+
/** @description client_credentials only. An access token previously returned by this endpoint that a resource server rejected with 401. If it is the cached token for this client, the cache entry is dropped and a new token is issued; otherwise it has no effect. */
|
|
30093
|
+
invalidate_token?: string;
|
|
28659
30094
|
};
|
|
28660
30095
|
header?: never;
|
|
28661
30096
|
path?: never;
|
|
@@ -28757,6 +30192,8 @@ export interface operations {
|
|
|
28757
30192
|
audience?: string;
|
|
28758
30193
|
/** @description RFC 8707 Resource Indicator. Absolute URI of the target Api, no fragment. Matched against `Api.identifier` in the tenant. */
|
|
28759
30194
|
resource?: string;
|
|
30195
|
+
/** @description client_credentials only. An access token previously returned by this endpoint that a resource server rejected with 401. If it is the cached token for this client, the cache entry is dropped and a new token is issued; otherwise it has no effect. */
|
|
30196
|
+
invalidate_token?: string;
|
|
28760
30197
|
};
|
|
28761
30198
|
header?: never;
|
|
28762
30199
|
path?: never;
|
|
@@ -28790,6 +30227,8 @@ export interface operations {
|
|
|
28790
30227
|
audience?: string;
|
|
28791
30228
|
/** @description RFC 8707 Resource Indicator. Absolute URI of the target Api, no fragment. Matched against `Api.identifier` in the tenant. */
|
|
28792
30229
|
resource?: string;
|
|
30230
|
+
/** @description client_credentials only. An access token previously returned by this endpoint that a resource server rejected with 401. If it is the cached token for this client, the cache entry is dropped and a new token is issued; otherwise it has no effect. */
|
|
30231
|
+
invalidate_token?: string;
|
|
28793
30232
|
} & {
|
|
28794
30233
|
[key: string]: unknown;
|
|
28795
30234
|
};
|
|
@@ -29840,6 +31279,18 @@ export interface operations {
|
|
|
29840
31279
|
};
|
|
29841
31280
|
};
|
|
29842
31281
|
};
|
|
31282
|
+
/** @description `registration_disabled` — 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`. */
|
|
31283
|
+
403: {
|
|
31284
|
+
headers: {
|
|
31285
|
+
[name: string]: unknown;
|
|
31286
|
+
};
|
|
31287
|
+
content: {
|
|
31288
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
31289
|
+
/** @enum {string} */
|
|
31290
|
+
error_code?: "registration_disabled";
|
|
31291
|
+
};
|
|
31292
|
+
};
|
|
31293
|
+
};
|
|
29843
31294
|
/** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
|
|
29844
31295
|
404: {
|
|
29845
31296
|
headers: {
|