@vibexp/api-client 0.96.0 → 0.98.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/dist/axios/index.d.ts +2 -2
- package/dist/axios/index.js +1 -1
- package/dist/axios/sdk.gen.d.ts +180 -1
- package/dist/axios/sdk.gen.js +381 -0
- package/dist/axios/types.gen.d.ts +881 -2
- package/dist/schema.d.ts +1613 -70
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -189,6 +189,60 @@ export interface paths {
|
|
|
189
189
|
patch?: never;
|
|
190
190
|
trace?: never;
|
|
191
191
|
};
|
|
192
|
+
"/api/v1/setup/status": {
|
|
193
|
+
parameters: {
|
|
194
|
+
query?: never;
|
|
195
|
+
header?: never;
|
|
196
|
+
path?: never;
|
|
197
|
+
cookie?: never;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Report whether the instance needs authentication setup
|
|
201
|
+
* @description Returns whether this instance is in authentication setup mode, so the web
|
|
202
|
+
* app can route to the setup page instead of a login screen that has no
|
|
203
|
+
* provider to offer. Public, and deliberately a single boolean: it reveals
|
|
204
|
+
* nothing else about the instance's configuration.
|
|
205
|
+
*/
|
|
206
|
+
get: operations["getSetupStatus"];
|
|
207
|
+
put?: never;
|
|
208
|
+
post?: never;
|
|
209
|
+
delete?: never;
|
|
210
|
+
options?: never;
|
|
211
|
+
head?: never;
|
|
212
|
+
patch?: never;
|
|
213
|
+
trace?: never;
|
|
214
|
+
};
|
|
215
|
+
"/api/v1/setup/session": {
|
|
216
|
+
parameters: {
|
|
217
|
+
query?: never;
|
|
218
|
+
header?: never;
|
|
219
|
+
path?: never;
|
|
220
|
+
cookie?: never;
|
|
221
|
+
};
|
|
222
|
+
get?: never;
|
|
223
|
+
put?: never;
|
|
224
|
+
/**
|
|
225
|
+
* Exchange the setup token for a setup session
|
|
226
|
+
* @description Exchanges the one-time setup token (from the `SETUP URL` the server logs
|
|
227
|
+
* at boot while no sign-in provider is enabled) for a short-lived setup
|
|
228
|
+
* session, delivered as the `vibexp_setup` cookie.
|
|
229
|
+
*
|
|
230
|
+
* The setup session is **userless**: it is not a user session and signs
|
|
231
|
+
* nobody in. It authorizes only the instance authentication settings; every
|
|
232
|
+
* other endpoint treats the caller as anonymous. It ends after one hour,
|
|
233
|
+
* or as soon as a root instance admin signs in through a provider.
|
|
234
|
+
*
|
|
235
|
+
* Every rejected token — unknown, expired or already consumed — returns the
|
|
236
|
+
* same 401. Outside setup mode the endpoint returns 404. Rate-limited per
|
|
237
|
+
* client IP.
|
|
238
|
+
*/
|
|
239
|
+
post: operations["createSetupSession"];
|
|
240
|
+
delete?: never;
|
|
241
|
+
options?: never;
|
|
242
|
+
head?: never;
|
|
243
|
+
patch?: never;
|
|
244
|
+
trace?: never;
|
|
245
|
+
};
|
|
192
246
|
"/api/v1/api-keys": {
|
|
193
247
|
parameters: {
|
|
194
248
|
query?: never;
|
|
@@ -3751,6 +3805,246 @@ export interface paths {
|
|
|
3751
3805
|
patch?: never;
|
|
3752
3806
|
trace?: never;
|
|
3753
3807
|
};
|
|
3808
|
+
"/api/v1/admin/settings/auth/providers": {
|
|
3809
|
+
parameters: {
|
|
3810
|
+
query?: never;
|
|
3811
|
+
header?: never;
|
|
3812
|
+
path?: never;
|
|
3813
|
+
cookie?: never;
|
|
3814
|
+
};
|
|
3815
|
+
/**
|
|
3816
|
+
* List the sign-in identity providers
|
|
3817
|
+
* @description Returns every stored sign-in identity provider in sign-in page order, each
|
|
3818
|
+
* with its health on the replica serving the request, whether a client secret
|
|
3819
|
+
* is stored (`has_client_secret`; the secret itself is never returned) and the
|
|
3820
|
+
* derived `redirect_uri` to register with the identity provider, together with
|
|
3821
|
+
* the authentication settings `version`. Reading the list resolves the enabled
|
|
3822
|
+
* providers first, so `health` reflects their current configuration.
|
|
3823
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3824
|
+
*/
|
|
3825
|
+
get: operations["listAdminAuthProviders"];
|
|
3826
|
+
put?: never;
|
|
3827
|
+
/**
|
|
3828
|
+
* Create a sign-in identity provider
|
|
3829
|
+
* @description Validates and stores a new provider, taking effect on the next sign-in with
|
|
3830
|
+
* no restart, and appends one entry (`action: upsert`) to the `auth_providers`
|
|
3831
|
+
* audit log in the same transaction. The client secret is stored encrypted and
|
|
3832
|
+
* never returned. A body carrying an unknown field is rejected with 400.
|
|
3833
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3834
|
+
*/
|
|
3835
|
+
post: operations["createAdminAuthProvider"];
|
|
3836
|
+
delete?: never;
|
|
3837
|
+
options?: never;
|
|
3838
|
+
head?: never;
|
|
3839
|
+
patch?: never;
|
|
3840
|
+
trace?: never;
|
|
3841
|
+
};
|
|
3842
|
+
"/api/v1/admin/settings/auth/providers/test": {
|
|
3843
|
+
parameters: {
|
|
3844
|
+
query?: never;
|
|
3845
|
+
header?: never;
|
|
3846
|
+
path?: never;
|
|
3847
|
+
cookie?: never;
|
|
3848
|
+
};
|
|
3849
|
+
get?: never;
|
|
3850
|
+
put?: never;
|
|
3851
|
+
/**
|
|
3852
|
+
* Test a sign-in identity provider
|
|
3853
|
+
* @description Checks a stored provider (`id`), an unsaved candidate, or a stored provider
|
|
3854
|
+
* with some fields replaced (see `AdminAuthProviderTestRequest`): OIDC
|
|
3855
|
+
* discovery for `oidc` and `google`, a credential check against GitHub for
|
|
3856
|
+
* `github`. Nothing is stored and nothing is audited. A failed test is still a
|
|
3857
|
+
* 200, reported with `is_valid: false`.
|
|
3858
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3859
|
+
*/
|
|
3860
|
+
post: operations["testAdminAuthProvider"];
|
|
3861
|
+
delete?: never;
|
|
3862
|
+
options?: never;
|
|
3863
|
+
head?: never;
|
|
3864
|
+
patch?: never;
|
|
3865
|
+
trace?: never;
|
|
3866
|
+
};
|
|
3867
|
+
"/api/v1/admin/settings/auth/providers/{id}": {
|
|
3868
|
+
parameters: {
|
|
3869
|
+
query?: never;
|
|
3870
|
+
header?: never;
|
|
3871
|
+
path?: never;
|
|
3872
|
+
cookie?: never;
|
|
3873
|
+
};
|
|
3874
|
+
get?: never;
|
|
3875
|
+
/**
|
|
3876
|
+
* Replace a sign-in identity provider
|
|
3877
|
+
* @description Validates and stores a whole replacement of the provider's editable fields
|
|
3878
|
+
* (`type` and `slug` are immutable), taking effect on the next sign-in, and
|
|
3879
|
+
* appends one entry (`action: upsert`) to the `auth_providers` audit log in the
|
|
3880
|
+
* same transaction. Omitting `client_secret` keeps the stored one.
|
|
3881
|
+
*
|
|
3882
|
+
* Lockout guard: a change that disables the last enabled provider, or the
|
|
3883
|
+
* provider the calling admin's session was issued by, is rejected with 409
|
|
3884
|
+
* `lockout_risk` (the problem's `metadata.reason` is `no_enabled_provider` or
|
|
3885
|
+
* `own_provider`) unless the body sets `confirm_lockout_risk: true`.
|
|
3886
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3887
|
+
*/
|
|
3888
|
+
put: operations["updateAdminAuthProvider"];
|
|
3889
|
+
post?: never;
|
|
3890
|
+
/**
|
|
3891
|
+
* Delete a sign-in identity provider
|
|
3892
|
+
* @description Removes the provider, taking effect on the next sign-in, and appends one
|
|
3893
|
+
* entry (`action: delete`) to the `auth_providers` audit log in the same
|
|
3894
|
+
* transaction.
|
|
3895
|
+
*
|
|
3896
|
+
* Lockout guard: deleting the last enabled provider, or the provider the
|
|
3897
|
+
* calling admin's session was issued by, is rejected with 409 `lockout_risk`
|
|
3898
|
+
* unless `confirm_lockout_risk=true` is passed.
|
|
3899
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3900
|
+
*/
|
|
3901
|
+
delete: operations["deleteAdminAuthProvider"];
|
|
3902
|
+
options?: never;
|
|
3903
|
+
head?: never;
|
|
3904
|
+
patch?: never;
|
|
3905
|
+
trace?: never;
|
|
3906
|
+
};
|
|
3907
|
+
"/api/v1/admin/settings/auth/allowlist": {
|
|
3908
|
+
parameters: {
|
|
3909
|
+
query?: never;
|
|
3910
|
+
header?: never;
|
|
3911
|
+
path?: never;
|
|
3912
|
+
cookie?: never;
|
|
3913
|
+
};
|
|
3914
|
+
/**
|
|
3915
|
+
* Get the sign-in access allowlist
|
|
3916
|
+
* @description Returns the stored access allowlist. Always 200: with nothing stored both
|
|
3917
|
+
* lists are empty, `active` is false and `version` is null.
|
|
3918
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3919
|
+
*/
|
|
3920
|
+
get: operations["getAdminAuthAllowlist"];
|
|
3921
|
+
/**
|
|
3922
|
+
* Replace the sign-in access allowlist
|
|
3923
|
+
* @description Validates, normalizes and stores a whole replacement of the access
|
|
3924
|
+
* allowlist, enforced on signed-in users within seconds with no restart, and
|
|
3925
|
+
* appends one entry (`action: upsert`) to the `auth_allowlist` audit log in the
|
|
3926
|
+
* same transaction. Use the preview operation first to see who would be
|
|
3927
|
+
* affected. A body that omits a list, sends one as null, or carries an unknown
|
|
3928
|
+
* field is rejected with 400.
|
|
3929
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3930
|
+
*/
|
|
3931
|
+
put: operations["updateAdminAuthAllowlist"];
|
|
3932
|
+
post?: never;
|
|
3933
|
+
/**
|
|
3934
|
+
* Reset the sign-in access allowlist to open access
|
|
3935
|
+
* @description Removes the stored allowlist, so every user may sign in, and appends one
|
|
3936
|
+
* entry (`action: delete`) to the `auth_allowlist` audit log. Idempotent and
|
|
3937
|
+
* unconditional: with nothing stored it is still a 204 and writes no audit
|
|
3938
|
+
* entry.
|
|
3939
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3940
|
+
*/
|
|
3941
|
+
delete: operations["resetAdminAuthAllowlist"];
|
|
3942
|
+
options?: never;
|
|
3943
|
+
head?: never;
|
|
3944
|
+
patch?: never;
|
|
3945
|
+
trace?: never;
|
|
3946
|
+
};
|
|
3947
|
+
"/api/v1/admin/settings/auth/allowlist/preview": {
|
|
3948
|
+
parameters: {
|
|
3949
|
+
query?: never;
|
|
3950
|
+
header?: never;
|
|
3951
|
+
path?: never;
|
|
3952
|
+
cookie?: never;
|
|
3953
|
+
};
|
|
3954
|
+
get?: never;
|
|
3955
|
+
put?: never;
|
|
3956
|
+
/**
|
|
3957
|
+
* Preview the impact of a candidate access allowlist
|
|
3958
|
+
* @description Reports the active users who would stop matching if the candidate replaced
|
|
3959
|
+
* the stored allowlist: their count and a capped sample of their emails.
|
|
3960
|
+
* Nothing is stored and nothing is audited.
|
|
3961
|
+
* Instance admin or a first-run setup session; every other request receives 404.
|
|
3962
|
+
*/
|
|
3963
|
+
post: operations["previewAdminAuthAllowlist"];
|
|
3964
|
+
delete?: never;
|
|
3965
|
+
options?: never;
|
|
3966
|
+
head?: never;
|
|
3967
|
+
patch?: never;
|
|
3968
|
+
trace?: never;
|
|
3969
|
+
};
|
|
3970
|
+
"/api/v1/admin/settings/auth/admins": {
|
|
3971
|
+
parameters: {
|
|
3972
|
+
query?: never;
|
|
3973
|
+
header?: never;
|
|
3974
|
+
path?: never;
|
|
3975
|
+
cookie?: never;
|
|
3976
|
+
};
|
|
3977
|
+
/**
|
|
3978
|
+
* List the instance admins
|
|
3979
|
+
* @description Returns the root admins (the emails named in config.yaml's
|
|
3980
|
+
* `auth.instance_admins`, read-only) and the admins granted in the database.
|
|
3981
|
+
* Instance-admin only (a setup session is not admitted); non-admin and unauthenticated requests receive 404.
|
|
3982
|
+
*/
|
|
3983
|
+
get: operations["listAdminInstanceAdmins"];
|
|
3984
|
+
put?: never;
|
|
3985
|
+
/**
|
|
3986
|
+
* Grant instance admin to an existing user
|
|
3987
|
+
* @description Makes an existing, active user an instance admin, named by `user_id` or
|
|
3988
|
+
* `email`, and appends one entry to the `instance_admins` audit log.
|
|
3989
|
+
* Idempotent: granting a user who already holds a grant returns it unchanged
|
|
3990
|
+
* and audits nothing. Only a ROOT admin may grant: a database-granted admin
|
|
3991
|
+
* receives 403.
|
|
3992
|
+
* Instance-admin only (a setup session is not admitted); non-admin and unauthenticated requests receive 404.
|
|
3993
|
+
*/
|
|
3994
|
+
post: operations["grantAdminInstanceAdmin"];
|
|
3995
|
+
delete?: never;
|
|
3996
|
+
options?: never;
|
|
3997
|
+
head?: never;
|
|
3998
|
+
patch?: never;
|
|
3999
|
+
trace?: never;
|
|
4000
|
+
};
|
|
4001
|
+
"/api/v1/admin/settings/auth/admins/{user_id}": {
|
|
4002
|
+
parameters: {
|
|
4003
|
+
query?: never;
|
|
4004
|
+
header?: never;
|
|
4005
|
+
path?: never;
|
|
4006
|
+
cookie?: never;
|
|
4007
|
+
};
|
|
4008
|
+
get?: never;
|
|
4009
|
+
put?: never;
|
|
4010
|
+
post?: never;
|
|
4011
|
+
/**
|
|
4012
|
+
* Revoke a database-granted instance admin
|
|
4013
|
+
* @description Removes the user's instance admin grant and appends one entry to the
|
|
4014
|
+
* `instance_admins` audit log. Only a ROOT admin may revoke: a database-granted
|
|
4015
|
+
* admin receives 403.
|
|
4016
|
+
* Instance-admin only (a setup session is not admitted); non-admin and unauthenticated requests receive 404.
|
|
4017
|
+
*/
|
|
4018
|
+
delete: operations["revokeAdminInstanceAdmin"];
|
|
4019
|
+
options?: never;
|
|
4020
|
+
head?: never;
|
|
4021
|
+
patch?: never;
|
|
4022
|
+
trace?: never;
|
|
4023
|
+
};
|
|
4024
|
+
"/api/v1/admin/settings/auth/audit": {
|
|
4025
|
+
parameters: {
|
|
4026
|
+
query?: never;
|
|
4027
|
+
header?: never;
|
|
4028
|
+
path?: never;
|
|
4029
|
+
cookie?: never;
|
|
4030
|
+
};
|
|
4031
|
+
/**
|
|
4032
|
+
* List an authentication setting's audit log
|
|
4033
|
+
* @description Returns one page of the audit log of one authentication setting
|
|
4034
|
+
* (`auth_providers`, `auth_allowlist`, `instance_admins` or `auth_setup`),
|
|
4035
|
+
* newest first, with each actor's display name resolved. Snapshots never
|
|
4036
|
+
* contain a credential. Pass the previous page's `next_cursor` to continue.
|
|
4037
|
+
* Instance-admin only (a setup session is not admitted); non-admin and unauthenticated requests receive 404.
|
|
4038
|
+
*/
|
|
4039
|
+
get: operations["listAdminAuthSettingsAudit"];
|
|
4040
|
+
put?: never;
|
|
4041
|
+
post?: never;
|
|
4042
|
+
delete?: never;
|
|
4043
|
+
options?: never;
|
|
4044
|
+
head?: never;
|
|
4045
|
+
patch?: never;
|
|
4046
|
+
trace?: never;
|
|
4047
|
+
};
|
|
3754
4048
|
"/api/v1/{team_id}/comments": {
|
|
3755
4049
|
parameters: {
|
|
3756
4050
|
query?: never;
|
|
@@ -5882,6 +6176,31 @@ export interface components {
|
|
|
5882
6176
|
/** @description Enabled login providers, ordered by the admin-defined sort order */
|
|
5883
6177
|
providers: components["schemas"]["AuthProvider"][];
|
|
5884
6178
|
};
|
|
6179
|
+
/** @description Whether this instance is in authentication setup mode. Deliberately a single boolean: the endpoint is public, so it says nothing about which providers exist, why setup is required or whether a setup token is outstanding. */
|
|
6180
|
+
SetupStatusResponse: {
|
|
6181
|
+
/**
|
|
6182
|
+
* @description True while the instance has no enabled sign-in provider (or setup was deliberately re-armed) and so must be configured through the setup page.
|
|
6183
|
+
* @example false
|
|
6184
|
+
*/
|
|
6185
|
+
setup_required: boolean;
|
|
6186
|
+
};
|
|
6187
|
+
/** @description The one-time setup token from the setup URL the server logged at boot. */
|
|
6188
|
+
CreateSetupSessionRequest: {
|
|
6189
|
+
/**
|
|
6190
|
+
* @description The `token` query parameter of the setup URL.
|
|
6191
|
+
* @example q4f1ZbX0m3c8QmYwU2dK7nL5pR9sT1vA6yB3eH8jC0g
|
|
6192
|
+
*/
|
|
6193
|
+
token: string;
|
|
6194
|
+
};
|
|
6195
|
+
/** @description The setup session that was started. The session itself is the `vibexp_setup` cookie; this body only says when it ends. */
|
|
6196
|
+
SetupSessionResponse: {
|
|
6197
|
+
/**
|
|
6198
|
+
* Format: date-time
|
|
6199
|
+
* @description When the setup session stops being valid.
|
|
6200
|
+
* @example 2026-10-02T13:00:00Z
|
|
6201
|
+
*/
|
|
6202
|
+
expires_at: string;
|
|
6203
|
+
};
|
|
5885
6204
|
/** @description Request body for POST /api/v1/auth/dev/login (development environment only) */
|
|
5886
6205
|
DevLoginRequest: {
|
|
5887
6206
|
/**
|
|
@@ -12942,7 +13261,13 @@ export interface components {
|
|
|
12942
13261
|
* only `has_credential` and, on an upsert's `after`, a `secret` marker
|
|
12943
13262
|
* saying whether the credential was `changed` or `unchanged`; the `search`
|
|
12944
13263
|
* and `ai_summary` snapshots are the settings' values, which hold no
|
|
12945
|
-
* credential.
|
|
13264
|
+
* credential. For `auth_providers` each entry is one provider, reporting
|
|
13265
|
+
* only `has_client_secret` and, on an upsert's `after`, a `client_secret`
|
|
13266
|
+
* marker (`changed` or `unchanged`); `auth_allowlist`, `instance_admins`
|
|
13267
|
+
* and `auth_setup` snapshots hold no credential (the setup token and its
|
|
13268
|
+
* hash are never recorded). A snapshot of any of these four settings
|
|
13269
|
+
* carries `source: cli` when the change was made by the `vibexp admin auth`
|
|
13270
|
+
* commands rather than through this API.
|
|
12946
13271
|
*/
|
|
12947
13272
|
AdminInstanceSettingsAuditEntry: {
|
|
12948
13273
|
/**
|
|
@@ -12955,7 +13280,7 @@ export interface components {
|
|
|
12955
13280
|
* @example email_provider
|
|
12956
13281
|
* @enum {string}
|
|
12957
13282
|
*/
|
|
12958
|
-
setting: "email_provider" | "search" | "ai_summary";
|
|
13283
|
+
setting: "email_provider" | "search" | "ai_summary" | "auth_providers" | "auth_allowlist" | "instance_admins" | "auth_setup";
|
|
12959
13284
|
/**
|
|
12960
13285
|
* @description `upsert` (created or replaced by an admin), `delete` (removed by an
|
|
12961
13286
|
* admin) or `import` (the boot-time import from config.yaml, which has no
|
|
@@ -13242,59 +13567,466 @@ export interface components {
|
|
|
13242
13567
|
*/
|
|
13243
13568
|
expected_version?: number | null;
|
|
13244
13569
|
};
|
|
13245
|
-
|
|
13570
|
+
/**
|
|
13571
|
+
* @description The kind of sign-in identity provider. At most one `google` and one
|
|
13572
|
+
* `github` provider can be stored; any number of `oidc` providers.
|
|
13573
|
+
* @example oidc
|
|
13574
|
+
* @enum {string}
|
|
13575
|
+
*/
|
|
13576
|
+
AdminAuthProviderType: "google" | "github" | "oidc";
|
|
13577
|
+
/**
|
|
13578
|
+
* @description The provider's build outcome on the replica that served the request:
|
|
13579
|
+
* `healthy` (built and offered for sign-in), `unhealthy` (enabled but it
|
|
13580
|
+
* failed to build, so it is excluded from sign-in), `disabled` (not enabled,
|
|
13581
|
+
* so never built) or `unknown` (enabled, but this replica could not resolve
|
|
13582
|
+
* it for this request).
|
|
13583
|
+
* @example healthy
|
|
13584
|
+
* @enum {string}
|
|
13585
|
+
*/
|
|
13586
|
+
AdminAuthProviderHealthStatus: "healthy" | "unhealthy" | "disabled" | "unknown";
|
|
13587
|
+
/**
|
|
13588
|
+
* @description The provider's health as seen by the replica that served the request.
|
|
13589
|
+
* Health is held in memory per replica and is not persisted.
|
|
13590
|
+
*/
|
|
13591
|
+
AdminAuthProviderHealth: {
|
|
13592
|
+
status: components["schemas"]["AdminAuthProviderHealthStatus"];
|
|
13246
13593
|
/**
|
|
13247
|
-
* @description
|
|
13248
|
-
* @example
|
|
13594
|
+
* @description Why an `unhealthy` provider failed to build; null otherwise.
|
|
13595
|
+
* @example null
|
|
13249
13596
|
*/
|
|
13250
|
-
|
|
13251
|
-
};
|
|
13252
|
-
ResourceSelection: {
|
|
13597
|
+
last_error: string | null;
|
|
13253
13598
|
/**
|
|
13254
|
-
*
|
|
13255
|
-
* @
|
|
13599
|
+
* Format: date-time
|
|
13600
|
+
* @description When the provider was last built (or tried); null for `disabled` and `unknown`.
|
|
13256
13601
|
*/
|
|
13257
|
-
|
|
13258
|
-
/** @description Explicit list of resource IDs to migrate (used when all is false) */
|
|
13259
|
-
ids?: string[];
|
|
13260
|
-
};
|
|
13261
|
-
ResourceSelections: {
|
|
13262
|
-
prompts?: components["schemas"]["ResourceSelection"];
|
|
13263
|
-
artifacts?: components["schemas"]["ResourceSelection"];
|
|
13264
|
-
blueprints?: components["schemas"]["ResourceSelection"];
|
|
13265
|
-
feed_items?: components["schemas"]["ResourceSelection"];
|
|
13602
|
+
checked_at: string | null;
|
|
13266
13603
|
};
|
|
13267
|
-
|
|
13604
|
+
/**
|
|
13605
|
+
* @description One sign-in identity provider. The client secret is write-only: it is never
|
|
13606
|
+
* returned, and `has_client_secret` reports only whether one is stored.
|
|
13607
|
+
*/
|
|
13608
|
+
AdminAuthProvider: {
|
|
13268
13609
|
/**
|
|
13269
13610
|
* Format: uuid
|
|
13270
|
-
* @description
|
|
13271
|
-
* @example 01234567-89ab-cdef-0123-456789abcdef
|
|
13611
|
+
* @description Provider id.
|
|
13272
13612
|
*/
|
|
13273
|
-
|
|
13274
|
-
|
|
13613
|
+
id: string;
|
|
13614
|
+
type: components["schemas"]["AdminAuthProviderType"];
|
|
13275
13615
|
/**
|
|
13276
|
-
* @description
|
|
13277
|
-
* @
|
|
13278
|
-
* @enum {string}
|
|
13616
|
+
* @description The provider's url-safe name, used in the sign-in URL. Immutable.
|
|
13617
|
+
* @example okta
|
|
13279
13618
|
*/
|
|
13280
|
-
|
|
13281
|
-
};
|
|
13282
|
-
ResourceInventoryItem: {
|
|
13283
|
-
/** @description Resource identifier */
|
|
13284
|
-
id: string;
|
|
13285
|
-
/** @description Human-readable resource name */
|
|
13286
|
-
name: string;
|
|
13287
|
-
};
|
|
13288
|
-
ResourceInventory: {
|
|
13619
|
+
slug: string;
|
|
13289
13620
|
/**
|
|
13290
|
-
* @description
|
|
13291
|
-
* @example
|
|
13621
|
+
* @description The name shown on the sign-in button.
|
|
13622
|
+
* @example Okta
|
|
13292
13623
|
*/
|
|
13293
|
-
|
|
13294
|
-
/** @description
|
|
13295
|
-
|
|
13624
|
+
display_name: string;
|
|
13625
|
+
/** @description Whether the provider is offered for sign-in. */
|
|
13626
|
+
enabled: boolean;
|
|
13627
|
+
/**
|
|
13628
|
+
* @description Position on the sign-in page, ascending.
|
|
13629
|
+
* @example 0
|
|
13630
|
+
*/
|
|
13631
|
+
sort_order: number;
|
|
13632
|
+
/**
|
|
13633
|
+
* @description The OAuth client id.
|
|
13634
|
+
* @example 0oa1b2c3d4
|
|
13635
|
+
*/
|
|
13636
|
+
client_id: string;
|
|
13637
|
+
/** @description Whether a client secret is stored. */
|
|
13638
|
+
has_client_secret: boolean;
|
|
13639
|
+
/**
|
|
13640
|
+
* @description The OIDC issuer URL; null for `google` and `github`.
|
|
13641
|
+
* @example https://example.okta.com
|
|
13642
|
+
*/
|
|
13643
|
+
issuer_url: string | null;
|
|
13644
|
+
/**
|
|
13645
|
+
* @description The redirect URI to register in the identity provider's console. It is
|
|
13646
|
+
* derived from the instance's own URL, is the same for every provider and
|
|
13647
|
+
* cannot be changed here.
|
|
13648
|
+
* @example https://vibexp.example.com/api/v1/auth/callback
|
|
13649
|
+
*/
|
|
13650
|
+
redirect_uri: string;
|
|
13651
|
+
health: components["schemas"]["AdminAuthProviderHealth"];
|
|
13652
|
+
/** Format: date-time */
|
|
13653
|
+
created_at: string;
|
|
13654
|
+
/** Format: date-time */
|
|
13655
|
+
updated_at: string;
|
|
13656
|
+
/**
|
|
13657
|
+
* Format: uuid
|
|
13658
|
+
* @description Who last saved the provider. Null for the boot-time config import, a
|
|
13659
|
+
* save made on a setup session, or once that user has been deleted.
|
|
13660
|
+
*/
|
|
13661
|
+
updated_by_user_id: string | null;
|
|
13296
13662
|
};
|
|
13297
|
-
|
|
13663
|
+
/**
|
|
13664
|
+
* @description Every stored sign-in identity provider, in sign-in page order, with the
|
|
13665
|
+
* `version` of the instance authentication settings. Send that `version` back
|
|
13666
|
+
* as `expected_version` when changing a provider.
|
|
13667
|
+
*/
|
|
13668
|
+
AdminAuthProviderList: {
|
|
13669
|
+
providers: components["schemas"]["AdminAuthProvider"][];
|
|
13670
|
+
/**
|
|
13671
|
+
* Format: int64
|
|
13672
|
+
* @description The shared version of the authentication settings. Every provider and
|
|
13673
|
+
* allowlist change increments it.
|
|
13674
|
+
* @example 7
|
|
13675
|
+
*/
|
|
13676
|
+
version: number;
|
|
13677
|
+
};
|
|
13678
|
+
/**
|
|
13679
|
+
* @description A provider as stored by a create or an update, with the settings `version`
|
|
13680
|
+
* after the change. `provider.health` is resolved after the change, so the
|
|
13681
|
+
* response waits for the provider to be built (for `oidc` and `google`, one
|
|
13682
|
+
* bounded discovery request) and reports whether sign-in can use it.
|
|
13683
|
+
*/
|
|
13684
|
+
AdminAuthProviderSaved: {
|
|
13685
|
+
provider: components["schemas"]["AdminAuthProvider"];
|
|
13686
|
+
/**
|
|
13687
|
+
* Format: int64
|
|
13688
|
+
* @description The shared authentication settings version after the change.
|
|
13689
|
+
* @example 8
|
|
13690
|
+
*/
|
|
13691
|
+
version: number;
|
|
13692
|
+
};
|
|
13693
|
+
/**
|
|
13694
|
+
* @description A new sign-in identity provider. `type` and `slug` cannot be changed later.
|
|
13695
|
+
* `expected_version` is optional: when present, the create is rejected with
|
|
13696
|
+
* 409 unless it equals the current authentication settings `version`.
|
|
13697
|
+
*/
|
|
13698
|
+
AdminAuthProviderCreate: {
|
|
13699
|
+
type: components["schemas"]["AdminAuthProviderType"];
|
|
13700
|
+
/**
|
|
13701
|
+
* @description 1-63 lower-case letters, digits or hyphens, not starting with a hyphen.
|
|
13702
|
+
* @example okta
|
|
13703
|
+
*/
|
|
13704
|
+
slug: string;
|
|
13705
|
+
/** @example Okta */
|
|
13706
|
+
display_name: string;
|
|
13707
|
+
/**
|
|
13708
|
+
* @description Whether the provider is offered for sign-in. Defaults to true.
|
|
13709
|
+
* @default true
|
|
13710
|
+
*/
|
|
13711
|
+
enabled: boolean;
|
|
13712
|
+
/**
|
|
13713
|
+
* @description Position on the sign-in page, ascending. Defaults to 0.
|
|
13714
|
+
* @default 0
|
|
13715
|
+
*/
|
|
13716
|
+
sort_order: number;
|
|
13717
|
+
/** @example 0oa1b2c3d4 */
|
|
13718
|
+
client_id: string;
|
|
13719
|
+
/**
|
|
13720
|
+
* @description The OAuth client secret. Stored encrypted and never returned.
|
|
13721
|
+
* @example s3cr3t-value
|
|
13722
|
+
*/
|
|
13723
|
+
client_secret: string;
|
|
13724
|
+
/**
|
|
13725
|
+
* @description Required for `oidc` and rejected for `google` and `github`. An absolute
|
|
13726
|
+
* `https://` URL (`http://` only for localhost) with no query or fragment.
|
|
13727
|
+
* @example https://example.okta.com
|
|
13728
|
+
*/
|
|
13729
|
+
issuer_url?: string;
|
|
13730
|
+
/**
|
|
13731
|
+
* Format: int64
|
|
13732
|
+
* @description The `version` the caller last read; omit or null to apply to the current version.
|
|
13733
|
+
*/
|
|
13734
|
+
expected_version?: number | null;
|
|
13735
|
+
};
|
|
13736
|
+
/**
|
|
13737
|
+
* @description A whole replacement of a provider's editable fields; `type` and `slug` are
|
|
13738
|
+
* immutable and are rejected as unknown fields. `display_name`, `enabled`,
|
|
13739
|
+
* `sort_order`, `client_id` and `expected_version` are required.
|
|
13740
|
+
*
|
|
13741
|
+
* `client_secret` is write-only. Omit it to keep the stored secret; an empty
|
|
13742
|
+
* string is rejected. It cannot be omitted when `issuer_url` changes: the
|
|
13743
|
+
* stored secret is only ever kept for the issuer it was saved with.
|
|
13744
|
+
*
|
|
13745
|
+
* A change that disables the last enabled provider, or the provider the
|
|
13746
|
+
* calling admin signed in with, is rejected with 409 `lockout_risk` unless
|
|
13747
|
+
* `confirm_lockout_risk` is true.
|
|
13748
|
+
*/
|
|
13749
|
+
AdminAuthProviderUpdate: {
|
|
13750
|
+
/** @example Okta */
|
|
13751
|
+
display_name: string;
|
|
13752
|
+
enabled: boolean;
|
|
13753
|
+
/** @example 0 */
|
|
13754
|
+
sort_order: number;
|
|
13755
|
+
/** @example 0oa1b2c3d4 */
|
|
13756
|
+
client_id: string;
|
|
13757
|
+
/**
|
|
13758
|
+
* @description A new client secret. Omit to keep the stored one. Never returned.
|
|
13759
|
+
* @example s3cr3t-value
|
|
13760
|
+
*/
|
|
13761
|
+
client_secret?: string;
|
|
13762
|
+
/**
|
|
13763
|
+
* @description Required for `oidc`, rejected for `google` and `github`.
|
|
13764
|
+
* @example https://example.okta.com
|
|
13765
|
+
*/
|
|
13766
|
+
issuer_url?: string;
|
|
13767
|
+
/**
|
|
13768
|
+
* Format: int64
|
|
13769
|
+
* @description The authentication settings `version` the caller last read.
|
|
13770
|
+
* @example 7
|
|
13771
|
+
*/
|
|
13772
|
+
expected_version: number;
|
|
13773
|
+
/**
|
|
13774
|
+
* @description Set to true to apply a change that was rejected with `lockout_risk`.
|
|
13775
|
+
* @default false
|
|
13776
|
+
*/
|
|
13777
|
+
confirm_lockout_risk: boolean;
|
|
13778
|
+
};
|
|
13779
|
+
/**
|
|
13780
|
+
* @description What to test. Nothing is stored and nothing is audited.
|
|
13781
|
+
*
|
|
13782
|
+
* - `id` alone tests the STORED provider with its stored secret.
|
|
13783
|
+
* - Without `id`, the body is an unsaved candidate: `type`, `client_id` and
|
|
13784
|
+
* `client_secret` are required (and `issuer_url` for `oidc`).
|
|
13785
|
+
* - `id` with other fields tests the stored provider with those fields
|
|
13786
|
+
* replaced, as an edit form does before saving. `type` cannot differ from
|
|
13787
|
+
* the stored one. When `client_secret` is omitted the stored secret is
|
|
13788
|
+
* used: it is never sent to a candidate-chosen endpoint (OIDC discovery
|
|
13789
|
+
* sends no secret, and the GitHub credential check goes only to GitHub).
|
|
13790
|
+
*/
|
|
13791
|
+
AdminAuthProviderTestRequest: {
|
|
13792
|
+
/**
|
|
13793
|
+
* Format: uuid
|
|
13794
|
+
* @description A stored provider's id.
|
|
13795
|
+
*/
|
|
13796
|
+
id?: string;
|
|
13797
|
+
type?: components["schemas"]["AdminAuthProviderType"];
|
|
13798
|
+
/** @example 0oa1b2c3d4 */
|
|
13799
|
+
client_id?: string;
|
|
13800
|
+
/**
|
|
13801
|
+
* @description The candidate client secret. Never returned.
|
|
13802
|
+
* @example s3cr3t-value
|
|
13803
|
+
*/
|
|
13804
|
+
client_secret?: string;
|
|
13805
|
+
/** @example https://example.okta.com */
|
|
13806
|
+
issuer_url?: string;
|
|
13807
|
+
};
|
|
13808
|
+
/**
|
|
13809
|
+
* @description The outcome of a provider test: OIDC discovery for `oidc` and `google`, a
|
|
13810
|
+
* credential check against GitHub for `github`.
|
|
13811
|
+
*/
|
|
13812
|
+
AdminAuthProviderTestResult: {
|
|
13813
|
+
/** @description Whether the provider could be built with the tested configuration. */
|
|
13814
|
+
is_valid: boolean;
|
|
13815
|
+
/**
|
|
13816
|
+
* @description Why the test failed; null when it passed.
|
|
13817
|
+
* @example null
|
|
13818
|
+
*/
|
|
13819
|
+
message: string | null;
|
|
13820
|
+
};
|
|
13821
|
+
/**
|
|
13822
|
+
* @description The instance's sign-in access allowlist. A user may sign in when their
|
|
13823
|
+
* email's domain is in `domains` or the address is in `emails`. With both
|
|
13824
|
+
* lists empty, or nothing stored, access is open: every user may sign in
|
|
13825
|
+
* (`active` is false). Root instance admins are always exempt.
|
|
13826
|
+
*/
|
|
13827
|
+
AdminAuthAllowlist: {
|
|
13828
|
+
/**
|
|
13829
|
+
* @example [
|
|
13830
|
+
* "example.com"
|
|
13831
|
+
* ]
|
|
13832
|
+
*/
|
|
13833
|
+
domains: string[];
|
|
13834
|
+
/**
|
|
13835
|
+
* @example [
|
|
13836
|
+
* "contractor@partner.example"
|
|
13837
|
+
* ]
|
|
13838
|
+
*/
|
|
13839
|
+
emails: string[];
|
|
13840
|
+
/** @description Whether the allowlist restricts sign-in (at least one domain or email). */
|
|
13841
|
+
active: boolean;
|
|
13842
|
+
/**
|
|
13843
|
+
* Format: int64
|
|
13844
|
+
* @description The stored allowlist's own version; null when nothing is stored.
|
|
13845
|
+
* @example 3
|
|
13846
|
+
*/
|
|
13847
|
+
version: number | null;
|
|
13848
|
+
/**
|
|
13849
|
+
* Format: date-time
|
|
13850
|
+
* @description When the allowlist was last saved; null when nothing is stored.
|
|
13851
|
+
*/
|
|
13852
|
+
updated_at: string | null;
|
|
13853
|
+
/**
|
|
13854
|
+
* Format: uuid
|
|
13855
|
+
* @description Who last saved the allowlist. Null when nothing is stored, for the
|
|
13856
|
+
* boot-time config import, a save made on a setup session, or once that
|
|
13857
|
+
* user has been deleted.
|
|
13858
|
+
*/
|
|
13859
|
+
updated_by_user_id: string | null;
|
|
13860
|
+
};
|
|
13861
|
+
/**
|
|
13862
|
+
* @description A whole replacement of the access allowlist. Both lists are required (send
|
|
13863
|
+
* `[]` for none). Entries are trimmed, lower-cased and de-duplicated; a domain
|
|
13864
|
+
* is a DNS name of at least two labels with no leading `@`. Storing two empty
|
|
13865
|
+
* lists means open access.
|
|
13866
|
+
*
|
|
13867
|
+
* `expected_version` is optional: when present, the save is rejected with
|
|
13868
|
+
* 409 unless it equals the stored allowlist's `version` (and when nothing is
|
|
13869
|
+
* stored, any `expected_version` other than null is a conflict). Omit it for
|
|
13870
|
+
* last-write-wins.
|
|
13871
|
+
*/
|
|
13872
|
+
AdminAuthAllowlistUpdate: {
|
|
13873
|
+
/**
|
|
13874
|
+
* @example [
|
|
13875
|
+
* "example.com"
|
|
13876
|
+
* ]
|
|
13877
|
+
*/
|
|
13878
|
+
domains: string[];
|
|
13879
|
+
/**
|
|
13880
|
+
* @example [
|
|
13881
|
+
* "contractor@partner.example"
|
|
13882
|
+
* ]
|
|
13883
|
+
*/
|
|
13884
|
+
emails: string[];
|
|
13885
|
+
/**
|
|
13886
|
+
* Format: int64
|
|
13887
|
+
* @description The `version` the caller last read; omit or null for last-write-wins.
|
|
13888
|
+
*/
|
|
13889
|
+
expected_version?: number | null;
|
|
13890
|
+
};
|
|
13891
|
+
/** @description A candidate allowlist to preview. Both lists are required (send `[]` for none). */
|
|
13892
|
+
AdminAuthAllowlistPreviewRequest: {
|
|
13893
|
+
/**
|
|
13894
|
+
* @example [
|
|
13895
|
+
* "example.com"
|
|
13896
|
+
* ]
|
|
13897
|
+
*/
|
|
13898
|
+
domains: string[];
|
|
13899
|
+
/** @example [] */
|
|
13900
|
+
emails: string[];
|
|
13901
|
+
};
|
|
13902
|
+
/**
|
|
13903
|
+
* @description What replacing the allowlist with a candidate would do: the active
|
|
13904
|
+
* (non-suspended) users who would stop matching it. Root instance admins are
|
|
13905
|
+
* exempt and never counted. An open-access candidate affects nobody.
|
|
13906
|
+
*/
|
|
13907
|
+
AdminAuthAllowlistImpact: {
|
|
13908
|
+
/**
|
|
13909
|
+
* @description How many active users match neither list of the candidate.
|
|
13910
|
+
* @example 2
|
|
13911
|
+
*/
|
|
13912
|
+
count: number;
|
|
13913
|
+
/**
|
|
13914
|
+
* @description Up to 20 of their emails, in alphabetical order.
|
|
13915
|
+
* @example [
|
|
13916
|
+
* "ada@other.example",
|
|
13917
|
+
* "bob@other.example"
|
|
13918
|
+
* ]
|
|
13919
|
+
*/
|
|
13920
|
+
sample: string[];
|
|
13921
|
+
/** @description Whether `count` exceeds the number of emails in `sample`. */
|
|
13922
|
+
sample_truncated: boolean;
|
|
13923
|
+
};
|
|
13924
|
+
/** @description One instance admin granted in the database. */
|
|
13925
|
+
AdminInstanceAdmin: {
|
|
13926
|
+
/** Format: uuid */
|
|
13927
|
+
user_id: string;
|
|
13928
|
+
/** @example ada@example.com */
|
|
13929
|
+
email: string;
|
|
13930
|
+
/**
|
|
13931
|
+
* @description The admin's display name, when set.
|
|
13932
|
+
* @example Ada Admin
|
|
13933
|
+
*/
|
|
13934
|
+
name: string | null;
|
|
13935
|
+
/**
|
|
13936
|
+
* Format: uuid
|
|
13937
|
+
* @description The root admin who granted it; null once that user has been deleted.
|
|
13938
|
+
*/
|
|
13939
|
+
granted_by_user_id: string | null;
|
|
13940
|
+
/** Format: date-time */
|
|
13941
|
+
granted_at: string;
|
|
13942
|
+
};
|
|
13943
|
+
/**
|
|
13944
|
+
* @description The instance's admins. `root_admins` are the emails named in config.yaml's
|
|
13945
|
+
* `auth.instance_admins`: read-only here, they cannot be granted or revoked.
|
|
13946
|
+
* `admins` are the users granted in the database, oldest first.
|
|
13947
|
+
*/
|
|
13948
|
+
AdminInstanceAdminList: {
|
|
13949
|
+
/**
|
|
13950
|
+
* @description The root admins' normalized emails, sorted.
|
|
13951
|
+
* @example [
|
|
13952
|
+
* "root@example.com"
|
|
13953
|
+
* ]
|
|
13954
|
+
*/
|
|
13955
|
+
root_admins: string[];
|
|
13956
|
+
admins: components["schemas"]["AdminInstanceAdmin"][];
|
|
13957
|
+
};
|
|
13958
|
+
/**
|
|
13959
|
+
* @description The existing user to make an instance admin, named by exactly one of
|
|
13960
|
+
* `user_id` or `email`.
|
|
13961
|
+
*/
|
|
13962
|
+
AdminInstanceAdminGrant: {
|
|
13963
|
+
/** Format: uuid */
|
|
13964
|
+
user_id?: string;
|
|
13965
|
+
/**
|
|
13966
|
+
* Format: email
|
|
13967
|
+
* @example ada@example.com
|
|
13968
|
+
*/
|
|
13969
|
+
email?: string;
|
|
13970
|
+
};
|
|
13971
|
+
/**
|
|
13972
|
+
* @description Which authentication setting's audit log to read.
|
|
13973
|
+
* @example auth_providers
|
|
13974
|
+
* @enum {string}
|
|
13975
|
+
*/
|
|
13976
|
+
AdminAuthSettingsAuditSetting: "auth_providers" | "auth_allowlist" | "instance_admins" | "auth_setup";
|
|
13977
|
+
ProjectResponse: components["schemas"]["Project"] & {
|
|
13978
|
+
/**
|
|
13979
|
+
* @description Whether the project's git URL matches a repository accessible via the team's GitHub App installation
|
|
13980
|
+
* @example true
|
|
13981
|
+
*/
|
|
13982
|
+
github_connected: boolean;
|
|
13983
|
+
};
|
|
13984
|
+
ResourceSelection: {
|
|
13985
|
+
/**
|
|
13986
|
+
* @description Migrate every resource of this type in the source project
|
|
13987
|
+
* @example false
|
|
13988
|
+
*/
|
|
13989
|
+
all?: boolean;
|
|
13990
|
+
/** @description Explicit list of resource IDs to migrate (used when all is false) */
|
|
13991
|
+
ids?: string[];
|
|
13992
|
+
};
|
|
13993
|
+
ResourceSelections: {
|
|
13994
|
+
prompts?: components["schemas"]["ResourceSelection"];
|
|
13995
|
+
artifacts?: components["schemas"]["ResourceSelection"];
|
|
13996
|
+
blueprints?: components["schemas"]["ResourceSelection"];
|
|
13997
|
+
feed_items?: components["schemas"]["ResourceSelection"];
|
|
13998
|
+
};
|
|
13999
|
+
MigrationRequest: {
|
|
14000
|
+
/**
|
|
14001
|
+
* Format: uuid
|
|
14002
|
+
* @description ID of the destination project (must belong to the same team)
|
|
14003
|
+
* @example 01234567-89ab-cdef-0123-456789abcdef
|
|
14004
|
+
*/
|
|
14005
|
+
destination_project_id: string;
|
|
14006
|
+
resources?: components["schemas"]["ResourceSelections"];
|
|
14007
|
+
/**
|
|
14008
|
+
* @description How slug collisions in the destination project are handled
|
|
14009
|
+
* @default skip
|
|
14010
|
+
* @enum {string}
|
|
14011
|
+
*/
|
|
14012
|
+
conflict_policy: "skip" | "rename" | "overwrite";
|
|
14013
|
+
};
|
|
14014
|
+
ResourceInventoryItem: {
|
|
14015
|
+
/** @description Resource identifier */
|
|
14016
|
+
id: string;
|
|
14017
|
+
/** @description Human-readable resource name */
|
|
14018
|
+
name: string;
|
|
14019
|
+
};
|
|
14020
|
+
ResourceInventory: {
|
|
14021
|
+
/**
|
|
14022
|
+
* @description Number of resources of this type in the source project
|
|
14023
|
+
* @example 3
|
|
14024
|
+
*/
|
|
14025
|
+
count: number;
|
|
14026
|
+
/** @description Resources of this type (omitted when empty) */
|
|
14027
|
+
items?: components["schemas"]["ResourceInventoryItem"][];
|
|
14028
|
+
};
|
|
14029
|
+
MigrationInventory: {
|
|
13298
14030
|
prompts?: components["schemas"]["ResourceInventory"];
|
|
13299
14031
|
artifacts?: components["schemas"]["ResourceInventory"];
|
|
13300
14032
|
blueprints?: components["schemas"]["ResourceInventory"];
|
|
@@ -14098,31 +14830,26 @@ export interface operations {
|
|
|
14098
14830
|
};
|
|
14099
14831
|
};
|
|
14100
14832
|
};
|
|
14101
|
-
|
|
14833
|
+
getSetupStatus: {
|
|
14102
14834
|
parameters: {
|
|
14103
|
-
query?:
|
|
14104
|
-
/** @description Page number */
|
|
14105
|
-
page?: number;
|
|
14106
|
-
/** @description Items per page */
|
|
14107
|
-
limit?: number;
|
|
14108
|
-
};
|
|
14835
|
+
query?: never;
|
|
14109
14836
|
header?: never;
|
|
14110
14837
|
path?: never;
|
|
14111
14838
|
cookie?: never;
|
|
14112
14839
|
};
|
|
14113
14840
|
requestBody?: never;
|
|
14114
14841
|
responses: {
|
|
14115
|
-
/** @description
|
|
14842
|
+
/** @description Setup status retrieved successfully */
|
|
14116
14843
|
200: {
|
|
14117
14844
|
headers: {
|
|
14118
14845
|
[name: string]: unknown;
|
|
14119
14846
|
};
|
|
14120
14847
|
content: {
|
|
14121
|
-
"application/json": components["schemas"]["
|
|
14848
|
+
"application/json": components["schemas"]["SetupStatusResponse"];
|
|
14122
14849
|
};
|
|
14123
14850
|
};
|
|
14124
|
-
/** @description
|
|
14125
|
-
|
|
14851
|
+
/** @description The setup status could not be determined */
|
|
14852
|
+
500: {
|
|
14126
14853
|
headers: {
|
|
14127
14854
|
[name: string]: unknown;
|
|
14128
14855
|
};
|
|
@@ -14132,7 +14859,7 @@ export interface operations {
|
|
|
14132
14859
|
};
|
|
14133
14860
|
};
|
|
14134
14861
|
};
|
|
14135
|
-
|
|
14862
|
+
createSetupSession: {
|
|
14136
14863
|
parameters: {
|
|
14137
14864
|
query?: never;
|
|
14138
14865
|
header?: never;
|
|
@@ -14141,20 +14868,22 @@ export interface operations {
|
|
|
14141
14868
|
};
|
|
14142
14869
|
requestBody: {
|
|
14143
14870
|
content: {
|
|
14144
|
-
"application/json": components["schemas"]["
|
|
14871
|
+
"application/json": components["schemas"]["CreateSetupSessionRequest"];
|
|
14145
14872
|
};
|
|
14146
14873
|
};
|
|
14147
14874
|
responses: {
|
|
14148
|
-
/** @description
|
|
14149
|
-
|
|
14875
|
+
/** @description Setup session started */
|
|
14876
|
+
200: {
|
|
14150
14877
|
headers: {
|
|
14878
|
+
/** @description Encrypted, HttpOnly, SameSite=Strict setup-session cookie (`vibexp_setup`) */
|
|
14879
|
+
"Set-Cookie"?: string;
|
|
14151
14880
|
[name: string]: unknown;
|
|
14152
14881
|
};
|
|
14153
14882
|
content: {
|
|
14154
|
-
"application/json": components["schemas"]["
|
|
14883
|
+
"application/json": components["schemas"]["SetupSessionResponse"];
|
|
14155
14884
|
};
|
|
14156
14885
|
};
|
|
14157
|
-
/** @description
|
|
14886
|
+
/** @description Malformed request body */
|
|
14158
14887
|
400: {
|
|
14159
14888
|
headers: {
|
|
14160
14889
|
[name: string]: unknown;
|
|
@@ -14163,7 +14892,7 @@ export interface operations {
|
|
|
14163
14892
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14164
14893
|
};
|
|
14165
14894
|
};
|
|
14166
|
-
/** @description
|
|
14895
|
+
/** @description The setup token is unknown, expired or already consumed */
|
|
14167
14896
|
401: {
|
|
14168
14897
|
headers: {
|
|
14169
14898
|
[name: string]: unknown;
|
|
@@ -14172,16 +14901,110 @@ export interface operations {
|
|
|
14172
14901
|
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14173
14902
|
};
|
|
14174
14903
|
};
|
|
14175
|
-
|
|
14176
|
-
|
|
14177
|
-
|
|
14178
|
-
|
|
14179
|
-
|
|
14180
|
-
|
|
14181
|
-
|
|
14182
|
-
|
|
14183
|
-
|
|
14184
|
-
|
|
14904
|
+
/** @description The instance is not in setup mode */
|
|
14905
|
+
404: {
|
|
14906
|
+
headers: {
|
|
14907
|
+
[name: string]: unknown;
|
|
14908
|
+
};
|
|
14909
|
+
content: {
|
|
14910
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14911
|
+
};
|
|
14912
|
+
};
|
|
14913
|
+
/** @description The setup session could not be started */
|
|
14914
|
+
500: {
|
|
14915
|
+
headers: {
|
|
14916
|
+
[name: string]: unknown;
|
|
14917
|
+
};
|
|
14918
|
+
content: {
|
|
14919
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14920
|
+
};
|
|
14921
|
+
};
|
|
14922
|
+
};
|
|
14923
|
+
};
|
|
14924
|
+
listAPIKeys: {
|
|
14925
|
+
parameters: {
|
|
14926
|
+
query?: {
|
|
14927
|
+
/** @description Page number */
|
|
14928
|
+
page?: number;
|
|
14929
|
+
/** @description Items per page */
|
|
14930
|
+
limit?: number;
|
|
14931
|
+
};
|
|
14932
|
+
header?: never;
|
|
14933
|
+
path?: never;
|
|
14934
|
+
cookie?: never;
|
|
14935
|
+
};
|
|
14936
|
+
requestBody?: never;
|
|
14937
|
+
responses: {
|
|
14938
|
+
/** @description API keys retrieved successfully */
|
|
14939
|
+
200: {
|
|
14940
|
+
headers: {
|
|
14941
|
+
[name: string]: unknown;
|
|
14942
|
+
};
|
|
14943
|
+
content: {
|
|
14944
|
+
"application/json": components["schemas"]["APIKeyListResponse"];
|
|
14945
|
+
};
|
|
14946
|
+
};
|
|
14947
|
+
/** @description Unauthorized */
|
|
14948
|
+
401: {
|
|
14949
|
+
headers: {
|
|
14950
|
+
[name: string]: unknown;
|
|
14951
|
+
};
|
|
14952
|
+
content: {
|
|
14953
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14954
|
+
};
|
|
14955
|
+
};
|
|
14956
|
+
};
|
|
14957
|
+
};
|
|
14958
|
+
createAPIKey: {
|
|
14959
|
+
parameters: {
|
|
14960
|
+
query?: never;
|
|
14961
|
+
header?: never;
|
|
14962
|
+
path?: never;
|
|
14963
|
+
cookie?: never;
|
|
14964
|
+
};
|
|
14965
|
+
requestBody: {
|
|
14966
|
+
content: {
|
|
14967
|
+
"application/json": components["schemas"]["CreateAPIKeyRequest"];
|
|
14968
|
+
};
|
|
14969
|
+
};
|
|
14970
|
+
responses: {
|
|
14971
|
+
/** @description API key created successfully */
|
|
14972
|
+
201: {
|
|
14973
|
+
headers: {
|
|
14974
|
+
[name: string]: unknown;
|
|
14975
|
+
};
|
|
14976
|
+
content: {
|
|
14977
|
+
"application/json": components["schemas"]["CreateAPIKeyResponse"];
|
|
14978
|
+
};
|
|
14979
|
+
};
|
|
14980
|
+
/** @description Invalid request data */
|
|
14981
|
+
400: {
|
|
14982
|
+
headers: {
|
|
14983
|
+
[name: string]: unknown;
|
|
14984
|
+
};
|
|
14985
|
+
content: {
|
|
14986
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14987
|
+
};
|
|
14988
|
+
};
|
|
14989
|
+
/** @description Unauthorized */
|
|
14990
|
+
401: {
|
|
14991
|
+
headers: {
|
|
14992
|
+
[name: string]: unknown;
|
|
14993
|
+
};
|
|
14994
|
+
content: {
|
|
14995
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
14996
|
+
};
|
|
14997
|
+
};
|
|
14998
|
+
};
|
|
14999
|
+
};
|
|
15000
|
+
deleteAPIKey: {
|
|
15001
|
+
parameters: {
|
|
15002
|
+
query?: never;
|
|
15003
|
+
header?: never;
|
|
15004
|
+
path: {
|
|
15005
|
+
/** @description API key ID */
|
|
15006
|
+
id: string;
|
|
15007
|
+
};
|
|
14185
15008
|
cookie?: never;
|
|
14186
15009
|
};
|
|
14187
15010
|
requestBody?: never;
|
|
@@ -25480,6 +26303,726 @@ export interface operations {
|
|
|
25480
26303
|
};
|
|
25481
26304
|
};
|
|
25482
26305
|
};
|
|
26306
|
+
listAdminAuthProviders: {
|
|
26307
|
+
parameters: {
|
|
26308
|
+
query?: never;
|
|
26309
|
+
header?: never;
|
|
26310
|
+
path?: never;
|
|
26311
|
+
cookie?: never;
|
|
26312
|
+
};
|
|
26313
|
+
requestBody?: never;
|
|
26314
|
+
responses: {
|
|
26315
|
+
/** @description The stored providers and the settings version */
|
|
26316
|
+
200: {
|
|
26317
|
+
headers: {
|
|
26318
|
+
[name: string]: unknown;
|
|
26319
|
+
};
|
|
26320
|
+
content: {
|
|
26321
|
+
"application/json": components["schemas"]["AdminAuthProviderList"];
|
|
26322
|
+
};
|
|
26323
|
+
};
|
|
26324
|
+
/** @description Not found — the caller is neither an instance admin nor on a setup session */
|
|
26325
|
+
404: {
|
|
26326
|
+
headers: {
|
|
26327
|
+
[name: string]: unknown;
|
|
26328
|
+
};
|
|
26329
|
+
content: {
|
|
26330
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26331
|
+
};
|
|
26332
|
+
};
|
|
26333
|
+
/** @description Internal server error */
|
|
26334
|
+
500: {
|
|
26335
|
+
headers: {
|
|
26336
|
+
[name: string]: unknown;
|
|
26337
|
+
};
|
|
26338
|
+
content: {
|
|
26339
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26340
|
+
};
|
|
26341
|
+
};
|
|
26342
|
+
};
|
|
26343
|
+
};
|
|
26344
|
+
createAdminAuthProvider: {
|
|
26345
|
+
parameters: {
|
|
26346
|
+
query?: never;
|
|
26347
|
+
header?: never;
|
|
26348
|
+
path?: never;
|
|
26349
|
+
cookie?: never;
|
|
26350
|
+
};
|
|
26351
|
+
requestBody: {
|
|
26352
|
+
content: {
|
|
26353
|
+
"application/json": components["schemas"]["AdminAuthProviderCreate"];
|
|
26354
|
+
};
|
|
26355
|
+
};
|
|
26356
|
+
responses: {
|
|
26357
|
+
/** @description The stored provider and the settings version after the change */
|
|
26358
|
+
201: {
|
|
26359
|
+
headers: {
|
|
26360
|
+
[name: string]: unknown;
|
|
26361
|
+
};
|
|
26362
|
+
content: {
|
|
26363
|
+
"application/json": components["schemas"]["AdminAuthProviderSaved"];
|
|
26364
|
+
};
|
|
26365
|
+
};
|
|
26366
|
+
/**
|
|
26367
|
+
* @description Bad request — a field is invalid (`INSTANCE_SETTINGS_VALIDATION_FAILED`, with
|
|
26368
|
+
* `validation_errors` naming it), or the body is malformed or carries an
|
|
26369
|
+
* unknown field
|
|
26370
|
+
*/
|
|
26371
|
+
400: {
|
|
26372
|
+
headers: {
|
|
26373
|
+
[name: string]: unknown;
|
|
26374
|
+
};
|
|
26375
|
+
content: {
|
|
26376
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26377
|
+
};
|
|
26378
|
+
};
|
|
26379
|
+
/** @description Not found — the caller is neither an instance admin nor on a setup session */
|
|
26380
|
+
404: {
|
|
26381
|
+
headers: {
|
|
26382
|
+
[name: string]: unknown;
|
|
26383
|
+
};
|
|
26384
|
+
content: {
|
|
26385
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26386
|
+
};
|
|
26387
|
+
};
|
|
26388
|
+
/**
|
|
26389
|
+
* @description Conflict — `expected_version` does not match the current version
|
|
26390
|
+
* (`INSTANCE_SETTINGS_VERSION_CONFLICT`), or the slug is taken or a second
|
|
26391
|
+
* `google`/`github` provider was sent (`INSTANCE_AUTH_PROVIDER_CONFLICT`);
|
|
26392
|
+
* nothing was changed
|
|
26393
|
+
*/
|
|
26394
|
+
409: {
|
|
26395
|
+
headers: {
|
|
26396
|
+
[name: string]: unknown;
|
|
26397
|
+
};
|
|
26398
|
+
content: {
|
|
26399
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26400
|
+
};
|
|
26401
|
+
};
|
|
26402
|
+
/** @description Internal server error */
|
|
26403
|
+
500: {
|
|
26404
|
+
headers: {
|
|
26405
|
+
[name: string]: unknown;
|
|
26406
|
+
};
|
|
26407
|
+
content: {
|
|
26408
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26409
|
+
};
|
|
26410
|
+
};
|
|
26411
|
+
};
|
|
26412
|
+
};
|
|
26413
|
+
testAdminAuthProvider: {
|
|
26414
|
+
parameters: {
|
|
26415
|
+
query?: never;
|
|
26416
|
+
header?: never;
|
|
26417
|
+
path?: never;
|
|
26418
|
+
cookie?: never;
|
|
26419
|
+
};
|
|
26420
|
+
requestBody: {
|
|
26421
|
+
content: {
|
|
26422
|
+
"application/json": components["schemas"]["AdminAuthProviderTestRequest"];
|
|
26423
|
+
};
|
|
26424
|
+
};
|
|
26425
|
+
responses: {
|
|
26426
|
+
/** @description The outcome of the test */
|
|
26427
|
+
200: {
|
|
26428
|
+
headers: {
|
|
26429
|
+
[name: string]: unknown;
|
|
26430
|
+
};
|
|
26431
|
+
content: {
|
|
26432
|
+
"application/json": components["schemas"]["AdminAuthProviderTestResult"];
|
|
26433
|
+
};
|
|
26434
|
+
};
|
|
26435
|
+
/**
|
|
26436
|
+
* @description Bad request — the candidate is invalid (`INSTANCE_SETTINGS_VALIDATION_FAILED`),
|
|
26437
|
+
* or the body is malformed or carries an unknown field
|
|
26438
|
+
*/
|
|
26439
|
+
400: {
|
|
26440
|
+
headers: {
|
|
26441
|
+
[name: string]: unknown;
|
|
26442
|
+
};
|
|
26443
|
+
content: {
|
|
26444
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26445
|
+
};
|
|
26446
|
+
};
|
|
26447
|
+
/** @description Not found — no provider has that `id`, or the caller is neither an instance admin nor on a setup session */
|
|
26448
|
+
404: {
|
|
26449
|
+
headers: {
|
|
26450
|
+
[name: string]: unknown;
|
|
26451
|
+
};
|
|
26452
|
+
content: {
|
|
26453
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26454
|
+
};
|
|
26455
|
+
};
|
|
26456
|
+
/** @description Internal server error */
|
|
26457
|
+
500: {
|
|
26458
|
+
headers: {
|
|
26459
|
+
[name: string]: unknown;
|
|
26460
|
+
};
|
|
26461
|
+
content: {
|
|
26462
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26463
|
+
};
|
|
26464
|
+
};
|
|
26465
|
+
};
|
|
26466
|
+
};
|
|
26467
|
+
updateAdminAuthProvider: {
|
|
26468
|
+
parameters: {
|
|
26469
|
+
query?: never;
|
|
26470
|
+
header?: never;
|
|
26471
|
+
path: {
|
|
26472
|
+
/** @description Provider id (UUID) */
|
|
26473
|
+
id: string;
|
|
26474
|
+
};
|
|
26475
|
+
cookie?: never;
|
|
26476
|
+
};
|
|
26477
|
+
requestBody: {
|
|
26478
|
+
content: {
|
|
26479
|
+
"application/json": components["schemas"]["AdminAuthProviderUpdate"];
|
|
26480
|
+
};
|
|
26481
|
+
};
|
|
26482
|
+
responses: {
|
|
26483
|
+
/** @description The stored provider and the settings version after the change */
|
|
26484
|
+
200: {
|
|
26485
|
+
headers: {
|
|
26486
|
+
[name: string]: unknown;
|
|
26487
|
+
};
|
|
26488
|
+
content: {
|
|
26489
|
+
"application/json": components["schemas"]["AdminAuthProviderSaved"];
|
|
26490
|
+
};
|
|
26491
|
+
};
|
|
26492
|
+
/**
|
|
26493
|
+
* @description Bad request — a field is invalid (`INSTANCE_SETTINGS_VALIDATION_FAILED`, with
|
|
26494
|
+
* `validation_errors` naming it), the provider id is malformed, or the body is
|
|
26495
|
+
* malformed, omits or nulls a required field, or carries an unknown field
|
|
26496
|
+
*/
|
|
26497
|
+
400: {
|
|
26498
|
+
headers: {
|
|
26499
|
+
[name: string]: unknown;
|
|
26500
|
+
};
|
|
26501
|
+
content: {
|
|
26502
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26503
|
+
};
|
|
26504
|
+
};
|
|
26505
|
+
/** @description Not found — no provider has that id, or the caller is neither an instance admin nor on a setup session */
|
|
26506
|
+
404: {
|
|
26507
|
+
headers: {
|
|
26508
|
+
[name: string]: unknown;
|
|
26509
|
+
};
|
|
26510
|
+
content: {
|
|
26511
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26512
|
+
};
|
|
26513
|
+
};
|
|
26514
|
+
/**
|
|
26515
|
+
* @description Conflict — `expected_version` does not match the current version
|
|
26516
|
+
* (`INSTANCE_SETTINGS_VERSION_CONFLICT`), or the change risks locking sign-in
|
|
26517
|
+
* out (`lockout_risk`); nothing was changed
|
|
26518
|
+
*/
|
|
26519
|
+
409: {
|
|
26520
|
+
headers: {
|
|
26521
|
+
[name: string]: unknown;
|
|
26522
|
+
};
|
|
26523
|
+
content: {
|
|
26524
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26525
|
+
};
|
|
26526
|
+
};
|
|
26527
|
+
/** @description Internal server error */
|
|
26528
|
+
500: {
|
|
26529
|
+
headers: {
|
|
26530
|
+
[name: string]: unknown;
|
|
26531
|
+
};
|
|
26532
|
+
content: {
|
|
26533
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26534
|
+
};
|
|
26535
|
+
};
|
|
26536
|
+
};
|
|
26537
|
+
};
|
|
26538
|
+
deleteAdminAuthProvider: {
|
|
26539
|
+
parameters: {
|
|
26540
|
+
query?: {
|
|
26541
|
+
/** @description The authentication settings `version` the caller last read; omit to apply to the current version. */
|
|
26542
|
+
expected_version?: number;
|
|
26543
|
+
/** @description Set to true to apply a delete that was rejected with `lockout_risk`. */
|
|
26544
|
+
confirm_lockout_risk?: boolean;
|
|
26545
|
+
};
|
|
26546
|
+
header?: never;
|
|
26547
|
+
path: {
|
|
26548
|
+
/** @description Provider id (UUID) */
|
|
26549
|
+
id: string;
|
|
26550
|
+
};
|
|
26551
|
+
cookie?: never;
|
|
26552
|
+
};
|
|
26553
|
+
requestBody?: never;
|
|
26554
|
+
responses: {
|
|
26555
|
+
/** @description The provider was deleted */
|
|
26556
|
+
204: {
|
|
26557
|
+
headers: {
|
|
26558
|
+
[name: string]: unknown;
|
|
26559
|
+
};
|
|
26560
|
+
content?: never;
|
|
26561
|
+
};
|
|
26562
|
+
/** @description Bad request — malformed provider id or query parameter */
|
|
26563
|
+
400: {
|
|
26564
|
+
headers: {
|
|
26565
|
+
[name: string]: unknown;
|
|
26566
|
+
};
|
|
26567
|
+
content: {
|
|
26568
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26569
|
+
};
|
|
26570
|
+
};
|
|
26571
|
+
/** @description Not found — no provider has that id, or the caller is neither an instance admin nor on a setup session */
|
|
26572
|
+
404: {
|
|
26573
|
+
headers: {
|
|
26574
|
+
[name: string]: unknown;
|
|
26575
|
+
};
|
|
26576
|
+
content: {
|
|
26577
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26578
|
+
};
|
|
26579
|
+
};
|
|
26580
|
+
/**
|
|
26581
|
+
* @description Conflict — `expected_version` does not match the current version
|
|
26582
|
+
* (`INSTANCE_SETTINGS_VERSION_CONFLICT`), or the delete risks locking sign-in
|
|
26583
|
+
* out (`lockout_risk`); nothing was changed
|
|
26584
|
+
*/
|
|
26585
|
+
409: {
|
|
26586
|
+
headers: {
|
|
26587
|
+
[name: string]: unknown;
|
|
26588
|
+
};
|
|
26589
|
+
content: {
|
|
26590
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26591
|
+
};
|
|
26592
|
+
};
|
|
26593
|
+
/** @description Internal server error */
|
|
26594
|
+
500: {
|
|
26595
|
+
headers: {
|
|
26596
|
+
[name: string]: unknown;
|
|
26597
|
+
};
|
|
26598
|
+
content: {
|
|
26599
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26600
|
+
};
|
|
26601
|
+
};
|
|
26602
|
+
};
|
|
26603
|
+
};
|
|
26604
|
+
getAdminAuthAllowlist: {
|
|
26605
|
+
parameters: {
|
|
26606
|
+
query?: never;
|
|
26607
|
+
header?: never;
|
|
26608
|
+
path?: never;
|
|
26609
|
+
cookie?: never;
|
|
26610
|
+
};
|
|
26611
|
+
requestBody?: never;
|
|
26612
|
+
responses: {
|
|
26613
|
+
/** @description The access allowlist */
|
|
26614
|
+
200: {
|
|
26615
|
+
headers: {
|
|
26616
|
+
[name: string]: unknown;
|
|
26617
|
+
};
|
|
26618
|
+
content: {
|
|
26619
|
+
"application/json": components["schemas"]["AdminAuthAllowlist"];
|
|
26620
|
+
};
|
|
26621
|
+
};
|
|
26622
|
+
/** @description Not found — the caller is neither an instance admin nor on a setup session */
|
|
26623
|
+
404: {
|
|
26624
|
+
headers: {
|
|
26625
|
+
[name: string]: unknown;
|
|
26626
|
+
};
|
|
26627
|
+
content: {
|
|
26628
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26629
|
+
};
|
|
26630
|
+
};
|
|
26631
|
+
/** @description Internal server error */
|
|
26632
|
+
500: {
|
|
26633
|
+
headers: {
|
|
26634
|
+
[name: string]: unknown;
|
|
26635
|
+
};
|
|
26636
|
+
content: {
|
|
26637
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26638
|
+
};
|
|
26639
|
+
};
|
|
26640
|
+
};
|
|
26641
|
+
};
|
|
26642
|
+
updateAdminAuthAllowlist: {
|
|
26643
|
+
parameters: {
|
|
26644
|
+
query?: never;
|
|
26645
|
+
header?: never;
|
|
26646
|
+
path?: never;
|
|
26647
|
+
cookie?: never;
|
|
26648
|
+
};
|
|
26649
|
+
requestBody: {
|
|
26650
|
+
content: {
|
|
26651
|
+
"application/json": components["schemas"]["AdminAuthAllowlistUpdate"];
|
|
26652
|
+
};
|
|
26653
|
+
};
|
|
26654
|
+
responses: {
|
|
26655
|
+
/** @description The stored allowlist */
|
|
26656
|
+
200: {
|
|
26657
|
+
headers: {
|
|
26658
|
+
[name: string]: unknown;
|
|
26659
|
+
};
|
|
26660
|
+
content: {
|
|
26661
|
+
"application/json": components["schemas"]["AdminAuthAllowlist"];
|
|
26662
|
+
};
|
|
26663
|
+
};
|
|
26664
|
+
/**
|
|
26665
|
+
* @description Bad request — an entry is invalid (`INSTANCE_SETTINGS_VALIDATION_FAILED`, with
|
|
26666
|
+
* `validation_errors` naming the list), or the body is malformed, omits or
|
|
26667
|
+
* nulls a list, or carries an unknown field
|
|
26668
|
+
*/
|
|
26669
|
+
400: {
|
|
26670
|
+
headers: {
|
|
26671
|
+
[name: string]: unknown;
|
|
26672
|
+
};
|
|
26673
|
+
content: {
|
|
26674
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26675
|
+
};
|
|
26676
|
+
};
|
|
26677
|
+
/** @description Not found — the caller is neither an instance admin nor on a setup session */
|
|
26678
|
+
404: {
|
|
26679
|
+
headers: {
|
|
26680
|
+
[name: string]: unknown;
|
|
26681
|
+
};
|
|
26682
|
+
content: {
|
|
26683
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26684
|
+
};
|
|
26685
|
+
};
|
|
26686
|
+
/** @description Conflict — `expected_version` does not match the stored version (`INSTANCE_SETTINGS_VERSION_CONFLICT`); nothing was changed */
|
|
26687
|
+
409: {
|
|
26688
|
+
headers: {
|
|
26689
|
+
[name: string]: unknown;
|
|
26690
|
+
};
|
|
26691
|
+
content: {
|
|
26692
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26693
|
+
};
|
|
26694
|
+
};
|
|
26695
|
+
/** @description Internal server error */
|
|
26696
|
+
500: {
|
|
26697
|
+
headers: {
|
|
26698
|
+
[name: string]: unknown;
|
|
26699
|
+
};
|
|
26700
|
+
content: {
|
|
26701
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26702
|
+
};
|
|
26703
|
+
};
|
|
26704
|
+
};
|
|
26705
|
+
};
|
|
26706
|
+
resetAdminAuthAllowlist: {
|
|
26707
|
+
parameters: {
|
|
26708
|
+
query?: never;
|
|
26709
|
+
header?: never;
|
|
26710
|
+
path?: never;
|
|
26711
|
+
cookie?: never;
|
|
26712
|
+
};
|
|
26713
|
+
requestBody?: never;
|
|
26714
|
+
responses: {
|
|
26715
|
+
/** @description Access is now open */
|
|
26716
|
+
204: {
|
|
26717
|
+
headers: {
|
|
26718
|
+
[name: string]: unknown;
|
|
26719
|
+
};
|
|
26720
|
+
content?: never;
|
|
26721
|
+
};
|
|
26722
|
+
/** @description Not found — the caller is neither an instance admin nor on a setup session */
|
|
26723
|
+
404: {
|
|
26724
|
+
headers: {
|
|
26725
|
+
[name: string]: unknown;
|
|
26726
|
+
};
|
|
26727
|
+
content: {
|
|
26728
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26729
|
+
};
|
|
26730
|
+
};
|
|
26731
|
+
/** @description Internal server error */
|
|
26732
|
+
500: {
|
|
26733
|
+
headers: {
|
|
26734
|
+
[name: string]: unknown;
|
|
26735
|
+
};
|
|
26736
|
+
content: {
|
|
26737
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26738
|
+
};
|
|
26739
|
+
};
|
|
26740
|
+
};
|
|
26741
|
+
};
|
|
26742
|
+
previewAdminAuthAllowlist: {
|
|
26743
|
+
parameters: {
|
|
26744
|
+
query?: never;
|
|
26745
|
+
header?: never;
|
|
26746
|
+
path?: never;
|
|
26747
|
+
cookie?: never;
|
|
26748
|
+
};
|
|
26749
|
+
requestBody: {
|
|
26750
|
+
content: {
|
|
26751
|
+
"application/json": components["schemas"]["AdminAuthAllowlistPreviewRequest"];
|
|
26752
|
+
};
|
|
26753
|
+
};
|
|
26754
|
+
responses: {
|
|
26755
|
+
/** @description The impact of the candidate */
|
|
26756
|
+
200: {
|
|
26757
|
+
headers: {
|
|
26758
|
+
[name: string]: unknown;
|
|
26759
|
+
};
|
|
26760
|
+
content: {
|
|
26761
|
+
"application/json": components["schemas"]["AdminAuthAllowlistImpact"];
|
|
26762
|
+
};
|
|
26763
|
+
};
|
|
26764
|
+
/**
|
|
26765
|
+
* @description Bad request — an entry is invalid (`INSTANCE_SETTINGS_VALIDATION_FAILED`), or
|
|
26766
|
+
* the body is malformed, omits or nulls a list, or carries an unknown field
|
|
26767
|
+
*/
|
|
26768
|
+
400: {
|
|
26769
|
+
headers: {
|
|
26770
|
+
[name: string]: unknown;
|
|
26771
|
+
};
|
|
26772
|
+
content: {
|
|
26773
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26774
|
+
};
|
|
26775
|
+
};
|
|
26776
|
+
/** @description Not found — the caller is neither an instance admin nor on a setup session */
|
|
26777
|
+
404: {
|
|
26778
|
+
headers: {
|
|
26779
|
+
[name: string]: unknown;
|
|
26780
|
+
};
|
|
26781
|
+
content: {
|
|
26782
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26783
|
+
};
|
|
26784
|
+
};
|
|
26785
|
+
/** @description Internal server error */
|
|
26786
|
+
500: {
|
|
26787
|
+
headers: {
|
|
26788
|
+
[name: string]: unknown;
|
|
26789
|
+
};
|
|
26790
|
+
content: {
|
|
26791
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26792
|
+
};
|
|
26793
|
+
};
|
|
26794
|
+
};
|
|
26795
|
+
};
|
|
26796
|
+
listAdminInstanceAdmins: {
|
|
26797
|
+
parameters: {
|
|
26798
|
+
query?: never;
|
|
26799
|
+
header?: never;
|
|
26800
|
+
path?: never;
|
|
26801
|
+
cookie?: never;
|
|
26802
|
+
};
|
|
26803
|
+
requestBody?: never;
|
|
26804
|
+
responses: {
|
|
26805
|
+
/** @description The instance admins */
|
|
26806
|
+
200: {
|
|
26807
|
+
headers: {
|
|
26808
|
+
[name: string]: unknown;
|
|
26809
|
+
};
|
|
26810
|
+
content: {
|
|
26811
|
+
"application/json": components["schemas"]["AdminInstanceAdminList"];
|
|
26812
|
+
};
|
|
26813
|
+
};
|
|
26814
|
+
/** @description Not found — the caller is not an instance admin */
|
|
26815
|
+
404: {
|
|
26816
|
+
headers: {
|
|
26817
|
+
[name: string]: unknown;
|
|
26818
|
+
};
|
|
26819
|
+
content: {
|
|
26820
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26821
|
+
};
|
|
26822
|
+
};
|
|
26823
|
+
/** @description Internal server error */
|
|
26824
|
+
500: {
|
|
26825
|
+
headers: {
|
|
26826
|
+
[name: string]: unknown;
|
|
26827
|
+
};
|
|
26828
|
+
content: {
|
|
26829
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26830
|
+
};
|
|
26831
|
+
};
|
|
26832
|
+
};
|
|
26833
|
+
};
|
|
26834
|
+
grantAdminInstanceAdmin: {
|
|
26835
|
+
parameters: {
|
|
26836
|
+
query?: never;
|
|
26837
|
+
header?: never;
|
|
26838
|
+
path?: never;
|
|
26839
|
+
cookie?: never;
|
|
26840
|
+
};
|
|
26841
|
+
requestBody: {
|
|
26842
|
+
content: {
|
|
26843
|
+
"application/json": components["schemas"]["AdminInstanceAdminGrant"];
|
|
26844
|
+
};
|
|
26845
|
+
};
|
|
26846
|
+
responses: {
|
|
26847
|
+
/** @description The grant */
|
|
26848
|
+
200: {
|
|
26849
|
+
headers: {
|
|
26850
|
+
[name: string]: unknown;
|
|
26851
|
+
};
|
|
26852
|
+
content: {
|
|
26853
|
+
"application/json": components["schemas"]["AdminInstanceAdmin"];
|
|
26854
|
+
};
|
|
26855
|
+
};
|
|
26856
|
+
/**
|
|
26857
|
+
* @description Bad request — the body names neither or both of `user_id` and `email`, the
|
|
26858
|
+
* user is suspended, or the body is malformed or carries an unknown field
|
|
26859
|
+
*/
|
|
26860
|
+
400: {
|
|
26861
|
+
headers: {
|
|
26862
|
+
[name: string]: unknown;
|
|
26863
|
+
};
|
|
26864
|
+
content: {
|
|
26865
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26866
|
+
};
|
|
26867
|
+
};
|
|
26868
|
+
/** @description Forbidden — the caller is an instance admin but not a root admin */
|
|
26869
|
+
403: {
|
|
26870
|
+
headers: {
|
|
26871
|
+
[name: string]: unknown;
|
|
26872
|
+
};
|
|
26873
|
+
content: {
|
|
26874
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26875
|
+
};
|
|
26876
|
+
};
|
|
26877
|
+
/** @description Not found — no such user, or the caller is not an instance admin */
|
|
26878
|
+
404: {
|
|
26879
|
+
headers: {
|
|
26880
|
+
[name: string]: unknown;
|
|
26881
|
+
};
|
|
26882
|
+
content: {
|
|
26883
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26884
|
+
};
|
|
26885
|
+
};
|
|
26886
|
+
/** @description Conflict — the user is a root admin, whose access comes from config.yaml */
|
|
26887
|
+
409: {
|
|
26888
|
+
headers: {
|
|
26889
|
+
[name: string]: unknown;
|
|
26890
|
+
};
|
|
26891
|
+
content: {
|
|
26892
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26893
|
+
};
|
|
26894
|
+
};
|
|
26895
|
+
/** @description Internal server error */
|
|
26896
|
+
500: {
|
|
26897
|
+
headers: {
|
|
26898
|
+
[name: string]: unknown;
|
|
26899
|
+
};
|
|
26900
|
+
content: {
|
|
26901
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26902
|
+
};
|
|
26903
|
+
};
|
|
26904
|
+
};
|
|
26905
|
+
};
|
|
26906
|
+
revokeAdminInstanceAdmin: {
|
|
26907
|
+
parameters: {
|
|
26908
|
+
query?: never;
|
|
26909
|
+
header?: never;
|
|
26910
|
+
path: {
|
|
26911
|
+
/** @description The granted admin's user id (UUID) */
|
|
26912
|
+
user_id: string;
|
|
26913
|
+
};
|
|
26914
|
+
cookie?: never;
|
|
26915
|
+
};
|
|
26916
|
+
requestBody?: never;
|
|
26917
|
+
responses: {
|
|
26918
|
+
/** @description The grant was revoked */
|
|
26919
|
+
204: {
|
|
26920
|
+
headers: {
|
|
26921
|
+
[name: string]: unknown;
|
|
26922
|
+
};
|
|
26923
|
+
content?: never;
|
|
26924
|
+
};
|
|
26925
|
+
/** @description Bad request — malformed user id */
|
|
26926
|
+
400: {
|
|
26927
|
+
headers: {
|
|
26928
|
+
[name: string]: unknown;
|
|
26929
|
+
};
|
|
26930
|
+
content: {
|
|
26931
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26932
|
+
};
|
|
26933
|
+
};
|
|
26934
|
+
/** @description Forbidden — the caller is an instance admin but not a root admin */
|
|
26935
|
+
403: {
|
|
26936
|
+
headers: {
|
|
26937
|
+
[name: string]: unknown;
|
|
26938
|
+
};
|
|
26939
|
+
content: {
|
|
26940
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26941
|
+
};
|
|
26942
|
+
};
|
|
26943
|
+
/** @description Not found — the user holds no grant, or the caller is not an instance admin */
|
|
26944
|
+
404: {
|
|
26945
|
+
headers: {
|
|
26946
|
+
[name: string]: unknown;
|
|
26947
|
+
};
|
|
26948
|
+
content: {
|
|
26949
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26950
|
+
};
|
|
26951
|
+
};
|
|
26952
|
+
/** @description Conflict — the user is a root admin, whose access comes from config.yaml */
|
|
26953
|
+
409: {
|
|
26954
|
+
headers: {
|
|
26955
|
+
[name: string]: unknown;
|
|
26956
|
+
};
|
|
26957
|
+
content: {
|
|
26958
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26959
|
+
};
|
|
26960
|
+
};
|
|
26961
|
+
/** @description Internal server error */
|
|
26962
|
+
500: {
|
|
26963
|
+
headers: {
|
|
26964
|
+
[name: string]: unknown;
|
|
26965
|
+
};
|
|
26966
|
+
content: {
|
|
26967
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
26968
|
+
};
|
|
26969
|
+
};
|
|
26970
|
+
};
|
|
26971
|
+
};
|
|
26972
|
+
listAdminAuthSettingsAudit: {
|
|
26973
|
+
parameters: {
|
|
26974
|
+
query: {
|
|
26975
|
+
/** @description Which authentication setting's audit log to read. */
|
|
26976
|
+
setting: components["schemas"]["AdminAuthSettingsAuditSetting"];
|
|
26977
|
+
/** @description Opaque cursor from a previous page's `next_cursor`. */
|
|
26978
|
+
cursor?: string;
|
|
26979
|
+
/** @description Page size. */
|
|
26980
|
+
limit?: number;
|
|
26981
|
+
};
|
|
26982
|
+
header?: never;
|
|
26983
|
+
path?: never;
|
|
26984
|
+
cookie?: never;
|
|
26985
|
+
};
|
|
26986
|
+
requestBody?: never;
|
|
26987
|
+
responses: {
|
|
26988
|
+
/** @description One page of audit entries, newest first */
|
|
26989
|
+
200: {
|
|
26990
|
+
headers: {
|
|
26991
|
+
[name: string]: unknown;
|
|
26992
|
+
};
|
|
26993
|
+
content: {
|
|
26994
|
+
"application/json": components["schemas"]["AdminInstanceSettingsAuditPage"];
|
|
26995
|
+
};
|
|
26996
|
+
};
|
|
26997
|
+
/** @description Bad request — missing or unknown `setting`, malformed cursor, or `limit` out of range */
|
|
26998
|
+
400: {
|
|
26999
|
+
headers: {
|
|
27000
|
+
[name: string]: unknown;
|
|
27001
|
+
};
|
|
27002
|
+
content: {
|
|
27003
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
27004
|
+
};
|
|
27005
|
+
};
|
|
27006
|
+
/** @description Not found — the caller is not an instance admin */
|
|
27007
|
+
404: {
|
|
27008
|
+
headers: {
|
|
27009
|
+
[name: string]: unknown;
|
|
27010
|
+
};
|
|
27011
|
+
content: {
|
|
27012
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
27013
|
+
};
|
|
27014
|
+
};
|
|
27015
|
+
/** @description Internal server error */
|
|
27016
|
+
500: {
|
|
27017
|
+
headers: {
|
|
27018
|
+
[name: string]: unknown;
|
|
27019
|
+
};
|
|
27020
|
+
content: {
|
|
27021
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
27022
|
+
};
|
|
27023
|
+
};
|
|
27024
|
+
};
|
|
27025
|
+
};
|
|
25483
27026
|
listComments: {
|
|
25484
27027
|
parameters: {
|
|
25485
27028
|
query: {
|