@productcraft/platform-auth 0.0.13 → 0.1.0
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/README.md +16 -3
- package/dist/index.d.cts +325 -38
- package/dist/index.d.ts +325 -38
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -22,9 +22,8 @@ The two are easy to confuse because both have "auth" in the name. Platform-Auth
|
|
|
22
22
|
```ts
|
|
23
23
|
import { PlatformAuth } from "@productcraft/platform-auth";
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
});
|
|
25
|
+
// Reads PRODUCTCRAFT_API_KEY from the environment
|
|
26
|
+
const platformAuth = new PlatformAuth();
|
|
28
27
|
|
|
29
28
|
// Resolve the caller's effective policy + enabled services for a workspace
|
|
30
29
|
const { data } = await platformAuth.client.GET(
|
|
@@ -48,10 +47,24 @@ The `client` is an [`openapi-fetch`](https://openapi-ts.dev/openapi-fetch/) inst
|
|
|
48
47
|
|
|
49
48
|
PAKs are workspace-scoped credentials — they read + introspect freely against the workspace they're bound to but cannot mint another PAK or reshape the human-admin surface. Cross-workspace probes by a PAK return the uniform non-member shape (no slug → UUID oracle).
|
|
50
49
|
|
|
50
|
+
## Credentials from the environment
|
|
51
|
+
|
|
52
|
+
Server-side, omit `auth` and the client reads your workspace key from the environment:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# .env
|
|
56
|
+
PRODUCTCRAFT_API_KEY=pcft_live_...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
- An explicit `auth` always wins over the environment.
|
|
60
|
+
- Hosts are never read from the environment. Override them in code with `baseUrl`.
|
|
61
|
+
- This is a server-only fallback. Never put a key in `NEXT_PUBLIC_*` or any other variable a bundler inlines into browser code.
|
|
62
|
+
|
|
51
63
|
## Configuration
|
|
52
64
|
|
|
53
65
|
```ts
|
|
54
66
|
new PlatformAuth({
|
|
67
|
+
// Omit to use PRODUCTCRAFT_API_KEY from the environment
|
|
55
68
|
auth: { type: "apiKey", key: "pcft_live_..." }
|
|
56
69
|
| { type: "bearer", token: "eyJ..." }
|
|
57
70
|
| { type: "cookie", value: "auth_token=..." },
|
package/dist/index.d.cts
CHANGED
|
@@ -319,6 +319,54 @@ interface paths {
|
|
|
319
319
|
patch?: never;
|
|
320
320
|
trace?: never;
|
|
321
321
|
};
|
|
322
|
+
"/v1/me/hidden-guides": {
|
|
323
|
+
parameters: {
|
|
324
|
+
query?: never;
|
|
325
|
+
header?: never;
|
|
326
|
+
path?: never;
|
|
327
|
+
cookie?: never;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* List the getting-started guides the caller has hidden.
|
|
331
|
+
* @description Every guide the caller has hidden in the console, newest first. Hiding is presentation only: the setup status behind a guide is unchanged.
|
|
332
|
+
*/
|
|
333
|
+
get: operations["HiddenGuidesController_list"];
|
|
334
|
+
put?: never;
|
|
335
|
+
post?: never;
|
|
336
|
+
/**
|
|
337
|
+
* Show every getting-started guide again.
|
|
338
|
+
* @description Removes every hidden guide for the caller, `all` included. Idempotent.
|
|
339
|
+
*/
|
|
340
|
+
delete: operations["HiddenGuidesController_showAll"];
|
|
341
|
+
options?: never;
|
|
342
|
+
head?: never;
|
|
343
|
+
patch?: never;
|
|
344
|
+
trace?: never;
|
|
345
|
+
};
|
|
346
|
+
"/v1/me/hidden-guides/{key}": {
|
|
347
|
+
parameters: {
|
|
348
|
+
query?: never;
|
|
349
|
+
header?: never;
|
|
350
|
+
path?: never;
|
|
351
|
+
cookie?: never;
|
|
352
|
+
};
|
|
353
|
+
get?: never;
|
|
354
|
+
/**
|
|
355
|
+
* Hide a getting-started guide for the caller.
|
|
356
|
+
* @description Idempotent: hiding a guide that is already hidden returns it unchanged, with its first `hidden_at`. At most 200 are kept; hiding one more drops the oldest.
|
|
357
|
+
*/
|
|
358
|
+
put: operations["HiddenGuidesController_hide"];
|
|
359
|
+
post?: never;
|
|
360
|
+
/**
|
|
361
|
+
* Show a hidden getting-started guide again.
|
|
362
|
+
* @description Idempotent: showing a guide that is not hidden is a no-op.
|
|
363
|
+
*/
|
|
364
|
+
delete: operations["HiddenGuidesController_show"];
|
|
365
|
+
options?: never;
|
|
366
|
+
head?: never;
|
|
367
|
+
patch?: never;
|
|
368
|
+
trace?: never;
|
|
369
|
+
};
|
|
322
370
|
"/v1/me/profile": {
|
|
323
371
|
parameters: {
|
|
324
372
|
query?: never;
|
|
@@ -345,7 +393,7 @@ interface paths {
|
|
|
345
393
|
};
|
|
346
394
|
/**
|
|
347
395
|
* OAuth 2.1 authorization endpoint
|
|
348
|
-
* @description Requires PKCE with `code_challenge_method=S256`; `plain` and a missing challenge are both rejected. `redirect_uri` must match a registered URI exactly, with only the RFC 8252 §7.3 loopback port relaxation. Responds 302 either to sign-in (no session) or to the consent screen.
|
|
396
|
+
* @description Requires PKCE with `code_challenge_method=S256`; a session that has been signed out counts as no session; `plain` and a missing challenge are both rejected. `redirect_uri` must match a registered URI exactly, with only the RFC 8252 §7.3 loopback port relaxation. Responds 302 either to sign-in (no session) or to the consent screen.
|
|
349
397
|
*/
|
|
350
398
|
get: operations["OAuthAuthorizeController_authorize"];
|
|
351
399
|
put?: never;
|
|
@@ -1159,11 +1207,11 @@ interface paths {
|
|
|
1159
1207
|
get: operations["WorkspacePolicyController_get"];
|
|
1160
1208
|
put?: never;
|
|
1161
1209
|
post?: never;
|
|
1162
|
-
/** Delete a managed policy. Cascades: API keys lose the binding (deny-all if no other bindings remain); roles fall back to their inline policy column. Cookie/JWT only. */
|
|
1210
|
+
/** Delete a managed policy. Cascades: API keys lose the binding (deny-all if no other bindings remain); roles fall back to their inline policy column. Owners and admins; a policy bound to a role, or a preset policy, only an owner can delete. Cookie/JWT only. */
|
|
1163
1211
|
delete: operations["WorkspacePolicyController_delete"];
|
|
1164
1212
|
options?: never;
|
|
1165
1213
|
head?: never;
|
|
1166
|
-
/** Update a managed policy. Cookie/JWT only — policy authoring is a human-admin surface. */
|
|
1214
|
+
/** Update a managed policy. Owners and admins; a policy bound to a role, or a preset policy, only an owner can edit. Cookie/JWT only — policy authoring is a human-admin surface. */
|
|
1167
1215
|
patch: operations["WorkspacePolicyController_update"];
|
|
1168
1216
|
trace?: never;
|
|
1169
1217
|
};
|
|
@@ -1929,6 +1977,22 @@ interface components {
|
|
|
1929
1977
|
*/
|
|
1930
1978
|
message: string;
|
|
1931
1979
|
};
|
|
1980
|
+
HiddenGuideDto: {
|
|
1981
|
+
/**
|
|
1982
|
+
* Format: date-time
|
|
1983
|
+
* @description When the guide was first hidden.
|
|
1984
|
+
*/
|
|
1985
|
+
hidden_at: string;
|
|
1986
|
+
/**
|
|
1987
|
+
* @description The guide: a surface name, optionally followed by `:` and the id of the resource the guide belongs to. The console uses `dashboard:<workspace id>`, `auth_app:<app id>`, `waitlist_quickstart:<waitlist id>`, `waitlist_steps:<workspace id>`, `community_quickstart:<community id>`, `trawl_quickstart:<workspace id>`, `mail_quickstart:<workspace id>`, and `all` for "never show getting-started guides".
|
|
1988
|
+
* @example auth_app:3f2c9a4e-8b1d-4c6e-9f2a-1b2c3d4e5f60
|
|
1989
|
+
*/
|
|
1990
|
+
key: string;
|
|
1991
|
+
};
|
|
1992
|
+
HiddenGuidesDto: {
|
|
1993
|
+
/** @description Every guide the caller has hidden, newest first. A bounded set (at most 200; hiding one more drops the oldest), so it is returned whole rather than paginated. */
|
|
1994
|
+
guides: components["schemas"]["HiddenGuideDto"][];
|
|
1995
|
+
};
|
|
1932
1996
|
IntrospectAccountDto: {
|
|
1933
1997
|
/** @description Public HTTPS URL of the uploaded avatar, or null when no avatar is set. */
|
|
1934
1998
|
avatar_url: string | null;
|
|
@@ -1966,6 +2030,7 @@ interface components {
|
|
|
1966
2030
|
};
|
|
1967
2031
|
IntrospectResponseDto: {
|
|
1968
2032
|
account?: components["schemas"]["IntrospectAccountDto"] | null;
|
|
2033
|
+
/** @description False for an anonymous caller and for an access token whose session has been signed out. */
|
|
1969
2034
|
is_authenticated: boolean;
|
|
1970
2035
|
principal?: components["schemas"]["IntrospectPrincipalDto"] | null;
|
|
1971
2036
|
workspaces?: components["schemas"]["IntrospectWorkspaceListItemDto"][];
|
|
@@ -2112,9 +2177,31 @@ interface components {
|
|
|
2112
2177
|
*/
|
|
2113
2178
|
refresh_token: string;
|
|
2114
2179
|
};
|
|
2180
|
+
ManagedPolicyDeletedResponseDto: {
|
|
2181
|
+
/**
|
|
2182
|
+
* @description Live API keys that were bound to the policy and lost the binding. A key with no binding left falls back to deny-all.
|
|
2183
|
+
* @example 3
|
|
2184
|
+
*/
|
|
2185
|
+
bound_key_count: number;
|
|
2186
|
+
/**
|
|
2187
|
+
* @example true
|
|
2188
|
+
* @enum {number}
|
|
2189
|
+
*/
|
|
2190
|
+
deleted: true;
|
|
2191
|
+
/**
|
|
2192
|
+
* Format: uuid
|
|
2193
|
+
* @description The deleted policy.
|
|
2194
|
+
*/
|
|
2195
|
+
id: string;
|
|
2196
|
+
};
|
|
2115
2197
|
ManagedPolicyDetailResponseDto: {
|
|
2116
2198
|
/** @description Counts of currently-bound consumers — surface this in delete-confirm UX so the operator sees cascade impact. */
|
|
2117
2199
|
binding_count: components["schemas"]["PolicyBindingCountDto"];
|
|
2200
|
+
/**
|
|
2201
|
+
* @description Live (not revoked, not expired) API keys bound to this policy — the keys a save or delete affects. Show it in the confirm step before saving or deleting.
|
|
2202
|
+
* @example 3
|
|
2203
|
+
*/
|
|
2204
|
+
bound_key_count: number;
|
|
2118
2205
|
/** Format: date-time */
|
|
2119
2206
|
created_at: string;
|
|
2120
2207
|
/**
|
|
@@ -3426,7 +3513,7 @@ interface operations {
|
|
|
3426
3513
|
"application/json": components["schemas"]["IntrospectResponseDto"];
|
|
3427
3514
|
};
|
|
3428
3515
|
};
|
|
3429
|
-
/** @description Rate limited: more than 60 requests/min from this IP (default bucket). Anonymous callers otherwise get 200 with `is_authenticated: false`, never 401. */
|
|
3516
|
+
/** @description Rate limited: more than 60 requests/min from this IP (default bucket). Anonymous callers, and callers whose session has been signed out, otherwise get 200 with `is_authenticated: false`, never 401. */
|
|
3430
3517
|
429: {
|
|
3431
3518
|
headers: {
|
|
3432
3519
|
[name: string]: unknown;
|
|
@@ -3486,7 +3573,7 @@ interface operations {
|
|
|
3486
3573
|
"application/json": components["schemas"]["IntrospectWorkspaceResponseDto"];
|
|
3487
3574
|
};
|
|
3488
3575
|
};
|
|
3489
|
-
/** @description Missing or invalid session. */
|
|
3576
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
3490
3577
|
401: {
|
|
3491
3578
|
headers: {
|
|
3492
3579
|
[name: string]: unknown;
|
|
@@ -3617,6 +3704,177 @@ interface operations {
|
|
|
3617
3704
|
};
|
|
3618
3705
|
};
|
|
3619
3706
|
};
|
|
3707
|
+
HiddenGuidesController_list: {
|
|
3708
|
+
parameters: {
|
|
3709
|
+
query?: never;
|
|
3710
|
+
header?: never;
|
|
3711
|
+
path?: never;
|
|
3712
|
+
cookie?: never;
|
|
3713
|
+
};
|
|
3714
|
+
requestBody?: never;
|
|
3715
|
+
responses: {
|
|
3716
|
+
200: {
|
|
3717
|
+
headers: {
|
|
3718
|
+
[name: string]: unknown;
|
|
3719
|
+
};
|
|
3720
|
+
content: {
|
|
3721
|
+
"application/json": components["schemas"]["HiddenGuidesDto"];
|
|
3722
|
+
};
|
|
3723
|
+
};
|
|
3724
|
+
/** @description No session. */
|
|
3725
|
+
401: {
|
|
3726
|
+
headers: {
|
|
3727
|
+
[name: string]: unknown;
|
|
3728
|
+
};
|
|
3729
|
+
content: {
|
|
3730
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3731
|
+
};
|
|
3732
|
+
};
|
|
3733
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3734
|
+
403: {
|
|
3735
|
+
headers: {
|
|
3736
|
+
[name: string]: unknown;
|
|
3737
|
+
};
|
|
3738
|
+
content: {
|
|
3739
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3740
|
+
};
|
|
3741
|
+
};
|
|
3742
|
+
};
|
|
3743
|
+
};
|
|
3744
|
+
HiddenGuidesController_showAll: {
|
|
3745
|
+
parameters: {
|
|
3746
|
+
query?: never;
|
|
3747
|
+
header?: never;
|
|
3748
|
+
path?: never;
|
|
3749
|
+
cookie?: never;
|
|
3750
|
+
};
|
|
3751
|
+
requestBody?: never;
|
|
3752
|
+
responses: {
|
|
3753
|
+
/** @description Every guide shows again. */
|
|
3754
|
+
204: {
|
|
3755
|
+
headers: {
|
|
3756
|
+
[name: string]: unknown;
|
|
3757
|
+
};
|
|
3758
|
+
content?: never;
|
|
3759
|
+
};
|
|
3760
|
+
/** @description No session. */
|
|
3761
|
+
401: {
|
|
3762
|
+
headers: {
|
|
3763
|
+
[name: string]: unknown;
|
|
3764
|
+
};
|
|
3765
|
+
content: {
|
|
3766
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3767
|
+
};
|
|
3768
|
+
};
|
|
3769
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3770
|
+
403: {
|
|
3771
|
+
headers: {
|
|
3772
|
+
[name: string]: unknown;
|
|
3773
|
+
};
|
|
3774
|
+
content: {
|
|
3775
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3776
|
+
};
|
|
3777
|
+
};
|
|
3778
|
+
};
|
|
3779
|
+
};
|
|
3780
|
+
HiddenGuidesController_hide: {
|
|
3781
|
+
parameters: {
|
|
3782
|
+
query?: never;
|
|
3783
|
+
header?: never;
|
|
3784
|
+
path: {
|
|
3785
|
+
/** @description The guide: a surface name, optionally followed by `:` and a resource id, e.g. `dashboard:<workspace id>` or `all`. */
|
|
3786
|
+
key: string;
|
|
3787
|
+
};
|
|
3788
|
+
cookie?: never;
|
|
3789
|
+
};
|
|
3790
|
+
requestBody?: never;
|
|
3791
|
+
responses: {
|
|
3792
|
+
/** @description The guide is hidden. */
|
|
3793
|
+
200: {
|
|
3794
|
+
headers: {
|
|
3795
|
+
[name: string]: unknown;
|
|
3796
|
+
};
|
|
3797
|
+
content: {
|
|
3798
|
+
"application/json": components["schemas"]["HiddenGuideDto"];
|
|
3799
|
+
};
|
|
3800
|
+
};
|
|
3801
|
+
/** @description The key is not a valid guide key. */
|
|
3802
|
+
400: {
|
|
3803
|
+
headers: {
|
|
3804
|
+
[name: string]: unknown;
|
|
3805
|
+
};
|
|
3806
|
+
content: {
|
|
3807
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3808
|
+
};
|
|
3809
|
+
};
|
|
3810
|
+
/** @description No session. */
|
|
3811
|
+
401: {
|
|
3812
|
+
headers: {
|
|
3813
|
+
[name: string]: unknown;
|
|
3814
|
+
};
|
|
3815
|
+
content: {
|
|
3816
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3817
|
+
};
|
|
3818
|
+
};
|
|
3819
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3820
|
+
403: {
|
|
3821
|
+
headers: {
|
|
3822
|
+
[name: string]: unknown;
|
|
3823
|
+
};
|
|
3824
|
+
content: {
|
|
3825
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3826
|
+
};
|
|
3827
|
+
};
|
|
3828
|
+
};
|
|
3829
|
+
};
|
|
3830
|
+
HiddenGuidesController_show: {
|
|
3831
|
+
parameters: {
|
|
3832
|
+
query?: never;
|
|
3833
|
+
header?: never;
|
|
3834
|
+
path: {
|
|
3835
|
+
/** @description The guide: a surface name, optionally followed by `:` and a resource id, e.g. `dashboard:<workspace id>` or `all`. */
|
|
3836
|
+
key: string;
|
|
3837
|
+
};
|
|
3838
|
+
cookie?: never;
|
|
3839
|
+
};
|
|
3840
|
+
requestBody?: never;
|
|
3841
|
+
responses: {
|
|
3842
|
+
/** @description The guide shows again (or was not hidden). */
|
|
3843
|
+
204: {
|
|
3844
|
+
headers: {
|
|
3845
|
+
[name: string]: unknown;
|
|
3846
|
+
};
|
|
3847
|
+
content?: never;
|
|
3848
|
+
};
|
|
3849
|
+
/** @description The key is not a valid guide key. */
|
|
3850
|
+
400: {
|
|
3851
|
+
headers: {
|
|
3852
|
+
[name: string]: unknown;
|
|
3853
|
+
};
|
|
3854
|
+
content: {
|
|
3855
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3856
|
+
};
|
|
3857
|
+
};
|
|
3858
|
+
/** @description No session. */
|
|
3859
|
+
401: {
|
|
3860
|
+
headers: {
|
|
3861
|
+
[name: string]: unknown;
|
|
3862
|
+
};
|
|
3863
|
+
content: {
|
|
3864
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3865
|
+
};
|
|
3866
|
+
};
|
|
3867
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3868
|
+
403: {
|
|
3869
|
+
headers: {
|
|
3870
|
+
[name: string]: unknown;
|
|
3871
|
+
};
|
|
3872
|
+
content: {
|
|
3873
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3874
|
+
};
|
|
3875
|
+
};
|
|
3876
|
+
};
|
|
3877
|
+
};
|
|
3620
3878
|
MeController_updateProfile: {
|
|
3621
3879
|
parameters: {
|
|
3622
3880
|
query?: never;
|
|
@@ -3807,7 +4065,7 @@ interface operations {
|
|
|
3807
4065
|
"application/json": components["schemas"]["ConsentRequestDto"];
|
|
3808
4066
|
};
|
|
3809
4067
|
};
|
|
3810
|
-
/** @description Missing
|
|
4068
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
3811
4069
|
401: {
|
|
3812
4070
|
headers: {
|
|
3813
4071
|
[name: string]: unknown;
|
|
@@ -3877,7 +4135,7 @@ interface operations {
|
|
|
3877
4135
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3878
4136
|
};
|
|
3879
4137
|
};
|
|
3880
|
-
/** @description Missing
|
|
4138
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
3881
4139
|
401: {
|
|
3882
4140
|
headers: {
|
|
3883
4141
|
[name: string]: unknown;
|
|
@@ -4439,7 +4697,7 @@ interface operations {
|
|
|
4439
4697
|
};
|
|
4440
4698
|
content?: never;
|
|
4441
4699
|
};
|
|
4442
|
-
/** @description Missing
|
|
4700
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
4443
4701
|
401: {
|
|
4444
4702
|
headers: {
|
|
4445
4703
|
[name: string]: unknown;
|
|
@@ -4766,7 +5024,7 @@ interface operations {
|
|
|
4766
5024
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4767
5025
|
};
|
|
4768
5026
|
};
|
|
4769
|
-
/** @description Missing or invalid session. */
|
|
5027
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
4770
5028
|
401: {
|
|
4771
5029
|
headers: {
|
|
4772
5030
|
[name: string]: unknown;
|
|
@@ -4950,7 +5208,7 @@ interface operations {
|
|
|
4950
5208
|
};
|
|
4951
5209
|
content?: never;
|
|
4952
5210
|
};
|
|
4953
|
-
/** @description Missing
|
|
5211
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
4954
5212
|
401: {
|
|
4955
5213
|
headers: {
|
|
4956
5214
|
[name: string]: unknown;
|
|
@@ -5116,7 +5374,7 @@ interface operations {
|
|
|
5116
5374
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5117
5375
|
};
|
|
5118
5376
|
};
|
|
5119
|
-
/** @description Missing, malformed or invalid session. */
|
|
5377
|
+
/** @description Missing, malformed or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5120
5378
|
401: {
|
|
5121
5379
|
headers: {
|
|
5122
5380
|
[name: string]: unknown;
|
|
@@ -5225,7 +5483,7 @@ interface operations {
|
|
|
5225
5483
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5226
5484
|
};
|
|
5227
5485
|
};
|
|
5228
|
-
/** @description Missing, malformed or invalid session. */
|
|
5486
|
+
/** @description Missing, malformed or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5229
5487
|
401: {
|
|
5230
5488
|
headers: {
|
|
5231
5489
|
[name: string]: unknown;
|
|
@@ -5343,7 +5601,7 @@ interface operations {
|
|
|
5343
5601
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5344
5602
|
};
|
|
5345
5603
|
};
|
|
5346
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
5604
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5347
5605
|
401: {
|
|
5348
5606
|
headers: {
|
|
5349
5607
|
[name: string]: unknown;
|
|
@@ -5405,7 +5663,7 @@ interface operations {
|
|
|
5405
5663
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5406
5664
|
};
|
|
5407
5665
|
};
|
|
5408
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
5666
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5409
5667
|
401: {
|
|
5410
5668
|
headers: {
|
|
5411
5669
|
[name: string]: unknown;
|
|
@@ -5477,7 +5735,7 @@ interface operations {
|
|
|
5477
5735
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5478
5736
|
};
|
|
5479
5737
|
};
|
|
5480
|
-
/** @description Missing
|
|
5738
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
5481
5739
|
401: {
|
|
5482
5740
|
headers: {
|
|
5483
5741
|
[name: string]: unknown;
|
|
@@ -5539,7 +5797,7 @@ interface operations {
|
|
|
5539
5797
|
"application/json": components["schemas"]["RotatePakResponseDto"];
|
|
5540
5798
|
};
|
|
5541
5799
|
};
|
|
5542
|
-
/** @description Missing
|
|
5800
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
5543
5801
|
401: {
|
|
5544
5802
|
headers: {
|
|
5545
5803
|
[name: string]: unknown;
|
|
@@ -5970,7 +6228,7 @@ interface operations {
|
|
|
5970
6228
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5971
6229
|
};
|
|
5972
6230
|
};
|
|
5973
|
-
/** @description Missing or invalid session. */
|
|
6231
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5974
6232
|
401: {
|
|
5975
6233
|
headers: {
|
|
5976
6234
|
[name: string]: unknown;
|
|
@@ -5979,7 +6237,7 @@ interface operations {
|
|
|
5979
6237
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5980
6238
|
};
|
|
5981
6239
|
};
|
|
5982
|
-
/** @description Caller is a PAK (`pcft_live_*`), email not verified (`EMAIL_NOT_VERIFIED`), not a member (`NOT_A_MEMBER`), lacks `workspace.member.invite`,
|
|
6240
|
+
/** @description Caller is a PAK (`pcft_live_*`), email not verified (`EMAIL_NOT_VERIFIED`), not a member (`NOT_A_MEMBER`), lacks `workspace.member.invite`, a non-owner tried to invite an owner (`OWNER_ROLE_REQUIRED`), or the role holds permissions the caller does not (`MEMBER_RANK_EXCEEDED`). */
|
|
5983
6241
|
403: {
|
|
5984
6242
|
headers: {
|
|
5985
6243
|
[name: string]: unknown;
|
|
@@ -6018,7 +6276,7 @@ interface operations {
|
|
|
6018
6276
|
};
|
|
6019
6277
|
content?: never;
|
|
6020
6278
|
};
|
|
6021
|
-
/** @description Missing or invalid session. */
|
|
6279
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6022
6280
|
401: {
|
|
6023
6281
|
headers: {
|
|
6024
6282
|
[name: string]: unknown;
|
|
@@ -6132,7 +6390,7 @@ interface operations {
|
|
|
6132
6390
|
};
|
|
6133
6391
|
content?: never;
|
|
6134
6392
|
};
|
|
6135
|
-
/** @description Missing or invalid session. */
|
|
6393
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6136
6394
|
401: {
|
|
6137
6395
|
headers: {
|
|
6138
6396
|
[name: string]: unknown;
|
|
@@ -6141,7 +6399,7 @@ interface operations {
|
|
|
6141
6399
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6142
6400
|
};
|
|
6143
6401
|
};
|
|
6144
|
-
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`),
|
|
6402
|
+
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`), lacks `workspace.member.remove` (not required for self-leave), or the target outranks the caller (`MEMBER_RANK_EXCEEDED`: only an owner can remove an owner, and the target role's permissions must all be held by the caller). */
|
|
6145
6403
|
403: {
|
|
6146
6404
|
headers: {
|
|
6147
6405
|
[name: string]: unknown;
|
|
@@ -6203,7 +6461,7 @@ interface operations {
|
|
|
6203
6461
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6204
6462
|
};
|
|
6205
6463
|
};
|
|
6206
|
-
/** @description Missing or invalid session. */
|
|
6464
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6207
6465
|
401: {
|
|
6208
6466
|
headers: {
|
|
6209
6467
|
[name: string]: unknown;
|
|
@@ -6212,7 +6470,7 @@ interface operations {
|
|
|
6212
6470
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6213
6471
|
};
|
|
6214
6472
|
};
|
|
6215
|
-
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`), lacks `workspace.member.update-role`,
|
|
6473
|
+
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`), lacks `workspace.member.update-role`, a non-owner tried to assign the owner role or change an owner (`OWNER_ROLE_REQUIRED`), or a non-owner tried to change a role to or from one holding permissions the caller lacks (`MEMBER_RANK_EXCEEDED`). Admins may make admins, never owners. */
|
|
6216
6474
|
403: {
|
|
6217
6475
|
headers: {
|
|
6218
6476
|
[name: string]: unknown;
|
|
@@ -6310,7 +6568,16 @@ interface operations {
|
|
|
6310
6568
|
"application/json": components["schemas"]["ManagedPolicyResponseDto"];
|
|
6311
6569
|
};
|
|
6312
6570
|
};
|
|
6313
|
-
/** @description
|
|
6571
|
+
/** @description Invalid policy shape, name, or condition block. */
|
|
6572
|
+
400: {
|
|
6573
|
+
headers: {
|
|
6574
|
+
[name: string]: unknown;
|
|
6575
|
+
};
|
|
6576
|
+
content: {
|
|
6577
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6578
|
+
};
|
|
6579
|
+
};
|
|
6580
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
6314
6581
|
401: {
|
|
6315
6582
|
headers: {
|
|
6316
6583
|
[name: string]: unknown;
|
|
@@ -6319,7 +6586,16 @@ interface operations {
|
|
|
6319
6586
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6320
6587
|
};
|
|
6321
6588
|
};
|
|
6322
|
-
/** @description
|
|
6589
|
+
/** @description Caller is not a member (`NOT_A_MEMBER`), lacks `workspace.policy.create` (owner and admin hold it by default), or the policy grants an action the caller does not hold. */
|
|
6590
|
+
403: {
|
|
6591
|
+
headers: {
|
|
6592
|
+
[name: string]: unknown;
|
|
6593
|
+
};
|
|
6594
|
+
content: {
|
|
6595
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6596
|
+
};
|
|
6597
|
+
};
|
|
6598
|
+
/** @description Name already in use, or the workspace already has 100 policies. */
|
|
6323
6599
|
409: {
|
|
6324
6600
|
headers: {
|
|
6325
6601
|
[name: string]: unknown;
|
|
@@ -6431,14 +6707,16 @@ interface operations {
|
|
|
6431
6707
|
};
|
|
6432
6708
|
requestBody?: never;
|
|
6433
6709
|
responses: {
|
|
6434
|
-
/** @description Policy deleted. */
|
|
6435
|
-
|
|
6710
|
+
/** @description Policy deleted. `bound_key_count` is the number of live API keys that lost the binding. */
|
|
6711
|
+
200: {
|
|
6436
6712
|
headers: {
|
|
6437
6713
|
[name: string]: unknown;
|
|
6438
6714
|
};
|
|
6439
|
-
content
|
|
6715
|
+
content: {
|
|
6716
|
+
"application/json": components["schemas"]["ManagedPolicyDeletedResponseDto"];
|
|
6717
|
+
};
|
|
6440
6718
|
};
|
|
6441
|
-
/** @description Missing
|
|
6719
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
6442
6720
|
401: {
|
|
6443
6721
|
headers: {
|
|
6444
6722
|
[name: string]: unknown;
|
|
@@ -6447,7 +6725,16 @@ interface operations {
|
|
|
6447
6725
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6448
6726
|
};
|
|
6449
6727
|
};
|
|
6450
|
-
/** @description
|
|
6728
|
+
/** @description Caller lacks `workspace.policy.delete`, or is not an owner and the policy is bound to a role or is a preset policy (`OWNER_ROLE_REQUIRED`). */
|
|
6729
|
+
403: {
|
|
6730
|
+
headers: {
|
|
6731
|
+
[name: string]: unknown;
|
|
6732
|
+
};
|
|
6733
|
+
content: {
|
|
6734
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6735
|
+
};
|
|
6736
|
+
};
|
|
6737
|
+
/** @description Policy not found in this workspace (`POLICY_NOT_FOUND`). */
|
|
6451
6738
|
404: {
|
|
6452
6739
|
headers: {
|
|
6453
6740
|
[name: string]: unknown;
|
|
@@ -6474,7 +6761,7 @@ interface operations {
|
|
|
6474
6761
|
};
|
|
6475
6762
|
};
|
|
6476
6763
|
responses: {
|
|
6477
|
-
/** @description Updated policy. */
|
|
6764
|
+
/** @description Updated policy. `bound_key_count` is the number of live API keys the change applies to. */
|
|
6478
6765
|
200: {
|
|
6479
6766
|
headers: {
|
|
6480
6767
|
[name: string]: unknown;
|
|
@@ -6492,7 +6779,7 @@ interface operations {
|
|
|
6492
6779
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6493
6780
|
};
|
|
6494
6781
|
};
|
|
6495
|
-
/** @description Missing
|
|
6782
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
6496
6783
|
401: {
|
|
6497
6784
|
headers: {
|
|
6498
6785
|
[name: string]: unknown;
|
|
@@ -6501,7 +6788,7 @@ interface operations {
|
|
|
6501
6788
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6502
6789
|
};
|
|
6503
6790
|
};
|
|
6504
|
-
/** @description Caller cannot grant one or more requested actions. */
|
|
6791
|
+
/** @description Caller lacks `workspace.policy.update`, cannot grant one or more requested actions, or is not an owner and the policy is bound to a role or is a preset policy (`OWNER_ROLE_REQUIRED`). */
|
|
6505
6792
|
403: {
|
|
6506
6793
|
headers: {
|
|
6507
6794
|
[name: string]: unknown;
|
|
@@ -6510,7 +6797,7 @@ interface operations {
|
|
|
6510
6797
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6511
6798
|
};
|
|
6512
6799
|
};
|
|
6513
|
-
/** @description Policy not found in this workspace. */
|
|
6800
|
+
/** @description Policy not found in this workspace (`POLICY_NOT_FOUND`). */
|
|
6514
6801
|
404: {
|
|
6515
6802
|
headers: {
|
|
6516
6803
|
[name: string]: unknown;
|
|
@@ -6519,7 +6806,7 @@ interface operations {
|
|
|
6519
6806
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6520
6807
|
};
|
|
6521
6808
|
};
|
|
6522
|
-
/** @description Name already in use. */
|
|
6809
|
+
/** @description Name already in use (`POLICY_NAME_TAKEN`). */
|
|
6523
6810
|
409: {
|
|
6524
6811
|
headers: {
|
|
6525
6812
|
[name: string]: unknown;
|
|
@@ -6607,7 +6894,7 @@ interface operations {
|
|
|
6607
6894
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6608
6895
|
};
|
|
6609
6896
|
};
|
|
6610
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
6897
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6611
6898
|
401: {
|
|
6612
6899
|
headers: {
|
|
6613
6900
|
[name: string]: unknown;
|
|
@@ -6731,7 +7018,7 @@ interface operations {
|
|
|
6731
7018
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6732
7019
|
};
|
|
6733
7020
|
};
|
|
6734
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
7021
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6735
7022
|
401: {
|
|
6736
7023
|
headers: {
|
|
6737
7024
|
[name: string]: unknown;
|
|
@@ -6802,7 +7089,7 @@ interface operations {
|
|
|
6802
7089
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6803
7090
|
};
|
|
6804
7091
|
};
|
|
6805
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
7092
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6806
7093
|
401: {
|
|
6807
7094
|
headers: {
|
|
6808
7095
|
[name: string]: unknown;
|
package/dist/index.d.ts
CHANGED
|
@@ -319,6 +319,54 @@ interface paths {
|
|
|
319
319
|
patch?: never;
|
|
320
320
|
trace?: never;
|
|
321
321
|
};
|
|
322
|
+
"/v1/me/hidden-guides": {
|
|
323
|
+
parameters: {
|
|
324
|
+
query?: never;
|
|
325
|
+
header?: never;
|
|
326
|
+
path?: never;
|
|
327
|
+
cookie?: never;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* List the getting-started guides the caller has hidden.
|
|
331
|
+
* @description Every guide the caller has hidden in the console, newest first. Hiding is presentation only: the setup status behind a guide is unchanged.
|
|
332
|
+
*/
|
|
333
|
+
get: operations["HiddenGuidesController_list"];
|
|
334
|
+
put?: never;
|
|
335
|
+
post?: never;
|
|
336
|
+
/**
|
|
337
|
+
* Show every getting-started guide again.
|
|
338
|
+
* @description Removes every hidden guide for the caller, `all` included. Idempotent.
|
|
339
|
+
*/
|
|
340
|
+
delete: operations["HiddenGuidesController_showAll"];
|
|
341
|
+
options?: never;
|
|
342
|
+
head?: never;
|
|
343
|
+
patch?: never;
|
|
344
|
+
trace?: never;
|
|
345
|
+
};
|
|
346
|
+
"/v1/me/hidden-guides/{key}": {
|
|
347
|
+
parameters: {
|
|
348
|
+
query?: never;
|
|
349
|
+
header?: never;
|
|
350
|
+
path?: never;
|
|
351
|
+
cookie?: never;
|
|
352
|
+
};
|
|
353
|
+
get?: never;
|
|
354
|
+
/**
|
|
355
|
+
* Hide a getting-started guide for the caller.
|
|
356
|
+
* @description Idempotent: hiding a guide that is already hidden returns it unchanged, with its first `hidden_at`. At most 200 are kept; hiding one more drops the oldest.
|
|
357
|
+
*/
|
|
358
|
+
put: operations["HiddenGuidesController_hide"];
|
|
359
|
+
post?: never;
|
|
360
|
+
/**
|
|
361
|
+
* Show a hidden getting-started guide again.
|
|
362
|
+
* @description Idempotent: showing a guide that is not hidden is a no-op.
|
|
363
|
+
*/
|
|
364
|
+
delete: operations["HiddenGuidesController_show"];
|
|
365
|
+
options?: never;
|
|
366
|
+
head?: never;
|
|
367
|
+
patch?: never;
|
|
368
|
+
trace?: never;
|
|
369
|
+
};
|
|
322
370
|
"/v1/me/profile": {
|
|
323
371
|
parameters: {
|
|
324
372
|
query?: never;
|
|
@@ -345,7 +393,7 @@ interface paths {
|
|
|
345
393
|
};
|
|
346
394
|
/**
|
|
347
395
|
* OAuth 2.1 authorization endpoint
|
|
348
|
-
* @description Requires PKCE with `code_challenge_method=S256`; `plain` and a missing challenge are both rejected. `redirect_uri` must match a registered URI exactly, with only the RFC 8252 §7.3 loopback port relaxation. Responds 302 either to sign-in (no session) or to the consent screen.
|
|
396
|
+
* @description Requires PKCE with `code_challenge_method=S256`; a session that has been signed out counts as no session; `plain` and a missing challenge are both rejected. `redirect_uri` must match a registered URI exactly, with only the RFC 8252 §7.3 loopback port relaxation. Responds 302 either to sign-in (no session) or to the consent screen.
|
|
349
397
|
*/
|
|
350
398
|
get: operations["OAuthAuthorizeController_authorize"];
|
|
351
399
|
put?: never;
|
|
@@ -1159,11 +1207,11 @@ interface paths {
|
|
|
1159
1207
|
get: operations["WorkspacePolicyController_get"];
|
|
1160
1208
|
put?: never;
|
|
1161
1209
|
post?: never;
|
|
1162
|
-
/** Delete a managed policy. Cascades: API keys lose the binding (deny-all if no other bindings remain); roles fall back to their inline policy column. Cookie/JWT only. */
|
|
1210
|
+
/** Delete a managed policy. Cascades: API keys lose the binding (deny-all if no other bindings remain); roles fall back to their inline policy column. Owners and admins; a policy bound to a role, or a preset policy, only an owner can delete. Cookie/JWT only. */
|
|
1163
1211
|
delete: operations["WorkspacePolicyController_delete"];
|
|
1164
1212
|
options?: never;
|
|
1165
1213
|
head?: never;
|
|
1166
|
-
/** Update a managed policy. Cookie/JWT only — policy authoring is a human-admin surface. */
|
|
1214
|
+
/** Update a managed policy. Owners and admins; a policy bound to a role, or a preset policy, only an owner can edit. Cookie/JWT only — policy authoring is a human-admin surface. */
|
|
1167
1215
|
patch: operations["WorkspacePolicyController_update"];
|
|
1168
1216
|
trace?: never;
|
|
1169
1217
|
};
|
|
@@ -1929,6 +1977,22 @@ interface components {
|
|
|
1929
1977
|
*/
|
|
1930
1978
|
message: string;
|
|
1931
1979
|
};
|
|
1980
|
+
HiddenGuideDto: {
|
|
1981
|
+
/**
|
|
1982
|
+
* Format: date-time
|
|
1983
|
+
* @description When the guide was first hidden.
|
|
1984
|
+
*/
|
|
1985
|
+
hidden_at: string;
|
|
1986
|
+
/**
|
|
1987
|
+
* @description The guide: a surface name, optionally followed by `:` and the id of the resource the guide belongs to. The console uses `dashboard:<workspace id>`, `auth_app:<app id>`, `waitlist_quickstart:<waitlist id>`, `waitlist_steps:<workspace id>`, `community_quickstart:<community id>`, `trawl_quickstart:<workspace id>`, `mail_quickstart:<workspace id>`, and `all` for "never show getting-started guides".
|
|
1988
|
+
* @example auth_app:3f2c9a4e-8b1d-4c6e-9f2a-1b2c3d4e5f60
|
|
1989
|
+
*/
|
|
1990
|
+
key: string;
|
|
1991
|
+
};
|
|
1992
|
+
HiddenGuidesDto: {
|
|
1993
|
+
/** @description Every guide the caller has hidden, newest first. A bounded set (at most 200; hiding one more drops the oldest), so it is returned whole rather than paginated. */
|
|
1994
|
+
guides: components["schemas"]["HiddenGuideDto"][];
|
|
1995
|
+
};
|
|
1932
1996
|
IntrospectAccountDto: {
|
|
1933
1997
|
/** @description Public HTTPS URL of the uploaded avatar, or null when no avatar is set. */
|
|
1934
1998
|
avatar_url: string | null;
|
|
@@ -1966,6 +2030,7 @@ interface components {
|
|
|
1966
2030
|
};
|
|
1967
2031
|
IntrospectResponseDto: {
|
|
1968
2032
|
account?: components["schemas"]["IntrospectAccountDto"] | null;
|
|
2033
|
+
/** @description False for an anonymous caller and for an access token whose session has been signed out. */
|
|
1969
2034
|
is_authenticated: boolean;
|
|
1970
2035
|
principal?: components["schemas"]["IntrospectPrincipalDto"] | null;
|
|
1971
2036
|
workspaces?: components["schemas"]["IntrospectWorkspaceListItemDto"][];
|
|
@@ -2112,9 +2177,31 @@ interface components {
|
|
|
2112
2177
|
*/
|
|
2113
2178
|
refresh_token: string;
|
|
2114
2179
|
};
|
|
2180
|
+
ManagedPolicyDeletedResponseDto: {
|
|
2181
|
+
/**
|
|
2182
|
+
* @description Live API keys that were bound to the policy and lost the binding. A key with no binding left falls back to deny-all.
|
|
2183
|
+
* @example 3
|
|
2184
|
+
*/
|
|
2185
|
+
bound_key_count: number;
|
|
2186
|
+
/**
|
|
2187
|
+
* @example true
|
|
2188
|
+
* @enum {number}
|
|
2189
|
+
*/
|
|
2190
|
+
deleted: true;
|
|
2191
|
+
/**
|
|
2192
|
+
* Format: uuid
|
|
2193
|
+
* @description The deleted policy.
|
|
2194
|
+
*/
|
|
2195
|
+
id: string;
|
|
2196
|
+
};
|
|
2115
2197
|
ManagedPolicyDetailResponseDto: {
|
|
2116
2198
|
/** @description Counts of currently-bound consumers — surface this in delete-confirm UX so the operator sees cascade impact. */
|
|
2117
2199
|
binding_count: components["schemas"]["PolicyBindingCountDto"];
|
|
2200
|
+
/**
|
|
2201
|
+
* @description Live (not revoked, not expired) API keys bound to this policy — the keys a save or delete affects. Show it in the confirm step before saving or deleting.
|
|
2202
|
+
* @example 3
|
|
2203
|
+
*/
|
|
2204
|
+
bound_key_count: number;
|
|
2118
2205
|
/** Format: date-time */
|
|
2119
2206
|
created_at: string;
|
|
2120
2207
|
/**
|
|
@@ -3426,7 +3513,7 @@ interface operations {
|
|
|
3426
3513
|
"application/json": components["schemas"]["IntrospectResponseDto"];
|
|
3427
3514
|
};
|
|
3428
3515
|
};
|
|
3429
|
-
/** @description Rate limited: more than 60 requests/min from this IP (default bucket). Anonymous callers otherwise get 200 with `is_authenticated: false`, never 401. */
|
|
3516
|
+
/** @description Rate limited: more than 60 requests/min from this IP (default bucket). Anonymous callers, and callers whose session has been signed out, otherwise get 200 with `is_authenticated: false`, never 401. */
|
|
3430
3517
|
429: {
|
|
3431
3518
|
headers: {
|
|
3432
3519
|
[name: string]: unknown;
|
|
@@ -3486,7 +3573,7 @@ interface operations {
|
|
|
3486
3573
|
"application/json": components["schemas"]["IntrospectWorkspaceResponseDto"];
|
|
3487
3574
|
};
|
|
3488
3575
|
};
|
|
3489
|
-
/** @description Missing or invalid session. */
|
|
3576
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
3490
3577
|
401: {
|
|
3491
3578
|
headers: {
|
|
3492
3579
|
[name: string]: unknown;
|
|
@@ -3617,6 +3704,177 @@ interface operations {
|
|
|
3617
3704
|
};
|
|
3618
3705
|
};
|
|
3619
3706
|
};
|
|
3707
|
+
HiddenGuidesController_list: {
|
|
3708
|
+
parameters: {
|
|
3709
|
+
query?: never;
|
|
3710
|
+
header?: never;
|
|
3711
|
+
path?: never;
|
|
3712
|
+
cookie?: never;
|
|
3713
|
+
};
|
|
3714
|
+
requestBody?: never;
|
|
3715
|
+
responses: {
|
|
3716
|
+
200: {
|
|
3717
|
+
headers: {
|
|
3718
|
+
[name: string]: unknown;
|
|
3719
|
+
};
|
|
3720
|
+
content: {
|
|
3721
|
+
"application/json": components["schemas"]["HiddenGuidesDto"];
|
|
3722
|
+
};
|
|
3723
|
+
};
|
|
3724
|
+
/** @description No session. */
|
|
3725
|
+
401: {
|
|
3726
|
+
headers: {
|
|
3727
|
+
[name: string]: unknown;
|
|
3728
|
+
};
|
|
3729
|
+
content: {
|
|
3730
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3731
|
+
};
|
|
3732
|
+
};
|
|
3733
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3734
|
+
403: {
|
|
3735
|
+
headers: {
|
|
3736
|
+
[name: string]: unknown;
|
|
3737
|
+
};
|
|
3738
|
+
content: {
|
|
3739
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3740
|
+
};
|
|
3741
|
+
};
|
|
3742
|
+
};
|
|
3743
|
+
};
|
|
3744
|
+
HiddenGuidesController_showAll: {
|
|
3745
|
+
parameters: {
|
|
3746
|
+
query?: never;
|
|
3747
|
+
header?: never;
|
|
3748
|
+
path?: never;
|
|
3749
|
+
cookie?: never;
|
|
3750
|
+
};
|
|
3751
|
+
requestBody?: never;
|
|
3752
|
+
responses: {
|
|
3753
|
+
/** @description Every guide shows again. */
|
|
3754
|
+
204: {
|
|
3755
|
+
headers: {
|
|
3756
|
+
[name: string]: unknown;
|
|
3757
|
+
};
|
|
3758
|
+
content?: never;
|
|
3759
|
+
};
|
|
3760
|
+
/** @description No session. */
|
|
3761
|
+
401: {
|
|
3762
|
+
headers: {
|
|
3763
|
+
[name: string]: unknown;
|
|
3764
|
+
};
|
|
3765
|
+
content: {
|
|
3766
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3767
|
+
};
|
|
3768
|
+
};
|
|
3769
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3770
|
+
403: {
|
|
3771
|
+
headers: {
|
|
3772
|
+
[name: string]: unknown;
|
|
3773
|
+
};
|
|
3774
|
+
content: {
|
|
3775
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3776
|
+
};
|
|
3777
|
+
};
|
|
3778
|
+
};
|
|
3779
|
+
};
|
|
3780
|
+
HiddenGuidesController_hide: {
|
|
3781
|
+
parameters: {
|
|
3782
|
+
query?: never;
|
|
3783
|
+
header?: never;
|
|
3784
|
+
path: {
|
|
3785
|
+
/** @description The guide: a surface name, optionally followed by `:` and a resource id, e.g. `dashboard:<workspace id>` or `all`. */
|
|
3786
|
+
key: string;
|
|
3787
|
+
};
|
|
3788
|
+
cookie?: never;
|
|
3789
|
+
};
|
|
3790
|
+
requestBody?: never;
|
|
3791
|
+
responses: {
|
|
3792
|
+
/** @description The guide is hidden. */
|
|
3793
|
+
200: {
|
|
3794
|
+
headers: {
|
|
3795
|
+
[name: string]: unknown;
|
|
3796
|
+
};
|
|
3797
|
+
content: {
|
|
3798
|
+
"application/json": components["schemas"]["HiddenGuideDto"];
|
|
3799
|
+
};
|
|
3800
|
+
};
|
|
3801
|
+
/** @description The key is not a valid guide key. */
|
|
3802
|
+
400: {
|
|
3803
|
+
headers: {
|
|
3804
|
+
[name: string]: unknown;
|
|
3805
|
+
};
|
|
3806
|
+
content: {
|
|
3807
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3808
|
+
};
|
|
3809
|
+
};
|
|
3810
|
+
/** @description No session. */
|
|
3811
|
+
401: {
|
|
3812
|
+
headers: {
|
|
3813
|
+
[name: string]: unknown;
|
|
3814
|
+
};
|
|
3815
|
+
content: {
|
|
3816
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3817
|
+
};
|
|
3818
|
+
};
|
|
3819
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3820
|
+
403: {
|
|
3821
|
+
headers: {
|
|
3822
|
+
[name: string]: unknown;
|
|
3823
|
+
};
|
|
3824
|
+
content: {
|
|
3825
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3826
|
+
};
|
|
3827
|
+
};
|
|
3828
|
+
};
|
|
3829
|
+
};
|
|
3830
|
+
HiddenGuidesController_show: {
|
|
3831
|
+
parameters: {
|
|
3832
|
+
query?: never;
|
|
3833
|
+
header?: never;
|
|
3834
|
+
path: {
|
|
3835
|
+
/** @description The guide: a surface name, optionally followed by `:` and a resource id, e.g. `dashboard:<workspace id>` or `all`. */
|
|
3836
|
+
key: string;
|
|
3837
|
+
};
|
|
3838
|
+
cookie?: never;
|
|
3839
|
+
};
|
|
3840
|
+
requestBody?: never;
|
|
3841
|
+
responses: {
|
|
3842
|
+
/** @description The guide shows again (or was not hidden). */
|
|
3843
|
+
204: {
|
|
3844
|
+
headers: {
|
|
3845
|
+
[name: string]: unknown;
|
|
3846
|
+
};
|
|
3847
|
+
content?: never;
|
|
3848
|
+
};
|
|
3849
|
+
/** @description The key is not a valid guide key. */
|
|
3850
|
+
400: {
|
|
3851
|
+
headers: {
|
|
3852
|
+
[name: string]: unknown;
|
|
3853
|
+
};
|
|
3854
|
+
content: {
|
|
3855
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3856
|
+
};
|
|
3857
|
+
};
|
|
3858
|
+
/** @description No session. */
|
|
3859
|
+
401: {
|
|
3860
|
+
headers: {
|
|
3861
|
+
[name: string]: unknown;
|
|
3862
|
+
};
|
|
3863
|
+
content: {
|
|
3864
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3865
|
+
};
|
|
3866
|
+
};
|
|
3867
|
+
/** @description The caller authenticated with a non-human principal (e.g. a workspace API key). Hidden guides are a person's console preference. */
|
|
3868
|
+
403: {
|
|
3869
|
+
headers: {
|
|
3870
|
+
[name: string]: unknown;
|
|
3871
|
+
};
|
|
3872
|
+
content: {
|
|
3873
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3874
|
+
};
|
|
3875
|
+
};
|
|
3876
|
+
};
|
|
3877
|
+
};
|
|
3620
3878
|
MeController_updateProfile: {
|
|
3621
3879
|
parameters: {
|
|
3622
3880
|
query?: never;
|
|
@@ -3807,7 +4065,7 @@ interface operations {
|
|
|
3807
4065
|
"application/json": components["schemas"]["ConsentRequestDto"];
|
|
3808
4066
|
};
|
|
3809
4067
|
};
|
|
3810
|
-
/** @description Missing
|
|
4068
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
3811
4069
|
401: {
|
|
3812
4070
|
headers: {
|
|
3813
4071
|
[name: string]: unknown;
|
|
@@ -3877,7 +4135,7 @@ interface operations {
|
|
|
3877
4135
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
3878
4136
|
};
|
|
3879
4137
|
};
|
|
3880
|
-
/** @description Missing
|
|
4138
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
3881
4139
|
401: {
|
|
3882
4140
|
headers: {
|
|
3883
4141
|
[name: string]: unknown;
|
|
@@ -4439,7 +4697,7 @@ interface operations {
|
|
|
4439
4697
|
};
|
|
4440
4698
|
content?: never;
|
|
4441
4699
|
};
|
|
4442
|
-
/** @description Missing
|
|
4700
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
4443
4701
|
401: {
|
|
4444
4702
|
headers: {
|
|
4445
4703
|
[name: string]: unknown;
|
|
@@ -4766,7 +5024,7 @@ interface operations {
|
|
|
4766
5024
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
4767
5025
|
};
|
|
4768
5026
|
};
|
|
4769
|
-
/** @description Missing or invalid session. */
|
|
5027
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
4770
5028
|
401: {
|
|
4771
5029
|
headers: {
|
|
4772
5030
|
[name: string]: unknown;
|
|
@@ -4950,7 +5208,7 @@ interface operations {
|
|
|
4950
5208
|
};
|
|
4951
5209
|
content?: never;
|
|
4952
5210
|
};
|
|
4953
|
-
/** @description Missing
|
|
5211
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
4954
5212
|
401: {
|
|
4955
5213
|
headers: {
|
|
4956
5214
|
[name: string]: unknown;
|
|
@@ -5116,7 +5374,7 @@ interface operations {
|
|
|
5116
5374
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5117
5375
|
};
|
|
5118
5376
|
};
|
|
5119
|
-
/** @description Missing, malformed or invalid session. */
|
|
5377
|
+
/** @description Missing, malformed or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5120
5378
|
401: {
|
|
5121
5379
|
headers: {
|
|
5122
5380
|
[name: string]: unknown;
|
|
@@ -5225,7 +5483,7 @@ interface operations {
|
|
|
5225
5483
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5226
5484
|
};
|
|
5227
5485
|
};
|
|
5228
|
-
/** @description Missing, malformed or invalid session. */
|
|
5486
|
+
/** @description Missing, malformed or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5229
5487
|
401: {
|
|
5230
5488
|
headers: {
|
|
5231
5489
|
[name: string]: unknown;
|
|
@@ -5343,7 +5601,7 @@ interface operations {
|
|
|
5343
5601
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5344
5602
|
};
|
|
5345
5603
|
};
|
|
5346
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
5604
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5347
5605
|
401: {
|
|
5348
5606
|
headers: {
|
|
5349
5607
|
[name: string]: unknown;
|
|
@@ -5405,7 +5663,7 @@ interface operations {
|
|
|
5405
5663
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5406
5664
|
};
|
|
5407
5665
|
};
|
|
5408
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
5666
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5409
5667
|
401: {
|
|
5410
5668
|
headers: {
|
|
5411
5669
|
[name: string]: unknown;
|
|
@@ -5477,7 +5735,7 @@ interface operations {
|
|
|
5477
5735
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5478
5736
|
};
|
|
5479
5737
|
};
|
|
5480
|
-
/** @description Missing
|
|
5738
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
5481
5739
|
401: {
|
|
5482
5740
|
headers: {
|
|
5483
5741
|
[name: string]: unknown;
|
|
@@ -5539,7 +5797,7 @@ interface operations {
|
|
|
5539
5797
|
"application/json": components["schemas"]["RotatePakResponseDto"];
|
|
5540
5798
|
};
|
|
5541
5799
|
};
|
|
5542
|
-
/** @description Missing
|
|
5800
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
5543
5801
|
401: {
|
|
5544
5802
|
headers: {
|
|
5545
5803
|
[name: string]: unknown;
|
|
@@ -5970,7 +6228,7 @@ interface operations {
|
|
|
5970
6228
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5971
6229
|
};
|
|
5972
6230
|
};
|
|
5973
|
-
/** @description Missing or invalid session. */
|
|
6231
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
5974
6232
|
401: {
|
|
5975
6233
|
headers: {
|
|
5976
6234
|
[name: string]: unknown;
|
|
@@ -5979,7 +6237,7 @@ interface operations {
|
|
|
5979
6237
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
5980
6238
|
};
|
|
5981
6239
|
};
|
|
5982
|
-
/** @description Caller is a PAK (`pcft_live_*`), email not verified (`EMAIL_NOT_VERIFIED`), not a member (`NOT_A_MEMBER`), lacks `workspace.member.invite`,
|
|
6240
|
+
/** @description Caller is a PAK (`pcft_live_*`), email not verified (`EMAIL_NOT_VERIFIED`), not a member (`NOT_A_MEMBER`), lacks `workspace.member.invite`, a non-owner tried to invite an owner (`OWNER_ROLE_REQUIRED`), or the role holds permissions the caller does not (`MEMBER_RANK_EXCEEDED`). */
|
|
5983
6241
|
403: {
|
|
5984
6242
|
headers: {
|
|
5985
6243
|
[name: string]: unknown;
|
|
@@ -6018,7 +6276,7 @@ interface operations {
|
|
|
6018
6276
|
};
|
|
6019
6277
|
content?: never;
|
|
6020
6278
|
};
|
|
6021
|
-
/** @description Missing or invalid session. */
|
|
6279
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6022
6280
|
401: {
|
|
6023
6281
|
headers: {
|
|
6024
6282
|
[name: string]: unknown;
|
|
@@ -6132,7 +6390,7 @@ interface operations {
|
|
|
6132
6390
|
};
|
|
6133
6391
|
content?: never;
|
|
6134
6392
|
};
|
|
6135
|
-
/** @description Missing or invalid session. */
|
|
6393
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6136
6394
|
401: {
|
|
6137
6395
|
headers: {
|
|
6138
6396
|
[name: string]: unknown;
|
|
@@ -6141,7 +6399,7 @@ interface operations {
|
|
|
6141
6399
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6142
6400
|
};
|
|
6143
6401
|
};
|
|
6144
|
-
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`),
|
|
6402
|
+
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`), lacks `workspace.member.remove` (not required for self-leave), or the target outranks the caller (`MEMBER_RANK_EXCEEDED`: only an owner can remove an owner, and the target role's permissions must all be held by the caller). */
|
|
6145
6403
|
403: {
|
|
6146
6404
|
headers: {
|
|
6147
6405
|
[name: string]: unknown;
|
|
@@ -6203,7 +6461,7 @@ interface operations {
|
|
|
6203
6461
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6204
6462
|
};
|
|
6205
6463
|
};
|
|
6206
|
-
/** @description Missing or invalid session. */
|
|
6464
|
+
/** @description Missing or invalid session. Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6207
6465
|
401: {
|
|
6208
6466
|
headers: {
|
|
6209
6467
|
[name: string]: unknown;
|
|
@@ -6212,7 +6470,7 @@ interface operations {
|
|
|
6212
6470
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6213
6471
|
};
|
|
6214
6472
|
};
|
|
6215
|
-
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`), lacks `workspace.member.update-role`,
|
|
6473
|
+
/** @description Caller is not a member of this workspace (`NOT_A_MEMBER`), lacks `workspace.member.update-role`, a non-owner tried to assign the owner role or change an owner (`OWNER_ROLE_REQUIRED`), or a non-owner tried to change a role to or from one holding permissions the caller lacks (`MEMBER_RANK_EXCEEDED`). Admins may make admins, never owners. */
|
|
6216
6474
|
403: {
|
|
6217
6475
|
headers: {
|
|
6218
6476
|
[name: string]: unknown;
|
|
@@ -6310,7 +6568,16 @@ interface operations {
|
|
|
6310
6568
|
"application/json": components["schemas"]["ManagedPolicyResponseDto"];
|
|
6311
6569
|
};
|
|
6312
6570
|
};
|
|
6313
|
-
/** @description
|
|
6571
|
+
/** @description Invalid policy shape, name, or condition block. */
|
|
6572
|
+
400: {
|
|
6573
|
+
headers: {
|
|
6574
|
+
[name: string]: unknown;
|
|
6575
|
+
};
|
|
6576
|
+
content: {
|
|
6577
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6578
|
+
};
|
|
6579
|
+
};
|
|
6580
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
6314
6581
|
401: {
|
|
6315
6582
|
headers: {
|
|
6316
6583
|
[name: string]: unknown;
|
|
@@ -6319,7 +6586,16 @@ interface operations {
|
|
|
6319
6586
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6320
6587
|
};
|
|
6321
6588
|
};
|
|
6322
|
-
/** @description
|
|
6589
|
+
/** @description Caller is not a member (`NOT_A_MEMBER`), lacks `workspace.policy.create` (owner and admin hold it by default), or the policy grants an action the caller does not hold. */
|
|
6590
|
+
403: {
|
|
6591
|
+
headers: {
|
|
6592
|
+
[name: string]: unknown;
|
|
6593
|
+
};
|
|
6594
|
+
content: {
|
|
6595
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6596
|
+
};
|
|
6597
|
+
};
|
|
6598
|
+
/** @description Name already in use, or the workspace already has 100 policies. */
|
|
6323
6599
|
409: {
|
|
6324
6600
|
headers: {
|
|
6325
6601
|
[name: string]: unknown;
|
|
@@ -6431,14 +6707,16 @@ interface operations {
|
|
|
6431
6707
|
};
|
|
6432
6708
|
requestBody?: never;
|
|
6433
6709
|
responses: {
|
|
6434
|
-
/** @description Policy deleted. */
|
|
6435
|
-
|
|
6710
|
+
/** @description Policy deleted. `bound_key_count` is the number of live API keys that lost the binding. */
|
|
6711
|
+
200: {
|
|
6436
6712
|
headers: {
|
|
6437
6713
|
[name: string]: unknown;
|
|
6438
6714
|
};
|
|
6439
|
-
content
|
|
6715
|
+
content: {
|
|
6716
|
+
"application/json": components["schemas"]["ManagedPolicyDeletedResponseDto"];
|
|
6717
|
+
};
|
|
6440
6718
|
};
|
|
6441
|
-
/** @description Missing
|
|
6719
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
6442
6720
|
401: {
|
|
6443
6721
|
headers: {
|
|
6444
6722
|
[name: string]: unknown;
|
|
@@ -6447,7 +6725,16 @@ interface operations {
|
|
|
6447
6725
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6448
6726
|
};
|
|
6449
6727
|
};
|
|
6450
|
-
/** @description
|
|
6728
|
+
/** @description Caller lacks `workspace.policy.delete`, or is not an owner and the policy is bound to a role or is a preset policy (`OWNER_ROLE_REQUIRED`). */
|
|
6729
|
+
403: {
|
|
6730
|
+
headers: {
|
|
6731
|
+
[name: string]: unknown;
|
|
6732
|
+
};
|
|
6733
|
+
content: {
|
|
6734
|
+
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6735
|
+
};
|
|
6736
|
+
};
|
|
6737
|
+
/** @description Policy not found in this workspace (`POLICY_NOT_FOUND`). */
|
|
6451
6738
|
404: {
|
|
6452
6739
|
headers: {
|
|
6453
6740
|
[name: string]: unknown;
|
|
@@ -6474,7 +6761,7 @@ interface operations {
|
|
|
6474
6761
|
};
|
|
6475
6762
|
};
|
|
6476
6763
|
responses: {
|
|
6477
|
-
/** @description Updated policy. */
|
|
6764
|
+
/** @description Updated policy. `bound_key_count` is the number of live API keys the change applies to. */
|
|
6478
6765
|
200: {
|
|
6479
6766
|
headers: {
|
|
6480
6767
|
[name: string]: unknown;
|
|
@@ -6492,7 +6779,7 @@ interface operations {
|
|
|
6492
6779
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6493
6780
|
};
|
|
6494
6781
|
};
|
|
6495
|
-
/** @description Missing
|
|
6782
|
+
/** @description Missing or invalid session, or a session that has been signed out (`SESSION_REVOKED`). */
|
|
6496
6783
|
401: {
|
|
6497
6784
|
headers: {
|
|
6498
6785
|
[name: string]: unknown;
|
|
@@ -6501,7 +6788,7 @@ interface operations {
|
|
|
6501
6788
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6502
6789
|
};
|
|
6503
6790
|
};
|
|
6504
|
-
/** @description Caller cannot grant one or more requested actions. */
|
|
6791
|
+
/** @description Caller lacks `workspace.policy.update`, cannot grant one or more requested actions, or is not an owner and the policy is bound to a role or is a preset policy (`OWNER_ROLE_REQUIRED`). */
|
|
6505
6792
|
403: {
|
|
6506
6793
|
headers: {
|
|
6507
6794
|
[name: string]: unknown;
|
|
@@ -6510,7 +6797,7 @@ interface operations {
|
|
|
6510
6797
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6511
6798
|
};
|
|
6512
6799
|
};
|
|
6513
|
-
/** @description Policy not found in this workspace. */
|
|
6800
|
+
/** @description Policy not found in this workspace (`POLICY_NOT_FOUND`). */
|
|
6514
6801
|
404: {
|
|
6515
6802
|
headers: {
|
|
6516
6803
|
[name: string]: unknown;
|
|
@@ -6519,7 +6806,7 @@ interface operations {
|
|
|
6519
6806
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6520
6807
|
};
|
|
6521
6808
|
};
|
|
6522
|
-
/** @description Name already in use. */
|
|
6809
|
+
/** @description Name already in use (`POLICY_NAME_TAKEN`). */
|
|
6523
6810
|
409: {
|
|
6524
6811
|
headers: {
|
|
6525
6812
|
[name: string]: unknown;
|
|
@@ -6607,7 +6894,7 @@ interface operations {
|
|
|
6607
6894
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6608
6895
|
};
|
|
6609
6896
|
};
|
|
6610
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
6897
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6611
6898
|
401: {
|
|
6612
6899
|
headers: {
|
|
6613
6900
|
[name: string]: unknown;
|
|
@@ -6731,7 +7018,7 @@ interface operations {
|
|
|
6731
7018
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6732
7019
|
};
|
|
6733
7020
|
};
|
|
6734
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
7021
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6735
7022
|
401: {
|
|
6736
7023
|
headers: {
|
|
6737
7024
|
[name: string]: unknown;
|
|
@@ -6802,7 +7089,7 @@ interface operations {
|
|
|
6802
7089
|
"application/json": components["schemas"]["ErrorResponseDto"];
|
|
6803
7090
|
};
|
|
6804
7091
|
};
|
|
6805
|
-
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). */
|
|
7092
|
+
/** @description Missing, malformed or invalid session, or a PAK bearer (this route accepts cookie/JWT sessions only). Also a session that has been signed out (`SESSION_REVOKED`). */
|
|
6806
7093
|
401: {
|
|
6807
7094
|
headers: {
|
|
6808
7095
|
[name: string]: unknown;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@productcraft/platform-auth",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "PlatformUser auth, workspaces, members, invites, roles + IAM policies, API keys, service activation, and the introspect endpoint every ProductCraft backend uses to resolve permissions. Generated from the production OpenAPI spec.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"openapi-fetch": "^0.13.0",
|
|
46
|
-
"@productcraft/core": "^0.
|
|
46
|
+
"@productcraft/core": "^0.3.0"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "tsup"
|