@automagik/omni 2.260727.2 → 2.260728.2
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/commands/keys.d.ts.map +1 -1
- package/dist/index.js +1244 -183
- package/dist/sdk/types.generated.d.ts +1767 -46
- package/dist/sdk/types.generated.d.ts.map +1 -1
- package/dist/server/index.js +5501 -2135
- package/package.json +1 -1
|
@@ -2151,6 +2151,174 @@ export interface paths {
|
|
|
2151
2151
|
patch?: never;
|
|
2152
2152
|
trace?: never;
|
|
2153
2153
|
};
|
|
2154
|
+
"/platform/tenants": {
|
|
2155
|
+
parameters: {
|
|
2156
|
+
query?: never;
|
|
2157
|
+
header?: never;
|
|
2158
|
+
path?: never;
|
|
2159
|
+
cookie?: never;
|
|
2160
|
+
};
|
|
2161
|
+
/**
|
|
2162
|
+
* List tenants
|
|
2163
|
+
* @description List tenants, newest first. The read itself is audited. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:tenants:read`.
|
|
2164
|
+
*/
|
|
2165
|
+
get: operations["listPlatformTenants"];
|
|
2166
|
+
put?: never;
|
|
2167
|
+
/**
|
|
2168
|
+
* Create a tenant
|
|
2169
|
+
* @description Create a tenant with its mandatory credential ceilings. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:tenants:write`.
|
|
2170
|
+
*/
|
|
2171
|
+
post: operations["createPlatformTenant"];
|
|
2172
|
+
delete?: never;
|
|
2173
|
+
options?: never;
|
|
2174
|
+
head?: never;
|
|
2175
|
+
patch?: never;
|
|
2176
|
+
trace?: never;
|
|
2177
|
+
};
|
|
2178
|
+
"/platform/tenants/{id}": {
|
|
2179
|
+
parameters: {
|
|
2180
|
+
query?: never;
|
|
2181
|
+
header?: never;
|
|
2182
|
+
path?: never;
|
|
2183
|
+
cookie?: never;
|
|
2184
|
+
};
|
|
2185
|
+
/**
|
|
2186
|
+
* Get a tenant
|
|
2187
|
+
* @description Fetch one tenant. The read itself is audited. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:tenants:read`.
|
|
2188
|
+
*/
|
|
2189
|
+
get: operations["getPlatformTenant"];
|
|
2190
|
+
put?: never;
|
|
2191
|
+
post?: never;
|
|
2192
|
+
delete?: never;
|
|
2193
|
+
options?: never;
|
|
2194
|
+
head?: never;
|
|
2195
|
+
patch?: never;
|
|
2196
|
+
trace?: never;
|
|
2197
|
+
};
|
|
2198
|
+
"/platform/tenants/{id}/suspend": {
|
|
2199
|
+
parameters: {
|
|
2200
|
+
query?: never;
|
|
2201
|
+
header?: never;
|
|
2202
|
+
path?: never;
|
|
2203
|
+
cookie?: never;
|
|
2204
|
+
};
|
|
2205
|
+
get?: never;
|
|
2206
|
+
put?: never;
|
|
2207
|
+
/**
|
|
2208
|
+
* Suspend a tenant
|
|
2209
|
+
* @description Suspend a tenant and bump its revocation epoch, which invalidates the tenant’s credentials on their next auth-bootstrap lookup. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:tenants:write`.
|
|
2210
|
+
*/
|
|
2211
|
+
post: operations["suspendPlatformTenant"];
|
|
2212
|
+
delete?: never;
|
|
2213
|
+
options?: never;
|
|
2214
|
+
head?: never;
|
|
2215
|
+
patch?: never;
|
|
2216
|
+
trace?: never;
|
|
2217
|
+
};
|
|
2218
|
+
"/platform/tenants/{id}/archive": {
|
|
2219
|
+
parameters: {
|
|
2220
|
+
query?: never;
|
|
2221
|
+
header?: never;
|
|
2222
|
+
path?: never;
|
|
2223
|
+
cookie?: never;
|
|
2224
|
+
};
|
|
2225
|
+
get?: never;
|
|
2226
|
+
put?: never;
|
|
2227
|
+
/**
|
|
2228
|
+
* Archive a tenant
|
|
2229
|
+
* @description Archive a tenant. Archived is TERMINAL — there is no un-archive and no hard delete anywhere on this surface. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:tenants:write`.
|
|
2230
|
+
*/
|
|
2231
|
+
post: operations["archivePlatformTenant"];
|
|
2232
|
+
delete?: never;
|
|
2233
|
+
options?: never;
|
|
2234
|
+
head?: never;
|
|
2235
|
+
patch?: never;
|
|
2236
|
+
trace?: never;
|
|
2237
|
+
};
|
|
2238
|
+
"/platform/tenants/{id}/memberships": {
|
|
2239
|
+
parameters: {
|
|
2240
|
+
query?: never;
|
|
2241
|
+
header?: never;
|
|
2242
|
+
path?: never;
|
|
2243
|
+
cookie?: never;
|
|
2244
|
+
};
|
|
2245
|
+
/**
|
|
2246
|
+
* List tenant memberships
|
|
2247
|
+
* @description List the memberships of one tenant. The read itself is audited. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:tenants:read`.
|
|
2248
|
+
*/
|
|
2249
|
+
get: operations["listPlatformMemberships"];
|
|
2250
|
+
put?: never;
|
|
2251
|
+
/**
|
|
2252
|
+
* Attach a membership
|
|
2253
|
+
* @description Grant a principal a role in the tenant. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:memberships:write`.
|
|
2254
|
+
*/
|
|
2255
|
+
post: operations["attachPlatformMembership"];
|
|
2256
|
+
delete?: never;
|
|
2257
|
+
options?: never;
|
|
2258
|
+
head?: never;
|
|
2259
|
+
patch?: never;
|
|
2260
|
+
trace?: never;
|
|
2261
|
+
};
|
|
2262
|
+
"/platform/tenants/{tenantId}/memberships/{id}/disable": {
|
|
2263
|
+
parameters: {
|
|
2264
|
+
query?: never;
|
|
2265
|
+
header?: never;
|
|
2266
|
+
path?: never;
|
|
2267
|
+
cookie?: never;
|
|
2268
|
+
};
|
|
2269
|
+
get?: never;
|
|
2270
|
+
put?: never;
|
|
2271
|
+
/**
|
|
2272
|
+
* Disable a membership
|
|
2273
|
+
* @description Detach a principal from the tenant by disabling the membership. Memberships are never hard-deleted. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:memberships:write`.
|
|
2274
|
+
*/
|
|
2275
|
+
post: operations["disablePlatformMembership"];
|
|
2276
|
+
delete?: never;
|
|
2277
|
+
options?: never;
|
|
2278
|
+
head?: never;
|
|
2279
|
+
patch?: never;
|
|
2280
|
+
trace?: never;
|
|
2281
|
+
};
|
|
2282
|
+
"/platform/tenants/{tenantId}/memberships/{id}/status": {
|
|
2283
|
+
parameters: {
|
|
2284
|
+
query?: never;
|
|
2285
|
+
header?: never;
|
|
2286
|
+
path?: never;
|
|
2287
|
+
cookie?: never;
|
|
2288
|
+
};
|
|
2289
|
+
get?: never;
|
|
2290
|
+
put?: never;
|
|
2291
|
+
/**
|
|
2292
|
+
* Set membership status
|
|
2293
|
+
* @description Activate or disable an existing membership. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:memberships:write`.
|
|
2294
|
+
*/
|
|
2295
|
+
post: operations["setPlatformMembershipStatus"];
|
|
2296
|
+
delete?: never;
|
|
2297
|
+
options?: never;
|
|
2298
|
+
head?: never;
|
|
2299
|
+
patch?: never;
|
|
2300
|
+
trace?: never;
|
|
2301
|
+
};
|
|
2302
|
+
"/platform/tenants/{tenantId}/memberships/{id}/role": {
|
|
2303
|
+
parameters: {
|
|
2304
|
+
query?: never;
|
|
2305
|
+
header?: never;
|
|
2306
|
+
path?: never;
|
|
2307
|
+
cookie?: never;
|
|
2308
|
+
};
|
|
2309
|
+
get?: never;
|
|
2310
|
+
put?: never;
|
|
2311
|
+
/**
|
|
2312
|
+
* Set membership role
|
|
2313
|
+
* @description Change the role an existing membership acts under. Platform control plane. Mounted only when `OMNI_MULTITENANCY_ENABLED=true`; when the flag is off the entire surface returns 404. Requires a PLATFORM-class credential with the listed scope — tenant and legacy data-plane keys are denied. Every state change requires a reason and writes an append-only platform audit row. Scope: `platform:memberships:write`.
|
|
2314
|
+
*/
|
|
2315
|
+
post: operations["setPlatformMembershipRole"];
|
|
2316
|
+
delete?: never;
|
|
2317
|
+
options?: never;
|
|
2318
|
+
head?: never;
|
|
2319
|
+
patch?: never;
|
|
2320
|
+
trace?: never;
|
|
2321
|
+
};
|
|
2154
2322
|
}
|
|
2155
2323
|
export type webhooks = Record<string, never>;
|
|
2156
2324
|
export interface components {
|
|
@@ -2310,6 +2478,42 @@ export interface components {
|
|
|
2310
2478
|
* ]
|
|
2311
2479
|
*/
|
|
2312
2480
|
scopes: string[];
|
|
2481
|
+
/** @description Tenant credential context; absent for a legacy credential */
|
|
2482
|
+
credential?: {
|
|
2483
|
+
/**
|
|
2484
|
+
* @description Credential class of the caller
|
|
2485
|
+
* @enum {string}
|
|
2486
|
+
*/
|
|
2487
|
+
class: "tenant";
|
|
2488
|
+
/**
|
|
2489
|
+
* Format: uuid
|
|
2490
|
+
* @description Tenant this credential is bound to
|
|
2491
|
+
*/
|
|
2492
|
+
tenantId: string;
|
|
2493
|
+
/**
|
|
2494
|
+
* @description Stable tenant slug, or null when unresolved
|
|
2495
|
+
* @example acme
|
|
2496
|
+
*/
|
|
2497
|
+
tenantSlug: string | null;
|
|
2498
|
+
/**
|
|
2499
|
+
* @description Tenant role the credential acts under
|
|
2500
|
+
* @example tenant-operator
|
|
2501
|
+
*/
|
|
2502
|
+
role: string;
|
|
2503
|
+
/** @description Scopes carried by the tenant credential */
|
|
2504
|
+
scopes: string[];
|
|
2505
|
+
/** @description Immutable resource ceilings inherited from the key lineage */
|
|
2506
|
+
constraints: {
|
|
2507
|
+
[key: string]: string[];
|
|
2508
|
+
};
|
|
2509
|
+
/**
|
|
2510
|
+
* Format: date-time
|
|
2511
|
+
* @description Credential expiry (ISO 8601), or null when it does not expire
|
|
2512
|
+
*/
|
|
2513
|
+
expiresAt: string | null;
|
|
2514
|
+
/** @description Delegation depth: 0 = root key, 1 = child key */
|
|
2515
|
+
delegationDepth: number;
|
|
2516
|
+
};
|
|
2313
2517
|
};
|
|
2314
2518
|
};
|
|
2315
2519
|
HealthCheck: {
|
|
@@ -2374,16 +2578,6 @@ export interface components {
|
|
|
2374
2578
|
};
|
|
2375
2579
|
};
|
|
2376
2580
|
};
|
|
2377
|
-
instances?: {
|
|
2378
|
-
/** @description Total instance count */
|
|
2379
|
-
total: number;
|
|
2380
|
-
/** @description Connected instance count */
|
|
2381
|
-
connected: number;
|
|
2382
|
-
/** @description Count by channel type */
|
|
2383
|
-
byChannel: {
|
|
2384
|
-
[key: string]: number;
|
|
2385
|
-
};
|
|
2386
|
-
};
|
|
2387
2581
|
};
|
|
2388
2582
|
InfoResponse: {
|
|
2389
2583
|
/** @description API version */
|
|
@@ -2392,14 +2586,6 @@ export interface components {
|
|
|
2392
2586
|
environment: string;
|
|
2393
2587
|
/** @description Uptime in seconds */
|
|
2394
2588
|
uptime: number;
|
|
2395
|
-
instances: {
|
|
2396
|
-
total: number;
|
|
2397
|
-
connected: number;
|
|
2398
|
-
};
|
|
2399
|
-
events: {
|
|
2400
|
-
today: number;
|
|
2401
|
-
total: number;
|
|
2402
|
-
};
|
|
2403
2589
|
};
|
|
2404
2590
|
InternalHealthResponse: {
|
|
2405
2591
|
/** @description Health status */
|
|
@@ -4899,6 +5085,144 @@ export interface components {
|
|
|
4899
5085
|
/** @description Voice session ID to leave */
|
|
4900
5086
|
sessionId: string;
|
|
4901
5087
|
};
|
|
5088
|
+
PlatformTenant: {
|
|
5089
|
+
/**
|
|
5090
|
+
* Format: uuid
|
|
5091
|
+
* @description Tenant id
|
|
5092
|
+
*/
|
|
5093
|
+
id: string;
|
|
5094
|
+
/**
|
|
5095
|
+
* @description Immutable lowercase DNS-like slug
|
|
5096
|
+
* @example acme
|
|
5097
|
+
*/
|
|
5098
|
+
slug: string;
|
|
5099
|
+
/** @description Human-readable tenant name */
|
|
5100
|
+
displayName: string;
|
|
5101
|
+
/**
|
|
5102
|
+
* @description Tenant lifecycle status
|
|
5103
|
+
* @enum {string}
|
|
5104
|
+
*/
|
|
5105
|
+
status: "active" | "suspended" | "archived";
|
|
5106
|
+
/** @description Policy epoch, bumped on policy change */
|
|
5107
|
+
policyVersion: number;
|
|
5108
|
+
/** @description Revocation epoch, bumped on suspend/archive */
|
|
5109
|
+
revocationEpoch: number;
|
|
5110
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
5111
|
+
maxKeyTtlSeconds: number;
|
|
5112
|
+
/** @description Ceiling for credential rate limit */
|
|
5113
|
+
maxKeyRateLimit: number;
|
|
5114
|
+
/** @description Ceiling for credential budget */
|
|
5115
|
+
maxKeyBudget: number;
|
|
5116
|
+
/**
|
|
5117
|
+
* Format: uuid
|
|
5118
|
+
* @description Creator principal, or null for bootstrap/system tenants
|
|
5119
|
+
*/
|
|
5120
|
+
createdByPrincipalId: string | null;
|
|
5121
|
+
/**
|
|
5122
|
+
* Format: date-time
|
|
5123
|
+
* @description Creation timestamp
|
|
5124
|
+
*/
|
|
5125
|
+
createdAt: string;
|
|
5126
|
+
/**
|
|
5127
|
+
* Format: date-time
|
|
5128
|
+
* @description Last update timestamp
|
|
5129
|
+
*/
|
|
5130
|
+
updatedAt: string;
|
|
5131
|
+
/**
|
|
5132
|
+
* Format: date-time
|
|
5133
|
+
* @description When the tenant was suspended, if ever
|
|
5134
|
+
*/
|
|
5135
|
+
suspendedAt: string | null;
|
|
5136
|
+
/**
|
|
5137
|
+
* Format: date-time
|
|
5138
|
+
* @description When the tenant was archived, if ever
|
|
5139
|
+
*/
|
|
5140
|
+
archivedAt: string | null;
|
|
5141
|
+
};
|
|
5142
|
+
PlatformMembership: {
|
|
5143
|
+
/**
|
|
5144
|
+
* Format: uuid
|
|
5145
|
+
* @description Membership id
|
|
5146
|
+
*/
|
|
5147
|
+
id: string;
|
|
5148
|
+
/**
|
|
5149
|
+
* Format: uuid
|
|
5150
|
+
* @description Tenant the membership belongs to
|
|
5151
|
+
*/
|
|
5152
|
+
tenantId: string;
|
|
5153
|
+
/**
|
|
5154
|
+
* Format: uuid
|
|
5155
|
+
* @description Principal granted access
|
|
5156
|
+
*/
|
|
5157
|
+
principalId: string;
|
|
5158
|
+
/**
|
|
5159
|
+
* @description Tenant role
|
|
5160
|
+
* @enum {string}
|
|
5161
|
+
*/
|
|
5162
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
5163
|
+
/**
|
|
5164
|
+
* @description Membership status
|
|
5165
|
+
* @enum {string}
|
|
5166
|
+
*/
|
|
5167
|
+
status: "active" | "disabled";
|
|
5168
|
+
/**
|
|
5169
|
+
* Format: uuid
|
|
5170
|
+
* @description Principal that granted the membership, when known
|
|
5171
|
+
*/
|
|
5172
|
+
invitedByPrincipalId: string | null;
|
|
5173
|
+
/**
|
|
5174
|
+
* Format: date-time
|
|
5175
|
+
* @description Creation timestamp
|
|
5176
|
+
*/
|
|
5177
|
+
createdAt: string;
|
|
5178
|
+
/**
|
|
5179
|
+
* Format: date-time
|
|
5180
|
+
* @description Last update timestamp
|
|
5181
|
+
*/
|
|
5182
|
+
updatedAt: string;
|
|
5183
|
+
/**
|
|
5184
|
+
* Format: date-time
|
|
5185
|
+
* @description When the membership was disabled, if ever
|
|
5186
|
+
*/
|
|
5187
|
+
disabledAt: string | null;
|
|
5188
|
+
};
|
|
5189
|
+
CreateTenantRequest: {
|
|
5190
|
+
/**
|
|
5191
|
+
* @description Immutable lowercase DNS-like slug
|
|
5192
|
+
* @example acme
|
|
5193
|
+
*/
|
|
5194
|
+
slug: string;
|
|
5195
|
+
/** @description Human-readable tenant name */
|
|
5196
|
+
displayName: string;
|
|
5197
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
5198
|
+
maxKeyTtlSeconds: number;
|
|
5199
|
+
/** @description Ceiling for credential rate limit */
|
|
5200
|
+
maxKeyRateLimit: number;
|
|
5201
|
+
/** @description Ceiling for credential budget */
|
|
5202
|
+
maxKeyBudget: number;
|
|
5203
|
+
/**
|
|
5204
|
+
* @description Audited justification for the change
|
|
5205
|
+
* @example onboarding request OPS-1421
|
|
5206
|
+
*/
|
|
5207
|
+
reason: string;
|
|
5208
|
+
};
|
|
5209
|
+
AttachMembershipRequest: {
|
|
5210
|
+
/**
|
|
5211
|
+
* Format: uuid
|
|
5212
|
+
* @description Principal to grant access to
|
|
5213
|
+
*/
|
|
5214
|
+
principalId: string;
|
|
5215
|
+
/**
|
|
5216
|
+
* @description Tenant role
|
|
5217
|
+
* @enum {string}
|
|
5218
|
+
*/
|
|
5219
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
5220
|
+
/**
|
|
5221
|
+
* @description Audited justification for the change
|
|
5222
|
+
* @example onboarding request OPS-1421
|
|
5223
|
+
*/
|
|
5224
|
+
reason: string;
|
|
5225
|
+
};
|
|
4902
5226
|
};
|
|
4903
5227
|
responses: never;
|
|
4904
5228
|
parameters: never;
|
|
@@ -5486,6 +5810,42 @@ export interface operations {
|
|
|
5486
5810
|
* ]
|
|
5487
5811
|
*/
|
|
5488
5812
|
scopes: string[];
|
|
5813
|
+
/** @description Tenant credential context; absent for a legacy credential */
|
|
5814
|
+
credential?: {
|
|
5815
|
+
/**
|
|
5816
|
+
* @description Credential class of the caller
|
|
5817
|
+
* @enum {string}
|
|
5818
|
+
*/
|
|
5819
|
+
class: "tenant";
|
|
5820
|
+
/**
|
|
5821
|
+
* Format: uuid
|
|
5822
|
+
* @description Tenant this credential is bound to
|
|
5823
|
+
*/
|
|
5824
|
+
tenantId: string;
|
|
5825
|
+
/**
|
|
5826
|
+
* @description Stable tenant slug, or null when unresolved
|
|
5827
|
+
* @example acme
|
|
5828
|
+
*/
|
|
5829
|
+
tenantSlug: string | null;
|
|
5830
|
+
/**
|
|
5831
|
+
* @description Tenant role the credential acts under
|
|
5832
|
+
* @example tenant-operator
|
|
5833
|
+
*/
|
|
5834
|
+
role: string;
|
|
5835
|
+
/** @description Scopes carried by the tenant credential */
|
|
5836
|
+
scopes: string[];
|
|
5837
|
+
/** @description Immutable resource ceilings inherited from the key lineage */
|
|
5838
|
+
constraints: {
|
|
5839
|
+
[key: string]: string[];
|
|
5840
|
+
};
|
|
5841
|
+
/**
|
|
5842
|
+
* Format: date-time
|
|
5843
|
+
* @description Credential expiry (ISO 8601), or null when it does not expire
|
|
5844
|
+
*/
|
|
5845
|
+
expiresAt: string | null;
|
|
5846
|
+
/** @description Delegation depth: 0 = root key, 1 = child key */
|
|
5847
|
+
delegationDepth: number;
|
|
5848
|
+
};
|
|
5489
5849
|
};
|
|
5490
5850
|
};
|
|
5491
5851
|
};
|
|
@@ -5568,16 +5928,6 @@ export interface operations {
|
|
|
5568
5928
|
};
|
|
5569
5929
|
};
|
|
5570
5930
|
};
|
|
5571
|
-
instances?: {
|
|
5572
|
-
/** @description Total instance count */
|
|
5573
|
-
total: number;
|
|
5574
|
-
/** @description Connected instance count */
|
|
5575
|
-
connected: number;
|
|
5576
|
-
/** @description Count by channel type */
|
|
5577
|
-
byChannel: {
|
|
5578
|
-
[key: string]: number;
|
|
5579
|
-
};
|
|
5580
|
-
};
|
|
5581
5931
|
};
|
|
5582
5932
|
};
|
|
5583
5933
|
};
|
|
@@ -5634,16 +5984,6 @@ export interface operations {
|
|
|
5634
5984
|
};
|
|
5635
5985
|
};
|
|
5636
5986
|
};
|
|
5637
|
-
instances?: {
|
|
5638
|
-
/** @description Total instance count */
|
|
5639
|
-
total: number;
|
|
5640
|
-
/** @description Connected instance count */
|
|
5641
|
-
connected: number;
|
|
5642
|
-
/** @description Count by channel type */
|
|
5643
|
-
byChannel: {
|
|
5644
|
-
[key: string]: number;
|
|
5645
|
-
};
|
|
5646
|
-
};
|
|
5647
5987
|
};
|
|
5648
5988
|
};
|
|
5649
5989
|
};
|
|
@@ -5671,14 +6011,6 @@ export interface operations {
|
|
|
5671
6011
|
environment: string;
|
|
5672
6012
|
/** @description Uptime in seconds */
|
|
5673
6013
|
uptime: number;
|
|
5674
|
-
instances: {
|
|
5675
|
-
total: number;
|
|
5676
|
-
connected: number;
|
|
5677
|
-
};
|
|
5678
|
-
events: {
|
|
5679
|
-
today: number;
|
|
5680
|
-
total: number;
|
|
5681
|
-
};
|
|
5682
6014
|
};
|
|
5683
6015
|
};
|
|
5684
6016
|
};
|
|
@@ -17103,5 +17435,1394 @@ export interface operations {
|
|
|
17103
17435
|
};
|
|
17104
17436
|
};
|
|
17105
17437
|
};
|
|
17438
|
+
listPlatformTenants: {
|
|
17439
|
+
parameters: {
|
|
17440
|
+
query?: never;
|
|
17441
|
+
header: {
|
|
17442
|
+
"x-platform-reason": string;
|
|
17443
|
+
};
|
|
17444
|
+
path?: never;
|
|
17445
|
+
cookie?: never;
|
|
17446
|
+
};
|
|
17447
|
+
requestBody?: never;
|
|
17448
|
+
responses: {
|
|
17449
|
+
/** @description Tenants */
|
|
17450
|
+
200: {
|
|
17451
|
+
headers: {
|
|
17452
|
+
[name: string]: unknown;
|
|
17453
|
+
};
|
|
17454
|
+
content: {
|
|
17455
|
+
"application/json": {
|
|
17456
|
+
items: {
|
|
17457
|
+
/**
|
|
17458
|
+
* Format: uuid
|
|
17459
|
+
* @description Tenant id
|
|
17460
|
+
*/
|
|
17461
|
+
id: string;
|
|
17462
|
+
/**
|
|
17463
|
+
* @description Immutable lowercase DNS-like slug
|
|
17464
|
+
* @example acme
|
|
17465
|
+
*/
|
|
17466
|
+
slug: string;
|
|
17467
|
+
/** @description Human-readable tenant name */
|
|
17468
|
+
displayName: string;
|
|
17469
|
+
/**
|
|
17470
|
+
* @description Tenant lifecycle status
|
|
17471
|
+
* @enum {string}
|
|
17472
|
+
*/
|
|
17473
|
+
status: "active" | "suspended" | "archived";
|
|
17474
|
+
/** @description Policy epoch, bumped on policy change */
|
|
17475
|
+
policyVersion: number;
|
|
17476
|
+
/** @description Revocation epoch, bumped on suspend/archive */
|
|
17477
|
+
revocationEpoch: number;
|
|
17478
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
17479
|
+
maxKeyTtlSeconds: number;
|
|
17480
|
+
/** @description Ceiling for credential rate limit */
|
|
17481
|
+
maxKeyRateLimit: number;
|
|
17482
|
+
/** @description Ceiling for credential budget */
|
|
17483
|
+
maxKeyBudget: number;
|
|
17484
|
+
/**
|
|
17485
|
+
* Format: uuid
|
|
17486
|
+
* @description Creator principal, or null for bootstrap/system tenants
|
|
17487
|
+
*/
|
|
17488
|
+
createdByPrincipalId: string | null;
|
|
17489
|
+
/**
|
|
17490
|
+
* Format: date-time
|
|
17491
|
+
* @description Creation timestamp
|
|
17492
|
+
*/
|
|
17493
|
+
createdAt: string;
|
|
17494
|
+
/**
|
|
17495
|
+
* Format: date-time
|
|
17496
|
+
* @description Last update timestamp
|
|
17497
|
+
*/
|
|
17498
|
+
updatedAt: string;
|
|
17499
|
+
/**
|
|
17500
|
+
* Format: date-time
|
|
17501
|
+
* @description When the tenant was suspended, if ever
|
|
17502
|
+
*/
|
|
17503
|
+
suspendedAt: string | null;
|
|
17504
|
+
/**
|
|
17505
|
+
* Format: date-time
|
|
17506
|
+
* @description When the tenant was archived, if ever
|
|
17507
|
+
*/
|
|
17508
|
+
archivedAt: string | null;
|
|
17509
|
+
}[];
|
|
17510
|
+
};
|
|
17511
|
+
};
|
|
17512
|
+
};
|
|
17513
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
17514
|
+
401: {
|
|
17515
|
+
headers: {
|
|
17516
|
+
[name: string]: unknown;
|
|
17517
|
+
};
|
|
17518
|
+
content: {
|
|
17519
|
+
"application/json": {
|
|
17520
|
+
error: {
|
|
17521
|
+
/**
|
|
17522
|
+
* @description Error code
|
|
17523
|
+
* @example NOT_FOUND
|
|
17524
|
+
*/
|
|
17525
|
+
code: string;
|
|
17526
|
+
/** @description Human-readable error message */
|
|
17527
|
+
message: string;
|
|
17528
|
+
/** @description Additional error details */
|
|
17529
|
+
details?: unknown;
|
|
17530
|
+
};
|
|
17531
|
+
};
|
|
17532
|
+
};
|
|
17533
|
+
};
|
|
17534
|
+
};
|
|
17535
|
+
};
|
|
17536
|
+
createPlatformTenant: {
|
|
17537
|
+
parameters: {
|
|
17538
|
+
query?: never;
|
|
17539
|
+
header?: never;
|
|
17540
|
+
path?: never;
|
|
17541
|
+
cookie?: never;
|
|
17542
|
+
};
|
|
17543
|
+
requestBody?: {
|
|
17544
|
+
content: {
|
|
17545
|
+
"application/json": {
|
|
17546
|
+
/**
|
|
17547
|
+
* @description Immutable lowercase DNS-like slug
|
|
17548
|
+
* @example acme
|
|
17549
|
+
*/
|
|
17550
|
+
slug: string;
|
|
17551
|
+
/** @description Human-readable tenant name */
|
|
17552
|
+
displayName: string;
|
|
17553
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
17554
|
+
maxKeyTtlSeconds: number;
|
|
17555
|
+
/** @description Ceiling for credential rate limit */
|
|
17556
|
+
maxKeyRateLimit: number;
|
|
17557
|
+
/** @description Ceiling for credential budget */
|
|
17558
|
+
maxKeyBudget: number;
|
|
17559
|
+
/**
|
|
17560
|
+
* @description Audited justification for the change
|
|
17561
|
+
* @example onboarding request OPS-1421
|
|
17562
|
+
*/
|
|
17563
|
+
reason: string;
|
|
17564
|
+
};
|
|
17565
|
+
};
|
|
17566
|
+
};
|
|
17567
|
+
responses: {
|
|
17568
|
+
/** @description Tenant created */
|
|
17569
|
+
201: {
|
|
17570
|
+
headers: {
|
|
17571
|
+
[name: string]: unknown;
|
|
17572
|
+
};
|
|
17573
|
+
content: {
|
|
17574
|
+
"application/json": {
|
|
17575
|
+
data: {
|
|
17576
|
+
/**
|
|
17577
|
+
* Format: uuid
|
|
17578
|
+
* @description Tenant id
|
|
17579
|
+
*/
|
|
17580
|
+
id: string;
|
|
17581
|
+
/**
|
|
17582
|
+
* @description Immutable lowercase DNS-like slug
|
|
17583
|
+
* @example acme
|
|
17584
|
+
*/
|
|
17585
|
+
slug: string;
|
|
17586
|
+
/** @description Human-readable tenant name */
|
|
17587
|
+
displayName: string;
|
|
17588
|
+
/**
|
|
17589
|
+
* @description Tenant lifecycle status
|
|
17590
|
+
* @enum {string}
|
|
17591
|
+
*/
|
|
17592
|
+
status: "active" | "suspended" | "archived";
|
|
17593
|
+
/** @description Policy epoch, bumped on policy change */
|
|
17594
|
+
policyVersion: number;
|
|
17595
|
+
/** @description Revocation epoch, bumped on suspend/archive */
|
|
17596
|
+
revocationEpoch: number;
|
|
17597
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
17598
|
+
maxKeyTtlSeconds: number;
|
|
17599
|
+
/** @description Ceiling for credential rate limit */
|
|
17600
|
+
maxKeyRateLimit: number;
|
|
17601
|
+
/** @description Ceiling for credential budget */
|
|
17602
|
+
maxKeyBudget: number;
|
|
17603
|
+
/**
|
|
17604
|
+
* Format: uuid
|
|
17605
|
+
* @description Creator principal, or null for bootstrap/system tenants
|
|
17606
|
+
*/
|
|
17607
|
+
createdByPrincipalId: string | null;
|
|
17608
|
+
/**
|
|
17609
|
+
* Format: date-time
|
|
17610
|
+
* @description Creation timestamp
|
|
17611
|
+
*/
|
|
17612
|
+
createdAt: string;
|
|
17613
|
+
/**
|
|
17614
|
+
* Format: date-time
|
|
17615
|
+
* @description Last update timestamp
|
|
17616
|
+
*/
|
|
17617
|
+
updatedAt: string;
|
|
17618
|
+
/**
|
|
17619
|
+
* Format: date-time
|
|
17620
|
+
* @description When the tenant was suspended, if ever
|
|
17621
|
+
*/
|
|
17622
|
+
suspendedAt: string | null;
|
|
17623
|
+
/**
|
|
17624
|
+
* Format: date-time
|
|
17625
|
+
* @description When the tenant was archived, if ever
|
|
17626
|
+
*/
|
|
17627
|
+
archivedAt: string | null;
|
|
17628
|
+
};
|
|
17629
|
+
};
|
|
17630
|
+
};
|
|
17631
|
+
};
|
|
17632
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
17633
|
+
401: {
|
|
17634
|
+
headers: {
|
|
17635
|
+
[name: string]: unknown;
|
|
17636
|
+
};
|
|
17637
|
+
content: {
|
|
17638
|
+
"application/json": {
|
|
17639
|
+
error: {
|
|
17640
|
+
/**
|
|
17641
|
+
* @description Error code
|
|
17642
|
+
* @example NOT_FOUND
|
|
17643
|
+
*/
|
|
17644
|
+
code: string;
|
|
17645
|
+
/** @description Human-readable error message */
|
|
17646
|
+
message: string;
|
|
17647
|
+
/** @description Additional error details */
|
|
17648
|
+
details?: unknown;
|
|
17649
|
+
};
|
|
17650
|
+
};
|
|
17651
|
+
};
|
|
17652
|
+
};
|
|
17653
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
17654
|
+
404: {
|
|
17655
|
+
headers: {
|
|
17656
|
+
[name: string]: unknown;
|
|
17657
|
+
};
|
|
17658
|
+
content: {
|
|
17659
|
+
"application/json": {
|
|
17660
|
+
error: {
|
|
17661
|
+
/**
|
|
17662
|
+
* @description Error code
|
|
17663
|
+
* @example NOT_FOUND
|
|
17664
|
+
*/
|
|
17665
|
+
code: string;
|
|
17666
|
+
/** @description Human-readable error message */
|
|
17667
|
+
message: string;
|
|
17668
|
+
/** @description Additional error details */
|
|
17669
|
+
details?: unknown;
|
|
17670
|
+
};
|
|
17671
|
+
};
|
|
17672
|
+
};
|
|
17673
|
+
};
|
|
17674
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
17675
|
+
409: {
|
|
17676
|
+
headers: {
|
|
17677
|
+
[name: string]: unknown;
|
|
17678
|
+
};
|
|
17679
|
+
content: {
|
|
17680
|
+
"application/json": {
|
|
17681
|
+
error: {
|
|
17682
|
+
/**
|
|
17683
|
+
* @description Error code
|
|
17684
|
+
* @example NOT_FOUND
|
|
17685
|
+
*/
|
|
17686
|
+
code: string;
|
|
17687
|
+
/** @description Human-readable error message */
|
|
17688
|
+
message: string;
|
|
17689
|
+
/** @description Additional error details */
|
|
17690
|
+
details?: unknown;
|
|
17691
|
+
};
|
|
17692
|
+
};
|
|
17693
|
+
};
|
|
17694
|
+
};
|
|
17695
|
+
};
|
|
17696
|
+
};
|
|
17697
|
+
getPlatformTenant: {
|
|
17698
|
+
parameters: {
|
|
17699
|
+
query?: never;
|
|
17700
|
+
header: {
|
|
17701
|
+
"x-platform-reason": string;
|
|
17702
|
+
};
|
|
17703
|
+
path: {
|
|
17704
|
+
id: string;
|
|
17705
|
+
};
|
|
17706
|
+
cookie?: never;
|
|
17707
|
+
};
|
|
17708
|
+
requestBody?: never;
|
|
17709
|
+
responses: {
|
|
17710
|
+
/** @description Tenant */
|
|
17711
|
+
200: {
|
|
17712
|
+
headers: {
|
|
17713
|
+
[name: string]: unknown;
|
|
17714
|
+
};
|
|
17715
|
+
content: {
|
|
17716
|
+
"application/json": {
|
|
17717
|
+
data: {
|
|
17718
|
+
/**
|
|
17719
|
+
* Format: uuid
|
|
17720
|
+
* @description Tenant id
|
|
17721
|
+
*/
|
|
17722
|
+
id: string;
|
|
17723
|
+
/**
|
|
17724
|
+
* @description Immutable lowercase DNS-like slug
|
|
17725
|
+
* @example acme
|
|
17726
|
+
*/
|
|
17727
|
+
slug: string;
|
|
17728
|
+
/** @description Human-readable tenant name */
|
|
17729
|
+
displayName: string;
|
|
17730
|
+
/**
|
|
17731
|
+
* @description Tenant lifecycle status
|
|
17732
|
+
* @enum {string}
|
|
17733
|
+
*/
|
|
17734
|
+
status: "active" | "suspended" | "archived";
|
|
17735
|
+
/** @description Policy epoch, bumped on policy change */
|
|
17736
|
+
policyVersion: number;
|
|
17737
|
+
/** @description Revocation epoch, bumped on suspend/archive */
|
|
17738
|
+
revocationEpoch: number;
|
|
17739
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
17740
|
+
maxKeyTtlSeconds: number;
|
|
17741
|
+
/** @description Ceiling for credential rate limit */
|
|
17742
|
+
maxKeyRateLimit: number;
|
|
17743
|
+
/** @description Ceiling for credential budget */
|
|
17744
|
+
maxKeyBudget: number;
|
|
17745
|
+
/**
|
|
17746
|
+
* Format: uuid
|
|
17747
|
+
* @description Creator principal, or null for bootstrap/system tenants
|
|
17748
|
+
*/
|
|
17749
|
+
createdByPrincipalId: string | null;
|
|
17750
|
+
/**
|
|
17751
|
+
* Format: date-time
|
|
17752
|
+
* @description Creation timestamp
|
|
17753
|
+
*/
|
|
17754
|
+
createdAt: string;
|
|
17755
|
+
/**
|
|
17756
|
+
* Format: date-time
|
|
17757
|
+
* @description Last update timestamp
|
|
17758
|
+
*/
|
|
17759
|
+
updatedAt: string;
|
|
17760
|
+
/**
|
|
17761
|
+
* Format: date-time
|
|
17762
|
+
* @description When the tenant was suspended, if ever
|
|
17763
|
+
*/
|
|
17764
|
+
suspendedAt: string | null;
|
|
17765
|
+
/**
|
|
17766
|
+
* Format: date-time
|
|
17767
|
+
* @description When the tenant was archived, if ever
|
|
17768
|
+
*/
|
|
17769
|
+
archivedAt: string | null;
|
|
17770
|
+
};
|
|
17771
|
+
};
|
|
17772
|
+
};
|
|
17773
|
+
};
|
|
17774
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
17775
|
+
401: {
|
|
17776
|
+
headers: {
|
|
17777
|
+
[name: string]: unknown;
|
|
17778
|
+
};
|
|
17779
|
+
content: {
|
|
17780
|
+
"application/json": {
|
|
17781
|
+
error: {
|
|
17782
|
+
/**
|
|
17783
|
+
* @description Error code
|
|
17784
|
+
* @example NOT_FOUND
|
|
17785
|
+
*/
|
|
17786
|
+
code: string;
|
|
17787
|
+
/** @description Human-readable error message */
|
|
17788
|
+
message: string;
|
|
17789
|
+
/** @description Additional error details */
|
|
17790
|
+
details?: unknown;
|
|
17791
|
+
};
|
|
17792
|
+
};
|
|
17793
|
+
};
|
|
17794
|
+
};
|
|
17795
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
17796
|
+
404: {
|
|
17797
|
+
headers: {
|
|
17798
|
+
[name: string]: unknown;
|
|
17799
|
+
};
|
|
17800
|
+
content: {
|
|
17801
|
+
"application/json": {
|
|
17802
|
+
error: {
|
|
17803
|
+
/**
|
|
17804
|
+
* @description Error code
|
|
17805
|
+
* @example NOT_FOUND
|
|
17806
|
+
*/
|
|
17807
|
+
code: string;
|
|
17808
|
+
/** @description Human-readable error message */
|
|
17809
|
+
message: string;
|
|
17810
|
+
/** @description Additional error details */
|
|
17811
|
+
details?: unknown;
|
|
17812
|
+
};
|
|
17813
|
+
};
|
|
17814
|
+
};
|
|
17815
|
+
};
|
|
17816
|
+
};
|
|
17817
|
+
};
|
|
17818
|
+
suspendPlatformTenant: {
|
|
17819
|
+
parameters: {
|
|
17820
|
+
query?: never;
|
|
17821
|
+
header?: never;
|
|
17822
|
+
path: {
|
|
17823
|
+
id: string;
|
|
17824
|
+
};
|
|
17825
|
+
cookie?: never;
|
|
17826
|
+
};
|
|
17827
|
+
requestBody?: {
|
|
17828
|
+
content: {
|
|
17829
|
+
"application/json": {
|
|
17830
|
+
/**
|
|
17831
|
+
* @description Audited justification for the change
|
|
17832
|
+
* @example onboarding request OPS-1421
|
|
17833
|
+
*/
|
|
17834
|
+
reason: string;
|
|
17835
|
+
};
|
|
17836
|
+
};
|
|
17837
|
+
};
|
|
17838
|
+
responses: {
|
|
17839
|
+
/** @description Tenant suspended */
|
|
17840
|
+
200: {
|
|
17841
|
+
headers: {
|
|
17842
|
+
[name: string]: unknown;
|
|
17843
|
+
};
|
|
17844
|
+
content: {
|
|
17845
|
+
"application/json": {
|
|
17846
|
+
data: {
|
|
17847
|
+
/**
|
|
17848
|
+
* Format: uuid
|
|
17849
|
+
* @description Tenant id
|
|
17850
|
+
*/
|
|
17851
|
+
id: string;
|
|
17852
|
+
/**
|
|
17853
|
+
* @description Immutable lowercase DNS-like slug
|
|
17854
|
+
* @example acme
|
|
17855
|
+
*/
|
|
17856
|
+
slug: string;
|
|
17857
|
+
/** @description Human-readable tenant name */
|
|
17858
|
+
displayName: string;
|
|
17859
|
+
/**
|
|
17860
|
+
* @description Tenant lifecycle status
|
|
17861
|
+
* @enum {string}
|
|
17862
|
+
*/
|
|
17863
|
+
status: "active" | "suspended" | "archived";
|
|
17864
|
+
/** @description Policy epoch, bumped on policy change */
|
|
17865
|
+
policyVersion: number;
|
|
17866
|
+
/** @description Revocation epoch, bumped on suspend/archive */
|
|
17867
|
+
revocationEpoch: number;
|
|
17868
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
17869
|
+
maxKeyTtlSeconds: number;
|
|
17870
|
+
/** @description Ceiling for credential rate limit */
|
|
17871
|
+
maxKeyRateLimit: number;
|
|
17872
|
+
/** @description Ceiling for credential budget */
|
|
17873
|
+
maxKeyBudget: number;
|
|
17874
|
+
/**
|
|
17875
|
+
* Format: uuid
|
|
17876
|
+
* @description Creator principal, or null for bootstrap/system tenants
|
|
17877
|
+
*/
|
|
17878
|
+
createdByPrincipalId: string | null;
|
|
17879
|
+
/**
|
|
17880
|
+
* Format: date-time
|
|
17881
|
+
* @description Creation timestamp
|
|
17882
|
+
*/
|
|
17883
|
+
createdAt: string;
|
|
17884
|
+
/**
|
|
17885
|
+
* Format: date-time
|
|
17886
|
+
* @description Last update timestamp
|
|
17887
|
+
*/
|
|
17888
|
+
updatedAt: string;
|
|
17889
|
+
/**
|
|
17890
|
+
* Format: date-time
|
|
17891
|
+
* @description When the tenant was suspended, if ever
|
|
17892
|
+
*/
|
|
17893
|
+
suspendedAt: string | null;
|
|
17894
|
+
/**
|
|
17895
|
+
* Format: date-time
|
|
17896
|
+
* @description When the tenant was archived, if ever
|
|
17897
|
+
*/
|
|
17898
|
+
archivedAt: string | null;
|
|
17899
|
+
};
|
|
17900
|
+
};
|
|
17901
|
+
};
|
|
17902
|
+
};
|
|
17903
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
17904
|
+
401: {
|
|
17905
|
+
headers: {
|
|
17906
|
+
[name: string]: unknown;
|
|
17907
|
+
};
|
|
17908
|
+
content: {
|
|
17909
|
+
"application/json": {
|
|
17910
|
+
error: {
|
|
17911
|
+
/**
|
|
17912
|
+
* @description Error code
|
|
17913
|
+
* @example NOT_FOUND
|
|
17914
|
+
*/
|
|
17915
|
+
code: string;
|
|
17916
|
+
/** @description Human-readable error message */
|
|
17917
|
+
message: string;
|
|
17918
|
+
/** @description Additional error details */
|
|
17919
|
+
details?: unknown;
|
|
17920
|
+
};
|
|
17921
|
+
};
|
|
17922
|
+
};
|
|
17923
|
+
};
|
|
17924
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
17925
|
+
404: {
|
|
17926
|
+
headers: {
|
|
17927
|
+
[name: string]: unknown;
|
|
17928
|
+
};
|
|
17929
|
+
content: {
|
|
17930
|
+
"application/json": {
|
|
17931
|
+
error: {
|
|
17932
|
+
/**
|
|
17933
|
+
* @description Error code
|
|
17934
|
+
* @example NOT_FOUND
|
|
17935
|
+
*/
|
|
17936
|
+
code: string;
|
|
17937
|
+
/** @description Human-readable error message */
|
|
17938
|
+
message: string;
|
|
17939
|
+
/** @description Additional error details */
|
|
17940
|
+
details?: unknown;
|
|
17941
|
+
};
|
|
17942
|
+
};
|
|
17943
|
+
};
|
|
17944
|
+
};
|
|
17945
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
17946
|
+
409: {
|
|
17947
|
+
headers: {
|
|
17948
|
+
[name: string]: unknown;
|
|
17949
|
+
};
|
|
17950
|
+
content: {
|
|
17951
|
+
"application/json": {
|
|
17952
|
+
error: {
|
|
17953
|
+
/**
|
|
17954
|
+
* @description Error code
|
|
17955
|
+
* @example NOT_FOUND
|
|
17956
|
+
*/
|
|
17957
|
+
code: string;
|
|
17958
|
+
/** @description Human-readable error message */
|
|
17959
|
+
message: string;
|
|
17960
|
+
/** @description Additional error details */
|
|
17961
|
+
details?: unknown;
|
|
17962
|
+
};
|
|
17963
|
+
};
|
|
17964
|
+
};
|
|
17965
|
+
};
|
|
17966
|
+
};
|
|
17967
|
+
};
|
|
17968
|
+
archivePlatformTenant: {
|
|
17969
|
+
parameters: {
|
|
17970
|
+
query?: never;
|
|
17971
|
+
header?: never;
|
|
17972
|
+
path: {
|
|
17973
|
+
id: string;
|
|
17974
|
+
};
|
|
17975
|
+
cookie?: never;
|
|
17976
|
+
};
|
|
17977
|
+
requestBody?: {
|
|
17978
|
+
content: {
|
|
17979
|
+
"application/json": {
|
|
17980
|
+
/**
|
|
17981
|
+
* @description Audited justification for the change
|
|
17982
|
+
* @example onboarding request OPS-1421
|
|
17983
|
+
*/
|
|
17984
|
+
reason: string;
|
|
17985
|
+
};
|
|
17986
|
+
};
|
|
17987
|
+
};
|
|
17988
|
+
responses: {
|
|
17989
|
+
/** @description Tenant archived */
|
|
17990
|
+
200: {
|
|
17991
|
+
headers: {
|
|
17992
|
+
[name: string]: unknown;
|
|
17993
|
+
};
|
|
17994
|
+
content: {
|
|
17995
|
+
"application/json": {
|
|
17996
|
+
data: {
|
|
17997
|
+
/**
|
|
17998
|
+
* Format: uuid
|
|
17999
|
+
* @description Tenant id
|
|
18000
|
+
*/
|
|
18001
|
+
id: string;
|
|
18002
|
+
/**
|
|
18003
|
+
* @description Immutable lowercase DNS-like slug
|
|
18004
|
+
* @example acme
|
|
18005
|
+
*/
|
|
18006
|
+
slug: string;
|
|
18007
|
+
/** @description Human-readable tenant name */
|
|
18008
|
+
displayName: string;
|
|
18009
|
+
/**
|
|
18010
|
+
* @description Tenant lifecycle status
|
|
18011
|
+
* @enum {string}
|
|
18012
|
+
*/
|
|
18013
|
+
status: "active" | "suspended" | "archived";
|
|
18014
|
+
/** @description Policy epoch, bumped on policy change */
|
|
18015
|
+
policyVersion: number;
|
|
18016
|
+
/** @description Revocation epoch, bumped on suspend/archive */
|
|
18017
|
+
revocationEpoch: number;
|
|
18018
|
+
/** @description Ceiling for credential TTL, in seconds */
|
|
18019
|
+
maxKeyTtlSeconds: number;
|
|
18020
|
+
/** @description Ceiling for credential rate limit */
|
|
18021
|
+
maxKeyRateLimit: number;
|
|
18022
|
+
/** @description Ceiling for credential budget */
|
|
18023
|
+
maxKeyBudget: number;
|
|
18024
|
+
/**
|
|
18025
|
+
* Format: uuid
|
|
18026
|
+
* @description Creator principal, or null for bootstrap/system tenants
|
|
18027
|
+
*/
|
|
18028
|
+
createdByPrincipalId: string | null;
|
|
18029
|
+
/**
|
|
18030
|
+
* Format: date-time
|
|
18031
|
+
* @description Creation timestamp
|
|
18032
|
+
*/
|
|
18033
|
+
createdAt: string;
|
|
18034
|
+
/**
|
|
18035
|
+
* Format: date-time
|
|
18036
|
+
* @description Last update timestamp
|
|
18037
|
+
*/
|
|
18038
|
+
updatedAt: string;
|
|
18039
|
+
/**
|
|
18040
|
+
* Format: date-time
|
|
18041
|
+
* @description When the tenant was suspended, if ever
|
|
18042
|
+
*/
|
|
18043
|
+
suspendedAt: string | null;
|
|
18044
|
+
/**
|
|
18045
|
+
* Format: date-time
|
|
18046
|
+
* @description When the tenant was archived, if ever
|
|
18047
|
+
*/
|
|
18048
|
+
archivedAt: string | null;
|
|
18049
|
+
};
|
|
18050
|
+
};
|
|
18051
|
+
};
|
|
18052
|
+
};
|
|
18053
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
18054
|
+
401: {
|
|
18055
|
+
headers: {
|
|
18056
|
+
[name: string]: unknown;
|
|
18057
|
+
};
|
|
18058
|
+
content: {
|
|
18059
|
+
"application/json": {
|
|
18060
|
+
error: {
|
|
18061
|
+
/**
|
|
18062
|
+
* @description Error code
|
|
18063
|
+
* @example NOT_FOUND
|
|
18064
|
+
*/
|
|
18065
|
+
code: string;
|
|
18066
|
+
/** @description Human-readable error message */
|
|
18067
|
+
message: string;
|
|
18068
|
+
/** @description Additional error details */
|
|
18069
|
+
details?: unknown;
|
|
18070
|
+
};
|
|
18071
|
+
};
|
|
18072
|
+
};
|
|
18073
|
+
};
|
|
18074
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
18075
|
+
404: {
|
|
18076
|
+
headers: {
|
|
18077
|
+
[name: string]: unknown;
|
|
18078
|
+
};
|
|
18079
|
+
content: {
|
|
18080
|
+
"application/json": {
|
|
18081
|
+
error: {
|
|
18082
|
+
/**
|
|
18083
|
+
* @description Error code
|
|
18084
|
+
* @example NOT_FOUND
|
|
18085
|
+
*/
|
|
18086
|
+
code: string;
|
|
18087
|
+
/** @description Human-readable error message */
|
|
18088
|
+
message: string;
|
|
18089
|
+
/** @description Additional error details */
|
|
18090
|
+
details?: unknown;
|
|
18091
|
+
};
|
|
18092
|
+
};
|
|
18093
|
+
};
|
|
18094
|
+
};
|
|
18095
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
18096
|
+
409: {
|
|
18097
|
+
headers: {
|
|
18098
|
+
[name: string]: unknown;
|
|
18099
|
+
};
|
|
18100
|
+
content: {
|
|
18101
|
+
"application/json": {
|
|
18102
|
+
error: {
|
|
18103
|
+
/**
|
|
18104
|
+
* @description Error code
|
|
18105
|
+
* @example NOT_FOUND
|
|
18106
|
+
*/
|
|
18107
|
+
code: string;
|
|
18108
|
+
/** @description Human-readable error message */
|
|
18109
|
+
message: string;
|
|
18110
|
+
/** @description Additional error details */
|
|
18111
|
+
details?: unknown;
|
|
18112
|
+
};
|
|
18113
|
+
};
|
|
18114
|
+
};
|
|
18115
|
+
};
|
|
18116
|
+
};
|
|
18117
|
+
};
|
|
18118
|
+
listPlatformMemberships: {
|
|
18119
|
+
parameters: {
|
|
18120
|
+
query?: never;
|
|
18121
|
+
header: {
|
|
18122
|
+
"x-platform-reason": string;
|
|
18123
|
+
};
|
|
18124
|
+
path: {
|
|
18125
|
+
id: string;
|
|
18126
|
+
};
|
|
18127
|
+
cookie?: never;
|
|
18128
|
+
};
|
|
18129
|
+
requestBody?: never;
|
|
18130
|
+
responses: {
|
|
18131
|
+
/** @description Memberships */
|
|
18132
|
+
200: {
|
|
18133
|
+
headers: {
|
|
18134
|
+
[name: string]: unknown;
|
|
18135
|
+
};
|
|
18136
|
+
content: {
|
|
18137
|
+
"application/json": {
|
|
18138
|
+
items: {
|
|
18139
|
+
/**
|
|
18140
|
+
* Format: uuid
|
|
18141
|
+
* @description Membership id
|
|
18142
|
+
*/
|
|
18143
|
+
id: string;
|
|
18144
|
+
/**
|
|
18145
|
+
* Format: uuid
|
|
18146
|
+
* @description Tenant the membership belongs to
|
|
18147
|
+
*/
|
|
18148
|
+
tenantId: string;
|
|
18149
|
+
/**
|
|
18150
|
+
* Format: uuid
|
|
18151
|
+
* @description Principal granted access
|
|
18152
|
+
*/
|
|
18153
|
+
principalId: string;
|
|
18154
|
+
/**
|
|
18155
|
+
* @description Tenant role
|
|
18156
|
+
* @enum {string}
|
|
18157
|
+
*/
|
|
18158
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18159
|
+
/**
|
|
18160
|
+
* @description Membership status
|
|
18161
|
+
* @enum {string}
|
|
18162
|
+
*/
|
|
18163
|
+
status: "active" | "disabled";
|
|
18164
|
+
/**
|
|
18165
|
+
* Format: uuid
|
|
18166
|
+
* @description Principal that granted the membership, when known
|
|
18167
|
+
*/
|
|
18168
|
+
invitedByPrincipalId: string | null;
|
|
18169
|
+
/**
|
|
18170
|
+
* Format: date-time
|
|
18171
|
+
* @description Creation timestamp
|
|
18172
|
+
*/
|
|
18173
|
+
createdAt: string;
|
|
18174
|
+
/**
|
|
18175
|
+
* Format: date-time
|
|
18176
|
+
* @description Last update timestamp
|
|
18177
|
+
*/
|
|
18178
|
+
updatedAt: string;
|
|
18179
|
+
/**
|
|
18180
|
+
* Format: date-time
|
|
18181
|
+
* @description When the membership was disabled, if ever
|
|
18182
|
+
*/
|
|
18183
|
+
disabledAt: string | null;
|
|
18184
|
+
}[];
|
|
18185
|
+
};
|
|
18186
|
+
};
|
|
18187
|
+
};
|
|
18188
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
18189
|
+
401: {
|
|
18190
|
+
headers: {
|
|
18191
|
+
[name: string]: unknown;
|
|
18192
|
+
};
|
|
18193
|
+
content: {
|
|
18194
|
+
"application/json": {
|
|
18195
|
+
error: {
|
|
18196
|
+
/**
|
|
18197
|
+
* @description Error code
|
|
18198
|
+
* @example NOT_FOUND
|
|
18199
|
+
*/
|
|
18200
|
+
code: string;
|
|
18201
|
+
/** @description Human-readable error message */
|
|
18202
|
+
message: string;
|
|
18203
|
+
/** @description Additional error details */
|
|
18204
|
+
details?: unknown;
|
|
18205
|
+
};
|
|
18206
|
+
};
|
|
18207
|
+
};
|
|
18208
|
+
};
|
|
18209
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
18210
|
+
404: {
|
|
18211
|
+
headers: {
|
|
18212
|
+
[name: string]: unknown;
|
|
18213
|
+
};
|
|
18214
|
+
content: {
|
|
18215
|
+
"application/json": {
|
|
18216
|
+
error: {
|
|
18217
|
+
/**
|
|
18218
|
+
* @description Error code
|
|
18219
|
+
* @example NOT_FOUND
|
|
18220
|
+
*/
|
|
18221
|
+
code: string;
|
|
18222
|
+
/** @description Human-readable error message */
|
|
18223
|
+
message: string;
|
|
18224
|
+
/** @description Additional error details */
|
|
18225
|
+
details?: unknown;
|
|
18226
|
+
};
|
|
18227
|
+
};
|
|
18228
|
+
};
|
|
18229
|
+
};
|
|
18230
|
+
};
|
|
18231
|
+
};
|
|
18232
|
+
attachPlatformMembership: {
|
|
18233
|
+
parameters: {
|
|
18234
|
+
query?: never;
|
|
18235
|
+
header?: never;
|
|
18236
|
+
path: {
|
|
18237
|
+
id: string;
|
|
18238
|
+
};
|
|
18239
|
+
cookie?: never;
|
|
18240
|
+
};
|
|
18241
|
+
requestBody?: {
|
|
18242
|
+
content: {
|
|
18243
|
+
"application/json": {
|
|
18244
|
+
/**
|
|
18245
|
+
* Format: uuid
|
|
18246
|
+
* @description Principal to grant access to
|
|
18247
|
+
*/
|
|
18248
|
+
principalId: string;
|
|
18249
|
+
/**
|
|
18250
|
+
* @description Tenant role
|
|
18251
|
+
* @enum {string}
|
|
18252
|
+
*/
|
|
18253
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18254
|
+
/**
|
|
18255
|
+
* @description Audited justification for the change
|
|
18256
|
+
* @example onboarding request OPS-1421
|
|
18257
|
+
*/
|
|
18258
|
+
reason: string;
|
|
18259
|
+
};
|
|
18260
|
+
};
|
|
18261
|
+
};
|
|
18262
|
+
responses: {
|
|
18263
|
+
/** @description Membership attached */
|
|
18264
|
+
201: {
|
|
18265
|
+
headers: {
|
|
18266
|
+
[name: string]: unknown;
|
|
18267
|
+
};
|
|
18268
|
+
content: {
|
|
18269
|
+
"application/json": {
|
|
18270
|
+
data: {
|
|
18271
|
+
/**
|
|
18272
|
+
* Format: uuid
|
|
18273
|
+
* @description Membership id
|
|
18274
|
+
*/
|
|
18275
|
+
id: string;
|
|
18276
|
+
/**
|
|
18277
|
+
* Format: uuid
|
|
18278
|
+
* @description Tenant the membership belongs to
|
|
18279
|
+
*/
|
|
18280
|
+
tenantId: string;
|
|
18281
|
+
/**
|
|
18282
|
+
* Format: uuid
|
|
18283
|
+
* @description Principal granted access
|
|
18284
|
+
*/
|
|
18285
|
+
principalId: string;
|
|
18286
|
+
/**
|
|
18287
|
+
* @description Tenant role
|
|
18288
|
+
* @enum {string}
|
|
18289
|
+
*/
|
|
18290
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18291
|
+
/**
|
|
18292
|
+
* @description Membership status
|
|
18293
|
+
* @enum {string}
|
|
18294
|
+
*/
|
|
18295
|
+
status: "active" | "disabled";
|
|
18296
|
+
/**
|
|
18297
|
+
* Format: uuid
|
|
18298
|
+
* @description Principal that granted the membership, when known
|
|
18299
|
+
*/
|
|
18300
|
+
invitedByPrincipalId: string | null;
|
|
18301
|
+
/**
|
|
18302
|
+
* Format: date-time
|
|
18303
|
+
* @description Creation timestamp
|
|
18304
|
+
*/
|
|
18305
|
+
createdAt: string;
|
|
18306
|
+
/**
|
|
18307
|
+
* Format: date-time
|
|
18308
|
+
* @description Last update timestamp
|
|
18309
|
+
*/
|
|
18310
|
+
updatedAt: string;
|
|
18311
|
+
/**
|
|
18312
|
+
* Format: date-time
|
|
18313
|
+
* @description When the membership was disabled, if ever
|
|
18314
|
+
*/
|
|
18315
|
+
disabledAt: string | null;
|
|
18316
|
+
};
|
|
18317
|
+
};
|
|
18318
|
+
};
|
|
18319
|
+
};
|
|
18320
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
18321
|
+
401: {
|
|
18322
|
+
headers: {
|
|
18323
|
+
[name: string]: unknown;
|
|
18324
|
+
};
|
|
18325
|
+
content: {
|
|
18326
|
+
"application/json": {
|
|
18327
|
+
error: {
|
|
18328
|
+
/**
|
|
18329
|
+
* @description Error code
|
|
18330
|
+
* @example NOT_FOUND
|
|
18331
|
+
*/
|
|
18332
|
+
code: string;
|
|
18333
|
+
/** @description Human-readable error message */
|
|
18334
|
+
message: string;
|
|
18335
|
+
/** @description Additional error details */
|
|
18336
|
+
details?: unknown;
|
|
18337
|
+
};
|
|
18338
|
+
};
|
|
18339
|
+
};
|
|
18340
|
+
};
|
|
18341
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
18342
|
+
404: {
|
|
18343
|
+
headers: {
|
|
18344
|
+
[name: string]: unknown;
|
|
18345
|
+
};
|
|
18346
|
+
content: {
|
|
18347
|
+
"application/json": {
|
|
18348
|
+
error: {
|
|
18349
|
+
/**
|
|
18350
|
+
* @description Error code
|
|
18351
|
+
* @example NOT_FOUND
|
|
18352
|
+
*/
|
|
18353
|
+
code: string;
|
|
18354
|
+
/** @description Human-readable error message */
|
|
18355
|
+
message: string;
|
|
18356
|
+
/** @description Additional error details */
|
|
18357
|
+
details?: unknown;
|
|
18358
|
+
};
|
|
18359
|
+
};
|
|
18360
|
+
};
|
|
18361
|
+
};
|
|
18362
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
18363
|
+
409: {
|
|
18364
|
+
headers: {
|
|
18365
|
+
[name: string]: unknown;
|
|
18366
|
+
};
|
|
18367
|
+
content: {
|
|
18368
|
+
"application/json": {
|
|
18369
|
+
error: {
|
|
18370
|
+
/**
|
|
18371
|
+
* @description Error code
|
|
18372
|
+
* @example NOT_FOUND
|
|
18373
|
+
*/
|
|
18374
|
+
code: string;
|
|
18375
|
+
/** @description Human-readable error message */
|
|
18376
|
+
message: string;
|
|
18377
|
+
/** @description Additional error details */
|
|
18378
|
+
details?: unknown;
|
|
18379
|
+
};
|
|
18380
|
+
};
|
|
18381
|
+
};
|
|
18382
|
+
};
|
|
18383
|
+
};
|
|
18384
|
+
};
|
|
18385
|
+
disablePlatformMembership: {
|
|
18386
|
+
parameters: {
|
|
18387
|
+
query?: never;
|
|
18388
|
+
header?: never;
|
|
18389
|
+
path: {
|
|
18390
|
+
tenantId: string;
|
|
18391
|
+
id: string;
|
|
18392
|
+
};
|
|
18393
|
+
cookie?: never;
|
|
18394
|
+
};
|
|
18395
|
+
requestBody?: {
|
|
18396
|
+
content: {
|
|
18397
|
+
"application/json": {
|
|
18398
|
+
/**
|
|
18399
|
+
* @description Audited justification for the change
|
|
18400
|
+
* @example onboarding request OPS-1421
|
|
18401
|
+
*/
|
|
18402
|
+
reason: string;
|
|
18403
|
+
};
|
|
18404
|
+
};
|
|
18405
|
+
};
|
|
18406
|
+
responses: {
|
|
18407
|
+
/** @description Membership disabled */
|
|
18408
|
+
200: {
|
|
18409
|
+
headers: {
|
|
18410
|
+
[name: string]: unknown;
|
|
18411
|
+
};
|
|
18412
|
+
content: {
|
|
18413
|
+
"application/json": {
|
|
18414
|
+
data: {
|
|
18415
|
+
/**
|
|
18416
|
+
* Format: uuid
|
|
18417
|
+
* @description Membership id
|
|
18418
|
+
*/
|
|
18419
|
+
id: string;
|
|
18420
|
+
/**
|
|
18421
|
+
* Format: uuid
|
|
18422
|
+
* @description Tenant the membership belongs to
|
|
18423
|
+
*/
|
|
18424
|
+
tenantId: string;
|
|
18425
|
+
/**
|
|
18426
|
+
* Format: uuid
|
|
18427
|
+
* @description Principal granted access
|
|
18428
|
+
*/
|
|
18429
|
+
principalId: string;
|
|
18430
|
+
/**
|
|
18431
|
+
* @description Tenant role
|
|
18432
|
+
* @enum {string}
|
|
18433
|
+
*/
|
|
18434
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18435
|
+
/**
|
|
18436
|
+
* @description Membership status
|
|
18437
|
+
* @enum {string}
|
|
18438
|
+
*/
|
|
18439
|
+
status: "active" | "disabled";
|
|
18440
|
+
/**
|
|
18441
|
+
* Format: uuid
|
|
18442
|
+
* @description Principal that granted the membership, when known
|
|
18443
|
+
*/
|
|
18444
|
+
invitedByPrincipalId: string | null;
|
|
18445
|
+
/**
|
|
18446
|
+
* Format: date-time
|
|
18447
|
+
* @description Creation timestamp
|
|
18448
|
+
*/
|
|
18449
|
+
createdAt: string;
|
|
18450
|
+
/**
|
|
18451
|
+
* Format: date-time
|
|
18452
|
+
* @description Last update timestamp
|
|
18453
|
+
*/
|
|
18454
|
+
updatedAt: string;
|
|
18455
|
+
/**
|
|
18456
|
+
* Format: date-time
|
|
18457
|
+
* @description When the membership was disabled, if ever
|
|
18458
|
+
*/
|
|
18459
|
+
disabledAt: string | null;
|
|
18460
|
+
};
|
|
18461
|
+
};
|
|
18462
|
+
};
|
|
18463
|
+
};
|
|
18464
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
18465
|
+
401: {
|
|
18466
|
+
headers: {
|
|
18467
|
+
[name: string]: unknown;
|
|
18468
|
+
};
|
|
18469
|
+
content: {
|
|
18470
|
+
"application/json": {
|
|
18471
|
+
error: {
|
|
18472
|
+
/**
|
|
18473
|
+
* @description Error code
|
|
18474
|
+
* @example NOT_FOUND
|
|
18475
|
+
*/
|
|
18476
|
+
code: string;
|
|
18477
|
+
/** @description Human-readable error message */
|
|
18478
|
+
message: string;
|
|
18479
|
+
/** @description Additional error details */
|
|
18480
|
+
details?: unknown;
|
|
18481
|
+
};
|
|
18482
|
+
};
|
|
18483
|
+
};
|
|
18484
|
+
};
|
|
18485
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
18486
|
+
404: {
|
|
18487
|
+
headers: {
|
|
18488
|
+
[name: string]: unknown;
|
|
18489
|
+
};
|
|
18490
|
+
content: {
|
|
18491
|
+
"application/json": {
|
|
18492
|
+
error: {
|
|
18493
|
+
/**
|
|
18494
|
+
* @description Error code
|
|
18495
|
+
* @example NOT_FOUND
|
|
18496
|
+
*/
|
|
18497
|
+
code: string;
|
|
18498
|
+
/** @description Human-readable error message */
|
|
18499
|
+
message: string;
|
|
18500
|
+
/** @description Additional error details */
|
|
18501
|
+
details?: unknown;
|
|
18502
|
+
};
|
|
18503
|
+
};
|
|
18504
|
+
};
|
|
18505
|
+
};
|
|
18506
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
18507
|
+
409: {
|
|
18508
|
+
headers: {
|
|
18509
|
+
[name: string]: unknown;
|
|
18510
|
+
};
|
|
18511
|
+
content: {
|
|
18512
|
+
"application/json": {
|
|
18513
|
+
error: {
|
|
18514
|
+
/**
|
|
18515
|
+
* @description Error code
|
|
18516
|
+
* @example NOT_FOUND
|
|
18517
|
+
*/
|
|
18518
|
+
code: string;
|
|
18519
|
+
/** @description Human-readable error message */
|
|
18520
|
+
message: string;
|
|
18521
|
+
/** @description Additional error details */
|
|
18522
|
+
details?: unknown;
|
|
18523
|
+
};
|
|
18524
|
+
};
|
|
18525
|
+
};
|
|
18526
|
+
};
|
|
18527
|
+
};
|
|
18528
|
+
};
|
|
18529
|
+
setPlatformMembershipStatus: {
|
|
18530
|
+
parameters: {
|
|
18531
|
+
query?: never;
|
|
18532
|
+
header?: never;
|
|
18533
|
+
path: {
|
|
18534
|
+
tenantId: string;
|
|
18535
|
+
id: string;
|
|
18536
|
+
};
|
|
18537
|
+
cookie?: never;
|
|
18538
|
+
};
|
|
18539
|
+
requestBody?: {
|
|
18540
|
+
content: {
|
|
18541
|
+
"application/json": {
|
|
18542
|
+
/**
|
|
18543
|
+
* @description Target membership status
|
|
18544
|
+
* @enum {string}
|
|
18545
|
+
*/
|
|
18546
|
+
status: "active" | "disabled";
|
|
18547
|
+
/**
|
|
18548
|
+
* @description Audited justification for the change
|
|
18549
|
+
* @example onboarding request OPS-1421
|
|
18550
|
+
*/
|
|
18551
|
+
reason: string;
|
|
18552
|
+
};
|
|
18553
|
+
};
|
|
18554
|
+
};
|
|
18555
|
+
responses: {
|
|
18556
|
+
/** @description Membership status updated */
|
|
18557
|
+
200: {
|
|
18558
|
+
headers: {
|
|
18559
|
+
[name: string]: unknown;
|
|
18560
|
+
};
|
|
18561
|
+
content: {
|
|
18562
|
+
"application/json": {
|
|
18563
|
+
data: {
|
|
18564
|
+
/**
|
|
18565
|
+
* Format: uuid
|
|
18566
|
+
* @description Membership id
|
|
18567
|
+
*/
|
|
18568
|
+
id: string;
|
|
18569
|
+
/**
|
|
18570
|
+
* Format: uuid
|
|
18571
|
+
* @description Tenant the membership belongs to
|
|
18572
|
+
*/
|
|
18573
|
+
tenantId: string;
|
|
18574
|
+
/**
|
|
18575
|
+
* Format: uuid
|
|
18576
|
+
* @description Principal granted access
|
|
18577
|
+
*/
|
|
18578
|
+
principalId: string;
|
|
18579
|
+
/**
|
|
18580
|
+
* @description Tenant role
|
|
18581
|
+
* @enum {string}
|
|
18582
|
+
*/
|
|
18583
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18584
|
+
/**
|
|
18585
|
+
* @description Membership status
|
|
18586
|
+
* @enum {string}
|
|
18587
|
+
*/
|
|
18588
|
+
status: "active" | "disabled";
|
|
18589
|
+
/**
|
|
18590
|
+
* Format: uuid
|
|
18591
|
+
* @description Principal that granted the membership, when known
|
|
18592
|
+
*/
|
|
18593
|
+
invitedByPrincipalId: string | null;
|
|
18594
|
+
/**
|
|
18595
|
+
* Format: date-time
|
|
18596
|
+
* @description Creation timestamp
|
|
18597
|
+
*/
|
|
18598
|
+
createdAt: string;
|
|
18599
|
+
/**
|
|
18600
|
+
* Format: date-time
|
|
18601
|
+
* @description Last update timestamp
|
|
18602
|
+
*/
|
|
18603
|
+
updatedAt: string;
|
|
18604
|
+
/**
|
|
18605
|
+
* Format: date-time
|
|
18606
|
+
* @description When the membership was disabled, if ever
|
|
18607
|
+
*/
|
|
18608
|
+
disabledAt: string | null;
|
|
18609
|
+
};
|
|
18610
|
+
};
|
|
18611
|
+
};
|
|
18612
|
+
};
|
|
18613
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
18614
|
+
401: {
|
|
18615
|
+
headers: {
|
|
18616
|
+
[name: string]: unknown;
|
|
18617
|
+
};
|
|
18618
|
+
content: {
|
|
18619
|
+
"application/json": {
|
|
18620
|
+
error: {
|
|
18621
|
+
/**
|
|
18622
|
+
* @description Error code
|
|
18623
|
+
* @example NOT_FOUND
|
|
18624
|
+
*/
|
|
18625
|
+
code: string;
|
|
18626
|
+
/** @description Human-readable error message */
|
|
18627
|
+
message: string;
|
|
18628
|
+
/** @description Additional error details */
|
|
18629
|
+
details?: unknown;
|
|
18630
|
+
};
|
|
18631
|
+
};
|
|
18632
|
+
};
|
|
18633
|
+
};
|
|
18634
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
18635
|
+
404: {
|
|
18636
|
+
headers: {
|
|
18637
|
+
[name: string]: unknown;
|
|
18638
|
+
};
|
|
18639
|
+
content: {
|
|
18640
|
+
"application/json": {
|
|
18641
|
+
error: {
|
|
18642
|
+
/**
|
|
18643
|
+
* @description Error code
|
|
18644
|
+
* @example NOT_FOUND
|
|
18645
|
+
*/
|
|
18646
|
+
code: string;
|
|
18647
|
+
/** @description Human-readable error message */
|
|
18648
|
+
message: string;
|
|
18649
|
+
/** @description Additional error details */
|
|
18650
|
+
details?: unknown;
|
|
18651
|
+
};
|
|
18652
|
+
};
|
|
18653
|
+
};
|
|
18654
|
+
};
|
|
18655
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
18656
|
+
409: {
|
|
18657
|
+
headers: {
|
|
18658
|
+
[name: string]: unknown;
|
|
18659
|
+
};
|
|
18660
|
+
content: {
|
|
18661
|
+
"application/json": {
|
|
18662
|
+
error: {
|
|
18663
|
+
/**
|
|
18664
|
+
* @description Error code
|
|
18665
|
+
* @example NOT_FOUND
|
|
18666
|
+
*/
|
|
18667
|
+
code: string;
|
|
18668
|
+
/** @description Human-readable error message */
|
|
18669
|
+
message: string;
|
|
18670
|
+
/** @description Additional error details */
|
|
18671
|
+
details?: unknown;
|
|
18672
|
+
};
|
|
18673
|
+
};
|
|
18674
|
+
};
|
|
18675
|
+
};
|
|
18676
|
+
};
|
|
18677
|
+
};
|
|
18678
|
+
setPlatformMembershipRole: {
|
|
18679
|
+
parameters: {
|
|
18680
|
+
query?: never;
|
|
18681
|
+
header?: never;
|
|
18682
|
+
path: {
|
|
18683
|
+
tenantId: string;
|
|
18684
|
+
id: string;
|
|
18685
|
+
};
|
|
18686
|
+
cookie?: never;
|
|
18687
|
+
};
|
|
18688
|
+
requestBody?: {
|
|
18689
|
+
content: {
|
|
18690
|
+
"application/json": {
|
|
18691
|
+
/**
|
|
18692
|
+
* @description Tenant role
|
|
18693
|
+
* @enum {string}
|
|
18694
|
+
*/
|
|
18695
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18696
|
+
/**
|
|
18697
|
+
* @description Audited justification for the change
|
|
18698
|
+
* @example onboarding request OPS-1421
|
|
18699
|
+
*/
|
|
18700
|
+
reason: string;
|
|
18701
|
+
};
|
|
18702
|
+
};
|
|
18703
|
+
};
|
|
18704
|
+
responses: {
|
|
18705
|
+
/** @description Membership role updated */
|
|
18706
|
+
200: {
|
|
18707
|
+
headers: {
|
|
18708
|
+
[name: string]: unknown;
|
|
18709
|
+
};
|
|
18710
|
+
content: {
|
|
18711
|
+
"application/json": {
|
|
18712
|
+
data: {
|
|
18713
|
+
/**
|
|
18714
|
+
* Format: uuid
|
|
18715
|
+
* @description Membership id
|
|
18716
|
+
*/
|
|
18717
|
+
id: string;
|
|
18718
|
+
/**
|
|
18719
|
+
* Format: uuid
|
|
18720
|
+
* @description Tenant the membership belongs to
|
|
18721
|
+
*/
|
|
18722
|
+
tenantId: string;
|
|
18723
|
+
/**
|
|
18724
|
+
* Format: uuid
|
|
18725
|
+
* @description Principal granted access
|
|
18726
|
+
*/
|
|
18727
|
+
principalId: string;
|
|
18728
|
+
/**
|
|
18729
|
+
* @description Tenant role
|
|
18730
|
+
* @enum {string}
|
|
18731
|
+
*/
|
|
18732
|
+
role: "tenant-owner" | "tenant-admin" | "tenant-operator" | "tenant-viewer";
|
|
18733
|
+
/**
|
|
18734
|
+
* @description Membership status
|
|
18735
|
+
* @enum {string}
|
|
18736
|
+
*/
|
|
18737
|
+
status: "active" | "disabled";
|
|
18738
|
+
/**
|
|
18739
|
+
* Format: uuid
|
|
18740
|
+
* @description Principal that granted the membership, when known
|
|
18741
|
+
*/
|
|
18742
|
+
invitedByPrincipalId: string | null;
|
|
18743
|
+
/**
|
|
18744
|
+
* Format: date-time
|
|
18745
|
+
* @description Creation timestamp
|
|
18746
|
+
*/
|
|
18747
|
+
createdAt: string;
|
|
18748
|
+
/**
|
|
18749
|
+
* Format: date-time
|
|
18750
|
+
* @description Last update timestamp
|
|
18751
|
+
*/
|
|
18752
|
+
updatedAt: string;
|
|
18753
|
+
/**
|
|
18754
|
+
* Format: date-time
|
|
18755
|
+
* @description When the membership was disabled, if ever
|
|
18756
|
+
*/
|
|
18757
|
+
disabledAt: string | null;
|
|
18758
|
+
};
|
|
18759
|
+
};
|
|
18760
|
+
};
|
|
18761
|
+
};
|
|
18762
|
+
/** @description Missing, non-platform, or insufficiently scoped credential */
|
|
18763
|
+
401: {
|
|
18764
|
+
headers: {
|
|
18765
|
+
[name: string]: unknown;
|
|
18766
|
+
};
|
|
18767
|
+
content: {
|
|
18768
|
+
"application/json": {
|
|
18769
|
+
error: {
|
|
18770
|
+
/**
|
|
18771
|
+
* @description Error code
|
|
18772
|
+
* @example NOT_FOUND
|
|
18773
|
+
*/
|
|
18774
|
+
code: string;
|
|
18775
|
+
/** @description Human-readable error message */
|
|
18776
|
+
message: string;
|
|
18777
|
+
/** @description Additional error details */
|
|
18778
|
+
details?: unknown;
|
|
18779
|
+
};
|
|
18780
|
+
};
|
|
18781
|
+
};
|
|
18782
|
+
};
|
|
18783
|
+
/** @description Not found. Non-enumerating: an unknown id yields a bare 404 with no metadata. */
|
|
18784
|
+
404: {
|
|
18785
|
+
headers: {
|
|
18786
|
+
[name: string]: unknown;
|
|
18787
|
+
};
|
|
18788
|
+
content: {
|
|
18789
|
+
"application/json": {
|
|
18790
|
+
error: {
|
|
18791
|
+
/**
|
|
18792
|
+
* @description Error code
|
|
18793
|
+
* @example NOT_FOUND
|
|
18794
|
+
*/
|
|
18795
|
+
code: string;
|
|
18796
|
+
/** @description Human-readable error message */
|
|
18797
|
+
message: string;
|
|
18798
|
+
/** @description Additional error details */
|
|
18799
|
+
details?: unknown;
|
|
18800
|
+
};
|
|
18801
|
+
};
|
|
18802
|
+
};
|
|
18803
|
+
};
|
|
18804
|
+
/** @description Lifecycle conflict (e.g. duplicate slug, or a transition out of the terminal archived state) */
|
|
18805
|
+
409: {
|
|
18806
|
+
headers: {
|
|
18807
|
+
[name: string]: unknown;
|
|
18808
|
+
};
|
|
18809
|
+
content: {
|
|
18810
|
+
"application/json": {
|
|
18811
|
+
error: {
|
|
18812
|
+
/**
|
|
18813
|
+
* @description Error code
|
|
18814
|
+
* @example NOT_FOUND
|
|
18815
|
+
*/
|
|
18816
|
+
code: string;
|
|
18817
|
+
/** @description Human-readable error message */
|
|
18818
|
+
message: string;
|
|
18819
|
+
/** @description Additional error details */
|
|
18820
|
+
details?: unknown;
|
|
18821
|
+
};
|
|
18822
|
+
};
|
|
18823
|
+
};
|
|
18824
|
+
};
|
|
18825
|
+
};
|
|
18826
|
+
};
|
|
17106
18827
|
}
|
|
17107
18828
|
//# sourceMappingURL=types.generated.d.ts.map
|