@reclaimprotocol/client 0.1.29 → 0.1.32
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 +255 -234
- package/lib/api.d.ts +2 -0
- package/lib/api.js +2 -0
- package/lib/client.js +2 -0
- package/lib/enckeys.d.ts +1 -1
- package/lib/enckeys.js +2 -2
- package/lib/encoding.d.ts +4 -0
- package/lib/encoding.js +10 -0
- package/lib/feature-flags.d.ts +9 -0
- package/lib/feature-flags.js +19 -0
- package/lib/index.d.ts +4 -4
- package/lib/index.js +4 -4
- package/lib/jwks.d.ts +8 -8
- package/lib/jwks.js +38 -17
- package/lib/launch/destination.d.ts +14 -0
- package/lib/launch/destination.js +89 -0
- package/lib/launch/device.d.ts +30 -0
- package/lib/launch/device.js +168 -0
- package/lib/launch/environment.d.ts +224 -0
- package/lib/launch/environment.js +98 -0
- package/lib/launch/errors.d.ts +20 -0
- package/lib/launch/errors.js +25 -0
- package/lib/launch/extension.d.ts +42 -0
- package/lib/launch/extension.js +72 -0
- package/lib/launch/flow.d.ts +82 -0
- package/lib/launch/flow.js +222 -0
- package/lib/launch/index.d.ts +16 -0
- package/lib/launch/index.js +12 -0
- package/lib/launch/mobile.d.ts +77 -0
- package/lib/launch/mobile.js +124 -0
- package/lib/launch/modal.d.ts +50 -0
- package/lib/launch/modal.js +258 -0
- package/lib/launch/options.d.ts +74 -0
- package/lib/launch/options.js +20 -0
- package/lib/launch/portal.d.ts +28 -0
- package/lib/launch/portal.js +68 -0
- package/lib/launch/qr.d.ts +5 -0
- package/lib/launch/qr.js +28 -0
- package/lib/launch/target.d.ts +46 -0
- package/lib/launch/target.js +128 -0
- package/lib/launch/vendor/qrcodegen.d.ts +134 -0
- package/lib/launch/vendor/qrcodegen.js +822 -0
- package/lib/legacy-proof.d.ts +2 -0
- package/lib/legacy-proof.js +37 -7
- package/lib/proof-hash.d.ts +5 -5
- package/lib/proof-hash.js +1 -1
- package/lib/proof-recipe.d.ts +3 -3
- package/lib/proof-recipe.js +1 -1
- package/lib/proof-types.d.ts +35 -8
- package/lib/reclaim.d.ts +81 -70
- package/lib/reclaim.js +79 -130
- package/lib/request-proof.d.ts +60 -0
- package/lib/request-proof.js +241 -0
- package/lib/result.d.ts +46 -38
- package/lib/result.js +160 -100
- package/lib/routes.gen.d.ts +76 -28
- package/lib/routes.gen.js +24 -11
- package/lib/tee-binding.d.ts +1 -1
- package/lib/types/openapi.d.ts +1 -0
- package/lib/types/openapi.gen.d.ts +1598 -485
- package/lib/types/openapi.gen.js +5 -0
- package/lib/verification-clients.d.ts +28 -14
- package/lib/verification-clients.js +31 -11
- package/lib/verify-attestor-tee.d.ts +19 -2
- package/lib/verify-attestor-tee.js +40 -4
- package/lib/verify-tee.d.ts +10 -1
- package/lib/verify-tee.js +34 -10
- package/package.json +5 -1
- package/src/api.ts +9 -0
- package/src/client.ts +2 -0
- package/src/enckeys.ts +2 -2
- package/src/encoding.ts +12 -0
- package/src/feature-flags.ts +39 -0
- package/src/index.ts +13 -14
- package/src/jwks.ts +52 -30
- package/src/launch/destination.ts +111 -0
- package/src/launch/device.ts +242 -0
- package/src/launch/environment.ts +337 -0
- package/src/launch/errors.ts +49 -0
- package/src/launch/extension.ts +124 -0
- package/src/launch/flow.ts +369 -0
- package/src/launch/index.ts +42 -0
- package/src/launch/mobile.ts +184 -0
- package/src/launch/modal.ts +378 -0
- package/src/launch/options.ts +99 -0
- package/src/launch/portal.ts +104 -0
- package/src/launch/qr.ts +37 -0
- package/src/launch/target.ts +150 -0
- package/src/launch/vendor/qrcodegen.ts +1034 -0
- package/src/proof-hash.ts +6 -6
- package/src/proof-recipe.ts +3 -3
- package/src/proof-types.ts +36 -8
- package/src/reclaim.ts +185 -218
- package/src/{legacy-proof.ts → request-proof.ts} +81 -36
- package/src/result.ts +238 -172
- package/src/routes.gen.ts +24 -11
- package/src/tee-binding.ts +1 -1
- package/src/types/openapi.gen.ts +1603 -485
- package/src/types/openapi.ts +3 -1
- package/src/verification-clients.ts +33 -19
- package/src/verify-attestor-tee.ts +66 -8
- package/src/verify-tee.ts +44 -13
- package/lib/api-client.d.ts +0 -31
- package/lib/api-client.js +0 -112
- package/lib/api-consts.d.ts +0 -4
- package/lib/api-consts.js +0 -4
- package/lib/api-errors.d.ts +0 -13
- package/lib/api-errors.js +0 -30
- package/lib/eip712.d.ts +0 -20
- package/lib/eip712.js +0 -108
package/src/types/openapi.gen.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
// AUTO-GENERATED by packages/app/scripts/openapi-typegen.ts
|
|
2
|
+
// from packages/app/openapi.yaml (spec v0.1.0, source sha256:099a5bcf4fba).
|
|
3
|
+
// The hash catches drift the version misses (a spec can change without a
|
|
4
|
+
// version bump) — do not remove it as "redundant" with the version.
|
|
5
|
+
// Run `npm run openapi:gen --workspace=packages/app` to regenerate. Do not edit by hand.
|
|
1
6
|
/**
|
|
2
7
|
* This file was auto-generated by openapi-typescript.
|
|
3
8
|
* Do not make direct changes to the file.
|
|
@@ -262,27 +267,27 @@ export interface paths {
|
|
|
262
267
|
patch?: never;
|
|
263
268
|
trace?: never;
|
|
264
269
|
};
|
|
265
|
-
"/
|
|
270
|
+
"/discover/teach": {
|
|
266
271
|
parameters: {
|
|
267
272
|
query?: never;
|
|
268
273
|
header?: never;
|
|
269
274
|
path?: never;
|
|
270
275
|
cookie?: never;
|
|
271
276
|
};
|
|
272
|
-
get?: never;
|
|
273
|
-
put?: never;
|
|
274
277
|
/**
|
|
275
|
-
*
|
|
276
|
-
* @description
|
|
278
|
+
* “Teach our agent” instructions for a missing website / data point
|
|
279
|
+
* @description Returns the "Teach our agent" panel shown when a website or data point a user wants does not exist yet: steps to install the Reclaim MCP server plus a ready-to-copy prompt, templated with the requested `domain` and (optionally) `dataPoint`, that instructs an agent to author the missing provider. HTML / HTMX only (a dialog fragment).
|
|
277
280
|
*/
|
|
278
|
-
|
|
281
|
+
get: operations["DiscoverTeachAgent"];
|
|
282
|
+
put?: never;
|
|
283
|
+
post?: never;
|
|
279
284
|
delete?: never;
|
|
280
285
|
options?: never;
|
|
281
286
|
head?: never;
|
|
282
287
|
patch?: never;
|
|
283
288
|
trace?: never;
|
|
284
289
|
};
|
|
285
|
-
"/
|
|
290
|
+
"/discover/agent-wizard": {
|
|
286
291
|
parameters: {
|
|
287
292
|
query?: never;
|
|
288
293
|
header?: never;
|
|
@@ -292,30 +297,10 @@ export interface paths {
|
|
|
292
297
|
get?: never;
|
|
293
298
|
put?: never;
|
|
294
299
|
/**
|
|
295
|
-
*
|
|
296
|
-
* @description
|
|
297
|
-
*/
|
|
298
|
-
post: operations["SiteTryAi"];
|
|
299
|
-
delete?: never;
|
|
300
|
-
options?: never;
|
|
301
|
-
head?: never;
|
|
302
|
-
patch?: never;
|
|
303
|
-
trace?: never;
|
|
304
|
-
};
|
|
305
|
-
"/discover/teach": {
|
|
306
|
-
parameters: {
|
|
307
|
-
query?: never;
|
|
308
|
-
header?: never;
|
|
309
|
-
path?: never;
|
|
310
|
-
cookie?: never;
|
|
311
|
-
};
|
|
312
|
-
/**
|
|
313
|
-
* “Teach our agent” instructions for a missing website / data point
|
|
314
|
-
* @description Returns the "Teach our agent" panel shown when a website or data point a user wants does not exist yet: steps to install the Reclaim MCP server plus a ready-to-copy prompt, templated with the requested `domain` and (optionally) `dataPoint`, that instructs an agent to author the missing provider. HTML / HTMX only (a dialog fragment).
|
|
300
|
+
* Setup and prompt for the coding agent picked in the wizard
|
|
301
|
+
* @description Returns the last step of the "Build with an AI coding agent" wizard for the picked `agent`: how to attach the Reclaim MCP server, and the `basePrompt` with the optional `building` description appended. HTML / HTMX only (a fragment swapped into the open wizard).
|
|
315
302
|
*/
|
|
316
|
-
|
|
317
|
-
put?: never;
|
|
318
|
-
post?: never;
|
|
303
|
+
post: operations["DiscoverAgentWizard"];
|
|
319
304
|
delete?: never;
|
|
320
305
|
options?: never;
|
|
321
306
|
head?: never;
|
|
@@ -353,7 +338,7 @@ export interface paths {
|
|
|
353
338
|
};
|
|
354
339
|
/**
|
|
355
340
|
* List the verifiable data points on a website
|
|
356
|
-
* @description The data points existing providers can prove on a website — the menu to pick from before
|
|
341
|
+
* @description The data points existing providers can prove on a website — the menu to pick from before discover_resolve. Optionally filter by `q`.
|
|
357
342
|
*/
|
|
358
343
|
get: operations["DiscoverDataPoints"];
|
|
359
344
|
put?: never;
|
|
@@ -510,7 +495,7 @@ export interface paths {
|
|
|
510
495
|
};
|
|
511
496
|
/**
|
|
512
497
|
* Pending review queue (admin-only)
|
|
513
|
-
* @description Admin only. Lists all provider versions currently awaiting review (branch = 'in_review'). Use
|
|
498
|
+
* @description Admin only. Lists all provider versions currently awaiting review (branch = 'in_review'). Use decide_provider_version_review to approve or reject each version.
|
|
514
499
|
*/
|
|
515
500
|
get: operations["AdminReviews"];
|
|
516
501
|
put?: never;
|
|
@@ -530,7 +515,7 @@ export interface paths {
|
|
|
530
515
|
};
|
|
531
516
|
/**
|
|
532
517
|
* Explore verification sessions (admin-only)
|
|
533
|
-
* @description Admin only. Search verification sessions across all organizations — filter by `sessionId` (prefix match, at least 5 characters), `providerId
|
|
518
|
+
* @description Admin only. Search verification sessions across all organizations — filter by `sessionId` (prefix match, at least 5 characters), `providerId` (id or slug), `claimantClientId`, `orgId` (all exact match), `status`, and a `createdAfter`/`createdBefore` time range. Rows link to the org-scoped session detail page (admins can open any org's pages). Newest first, 50 per page, with opaque cursor pagination.
|
|
534
519
|
*/
|
|
535
520
|
get: operations["AdminSessions"];
|
|
536
521
|
put?: never;
|
|
@@ -541,6 +526,26 @@ export interface paths {
|
|
|
541
526
|
patch?: never;
|
|
542
527
|
trace?: never;
|
|
543
528
|
};
|
|
529
|
+
"/admin/analytics": {
|
|
530
|
+
parameters: {
|
|
531
|
+
query?: never;
|
|
532
|
+
header?: never;
|
|
533
|
+
path?: never;
|
|
534
|
+
cookie?: never;
|
|
535
|
+
};
|
|
536
|
+
/**
|
|
537
|
+
* Usage, session, and revenue analytics (admin-only)
|
|
538
|
+
* @description Admin only. Aggregates across every organization over a date window: session outcomes by UTC day, device category, and claimant country; demand per provider, money in by month, and per-org consumption against the plan allowance (including closed periods, which the org-scoped usage endpoint never returns). Defaults to the last 30 days; narrow to one org with `orgId`.
|
|
539
|
+
*/
|
|
540
|
+
get: operations["AdminAnalytics"];
|
|
541
|
+
put?: never;
|
|
542
|
+
post?: never;
|
|
543
|
+
delete?: never;
|
|
544
|
+
options?: never;
|
|
545
|
+
head?: never;
|
|
546
|
+
patch?: never;
|
|
547
|
+
trace?: never;
|
|
548
|
+
};
|
|
544
549
|
"/admin/callback-dlq": {
|
|
545
550
|
parameters: {
|
|
546
551
|
query?: never;
|
|
@@ -866,7 +871,7 @@ export interface paths {
|
|
|
866
871
|
patch?: never;
|
|
867
872
|
trace?: never;
|
|
868
873
|
};
|
|
869
|
-
"/admin/
|
|
874
|
+
"/admin/feature-flags": {
|
|
870
875
|
parameters: {
|
|
871
876
|
query?: never;
|
|
872
877
|
header?: never;
|
|
@@ -874,23 +879,23 @@ export interface paths {
|
|
|
874
879
|
cookie?: never;
|
|
875
880
|
};
|
|
876
881
|
/**
|
|
877
|
-
*
|
|
878
|
-
* @description
|
|
882
|
+
* Verification Client feature flags (admin-only)
|
|
883
|
+
* @description Lists the current Builder-mode Verification Client flags and their ordered targeting rules. Only Reclaim staff can read or change this control plane. Verification Clients receive only the immutable, resolved snapshot stored on their session.
|
|
879
884
|
*/
|
|
880
|
-
get: operations["
|
|
885
|
+
get: operations["AdminFeatureFlags"];
|
|
881
886
|
put?: never;
|
|
882
887
|
/**
|
|
883
|
-
*
|
|
884
|
-
* @description
|
|
888
|
+
* Create a Verification Client feature flag (admin-only)
|
|
889
|
+
* @description Creates one typed flag and its complete ordered rule set. The change becomes available to newly created sessions immediately and creates an immutable audit revision. Existing session snapshots don't change.
|
|
885
890
|
*/
|
|
886
|
-
post: operations["
|
|
891
|
+
post: operations["CreateFeatureFlag"];
|
|
887
892
|
delete?: never;
|
|
888
893
|
options?: never;
|
|
889
894
|
head?: never;
|
|
890
895
|
patch?: never;
|
|
891
896
|
trace?: never;
|
|
892
897
|
};
|
|
893
|
-
"/admin/
|
|
898
|
+
"/admin/feature-flags/{flagKey}": {
|
|
894
899
|
parameters: {
|
|
895
900
|
query?: never;
|
|
896
901
|
header?: never;
|
|
@@ -898,33 +903,57 @@ export interface paths {
|
|
|
898
903
|
cookie?: never;
|
|
899
904
|
};
|
|
900
905
|
get?: never;
|
|
901
|
-
put?: never;
|
|
902
906
|
/**
|
|
903
|
-
*
|
|
904
|
-
* @description
|
|
907
|
+
* Replace a Verification Client feature flag (admin-only)
|
|
908
|
+
* @description Atomically replaces the definition and complete ordered rule set, increments the flag version, and records an immutable audit revision. Archive a flag to omit it from future session snapshots. Existing snapshots remain unchanged.
|
|
905
909
|
*/
|
|
906
|
-
|
|
910
|
+
put: operations["UpdateFeatureFlag"];
|
|
911
|
+
post?: never;
|
|
907
912
|
delete?: never;
|
|
908
913
|
options?: never;
|
|
909
914
|
head?: never;
|
|
910
915
|
patch?: never;
|
|
911
916
|
trace?: never;
|
|
912
917
|
};
|
|
913
|
-
"/admin/
|
|
918
|
+
"/admin/feature-flags/{flagKey}/revisions": {
|
|
914
919
|
parameters: {
|
|
915
920
|
query?: never;
|
|
916
921
|
header?: never;
|
|
917
922
|
path?: never;
|
|
918
923
|
cookie?: never;
|
|
919
924
|
};
|
|
920
|
-
|
|
925
|
+
/**
|
|
926
|
+
* Feature flag revision history (admin-only)
|
|
927
|
+
* @description Returns immutable snapshots newest first. The history is retained even after a flag is archived and is never served to Verification Clients.
|
|
928
|
+
*/
|
|
929
|
+
get: operations["ListFeatureFlagRevisions"];
|
|
921
930
|
put?: never;
|
|
922
931
|
post?: never;
|
|
932
|
+
delete?: never;
|
|
933
|
+
options?: never;
|
|
934
|
+
head?: never;
|
|
935
|
+
patch?: never;
|
|
936
|
+
trace?: never;
|
|
937
|
+
};
|
|
938
|
+
"/admin/verification-clients": {
|
|
939
|
+
parameters: {
|
|
940
|
+
query?: never;
|
|
941
|
+
header?: never;
|
|
942
|
+
path?: never;
|
|
943
|
+
cookie?: never;
|
|
944
|
+
};
|
|
945
|
+
/**
|
|
946
|
+
* Registered verification clients (admin-only)
|
|
947
|
+
* @description Admin only. The registry of claimant-facing Verification Clients allowed to drive verification sessions. Builder identifies a client by its registered launch URL and assigns its quota pool.
|
|
948
|
+
*/
|
|
949
|
+
get: operations["AdminVerificationClients"];
|
|
950
|
+
put?: never;
|
|
923
951
|
/**
|
|
924
|
-
*
|
|
925
|
-
* @description
|
|
952
|
+
* Register a verification client (admin-only)
|
|
953
|
+
* @description Admin only. Registers a Verification Client. The returned client UUID is the Builder-mode identity sent as `x-reclaim-vc-id` and is bound to sessions selected by this client's URL. Builder signs every result; Verification Clients don't have credentials or signing keys.
|
|
926
954
|
*/
|
|
927
|
-
|
|
955
|
+
post: operations["CreateVerificationClient"];
|
|
956
|
+
delete?: never;
|
|
928
957
|
options?: never;
|
|
929
958
|
head?: never;
|
|
930
959
|
patch?: never;
|
|
@@ -940,7 +969,7 @@ export interface paths {
|
|
|
940
969
|
get?: never;
|
|
941
970
|
/**
|
|
942
971
|
* Update a verification client (admin-only)
|
|
943
|
-
* @description Admin only. Updates the client's quota pool
|
|
972
|
+
* @description Admin only. Updates the client's quota pool or claimant-facing base URL. Omitted fields keep their current values.
|
|
944
973
|
*/
|
|
945
974
|
put: operations["UpdateVerificationClient"];
|
|
946
975
|
post?: never;
|
|
@@ -950,27 +979,27 @@ export interface paths {
|
|
|
950
979
|
patch?: never;
|
|
951
980
|
trace?: never;
|
|
952
981
|
};
|
|
953
|
-
"/admin/
|
|
982
|
+
"/admin/site-banners": {
|
|
954
983
|
parameters: {
|
|
955
984
|
query?: never;
|
|
956
985
|
header?: never;
|
|
957
986
|
path?: never;
|
|
958
987
|
cookie?: never;
|
|
959
988
|
};
|
|
960
|
-
get?: never;
|
|
961
|
-
put?: never;
|
|
962
989
|
/**
|
|
963
|
-
*
|
|
964
|
-
* @description Admin only.
|
|
990
|
+
* Site-wide top banners editor (admin-only)
|
|
991
|
+
* @description Admin only. The announcement bar and scrolling ticker shown above/below the dashboard header on every non-claimant-facing page — never on a verification or share page. Returns the raw admin-authored HTML source (not the rendered subset): this is the editor's own read, and must round-trip the exact stored source, or every save would re-encode and progressively corrupt the content. There is no public equivalent of this endpoint — Builder renders these banners server-side when composing the dashboard layout.
|
|
965
992
|
*/
|
|
966
|
-
|
|
993
|
+
get: operations["AdminSiteBanners"];
|
|
994
|
+
put?: never;
|
|
995
|
+
post?: never;
|
|
967
996
|
delete?: never;
|
|
968
997
|
options?: never;
|
|
969
998
|
head?: never;
|
|
970
999
|
patch?: never;
|
|
971
1000
|
trace?: never;
|
|
972
1001
|
};
|
|
973
|
-
"/admin/
|
|
1002
|
+
"/admin/announcement-bar": {
|
|
974
1003
|
parameters: {
|
|
975
1004
|
query?: never;
|
|
976
1005
|
header?: never;
|
|
@@ -978,13 +1007,33 @@ export interface paths {
|
|
|
978
1007
|
cookie?: never;
|
|
979
1008
|
};
|
|
980
1009
|
get?: never;
|
|
981
|
-
|
|
1010
|
+
/**
|
|
1011
|
+
* Save the announcement bar (admin-only)
|
|
1012
|
+
* @description Full replacement of the singleton announcement bar row. Disabled by default; saving does not itself enable it — `enabled` is just another field in the replacement. `linkUrl`, when set, must be an `https:` URL: the whole bar becomes a clickable link.
|
|
1013
|
+
*/
|
|
1014
|
+
put: operations["UpdateAnnouncementBar"];
|
|
982
1015
|
post?: never;
|
|
1016
|
+
delete?: never;
|
|
1017
|
+
options?: never;
|
|
1018
|
+
head?: never;
|
|
1019
|
+
patch?: never;
|
|
1020
|
+
trace?: never;
|
|
1021
|
+
};
|
|
1022
|
+
"/admin/scrolling-banner": {
|
|
1023
|
+
parameters: {
|
|
1024
|
+
query?: never;
|
|
1025
|
+
header?: never;
|
|
1026
|
+
path?: never;
|
|
1027
|
+
cookie?: never;
|
|
1028
|
+
};
|
|
1029
|
+
get?: never;
|
|
983
1030
|
/**
|
|
984
|
-
*
|
|
985
|
-
* @description
|
|
1031
|
+
* Save the scrolling ticker (admin-only)
|
|
1032
|
+
* @description Full replacement of the singleton scrolling-ticker row. An enabled ticker with zero `items` renders nothing on the dashboard — it does not show an empty coloured strip.
|
|
986
1033
|
*/
|
|
987
|
-
|
|
1034
|
+
put: operations["UpdateScrollingBanner"];
|
|
1035
|
+
post?: never;
|
|
1036
|
+
delete?: never;
|
|
988
1037
|
options?: never;
|
|
989
1038
|
head?: never;
|
|
990
1039
|
patch?: never;
|
|
@@ -1001,7 +1050,7 @@ export interface paths {
|
|
|
1001
1050
|
put?: never;
|
|
1002
1051
|
/**
|
|
1003
1052
|
* Transfer a provider to a different workspace
|
|
1004
|
-
* @description Admin-only. Moves
|
|
1053
|
+
* @description Admin-only. Moves a provider to a different organization, preserving its slug, versions, and members. Fails if the target organization does not exist.
|
|
1005
1054
|
*/
|
|
1006
1055
|
post: operations["TransferProvider"];
|
|
1007
1056
|
delete?: never;
|
|
@@ -1047,6 +1096,57 @@ export interface paths {
|
|
|
1047
1096
|
patch?: never;
|
|
1048
1097
|
trace?: never;
|
|
1049
1098
|
};
|
|
1099
|
+
"/share/{client}": {
|
|
1100
|
+
parameters: {
|
|
1101
|
+
query?: never;
|
|
1102
|
+
header?: never;
|
|
1103
|
+
path?: never;
|
|
1104
|
+
cookie?: never;
|
|
1105
|
+
};
|
|
1106
|
+
/**
|
|
1107
|
+
* Uniform claimant-facing share route for a Verification Client
|
|
1108
|
+
* @description One `{origin}/share/{client}` shape for all six built-in Verification Clients' registered `uri` (see `register_verification_client` / `builtin-clients.ts`'s `clientUrl()`) — an admin table with one consistent scheme instead of a mix of real pages and bare attribution labels. What each branch actually does differs, because the six clients are not alike:
|
|
1109
|
+
* - `builder` — `302`s to `/v/{sessionId}` (preserving `api`/`diag`).
|
|
1110
|
+
* Builder's own remote-browser page is unchanged; this is one extra
|
|
1111
|
+
* redirect hop in front of it, accepted for registry uniformity.
|
|
1112
|
+
* - `verifier-app` — the QR / App Clip / deep-link / store-fallback
|
|
1113
|
+
* launcher page (what `GET /s` served before this route existed).
|
|
1114
|
+
* The session id lives in the QUERY, not the path:
|
|
1115
|
+
* `ReclaimVerificationLink.fromUri` (reclaim-inapp-sdk
|
|
1116
|
+
* `lib/src/data/verification_mode.dart`) requires a `sessionId` query
|
|
1117
|
+
* parameter and the app reads this URL off the clipboard after a
|
|
1118
|
+
* deferred install, so a path-form id would pass its first gate and
|
|
1119
|
+
* throw at the second. Renders instantly with no DB round trip — its
|
|
1120
|
+
* client script imports `@reclaimprotocol/client/launch` and runs the
|
|
1121
|
+
* same device-detection + App Clip / deep-link / QR launcher any
|
|
1122
|
+
* consumer's own page would.
|
|
1123
|
+
* - `portals` — `302`s to the portal (`?api=2&sessionId=…` appended),
|
|
1124
|
+
* the same computation a consumer's own page would run through the
|
|
1125
|
+
* launcher, done server-side instead.
|
|
1126
|
+
* - `reclaim-browser-extension` — a handoff page: probes for the
|
|
1127
|
+
* extension via `postMessage` and starts the verification in it.
|
|
1128
|
+
* Terminal state is generic ("submitted, close this tab") — this page
|
|
1129
|
+
* cannot poll for the real outcome, which still only arrives at the
|
|
1130
|
+
* consumer's callback.
|
|
1131
|
+
* - `inapp-sdk` — a static informational page. This URL is never
|
|
1132
|
+
* fetched by a real integration (the add-to-app module and in-app SDK
|
|
1133
|
+
* read `api`/`sessionId`/`diag` off the query string as an opaque
|
|
1134
|
+
* carrier, never the path/host), so this exists only so a stray GET
|
|
1135
|
+
* doesn't 404.
|
|
1136
|
+
* - `zkfetch` — a static informational page. zkFetch has no claimant
|
|
1137
|
+
* step; nothing ever redirects a browser here by design.
|
|
1138
|
+
*
|
|
1139
|
+
* Sets `Referrer-Policy: no-referrer`, so a `sessionId` never rides along in a `Referer` header to wherever a client eventually redirects.
|
|
1140
|
+
*/
|
|
1141
|
+
get: operations["SharePage"];
|
|
1142
|
+
put?: never;
|
|
1143
|
+
post?: never;
|
|
1144
|
+
delete?: never;
|
|
1145
|
+
options?: never;
|
|
1146
|
+
head?: never;
|
|
1147
|
+
patch?: never;
|
|
1148
|
+
trace?: never;
|
|
1149
|
+
};
|
|
1050
1150
|
"/v/{sessionId}": {
|
|
1051
1151
|
parameters: {
|
|
1052
1152
|
query?: never;
|
|
@@ -1200,7 +1300,7 @@ export interface paths {
|
|
|
1200
1300
|
};
|
|
1201
1301
|
/**
|
|
1202
1302
|
* JWKS for verifying signed verification results
|
|
1203
|
-
* @description JSON Web Key Set (RFC 7517) exposing the public keys that sign verification result JWS payloads (ES256K / secp256k1). Consumers fetch this to verify a delivered result. `kid` is the signer's ETH address. Result keys carry a namespaced purpose
|
|
1303
|
+
* @description JSON Web Key Set (RFC 7517) exposing the public keys that sign verification result JWS payloads (ES256K / secp256k1). Consumers fetch this to verify a delivered result. `kid` is the signer's ETH address. Result keys carry a namespaced Builder-managed purpose. The top-level `x-reclaim-attestors` extension lists trusted EIP-191 attestor signer addresses; an address is a public-key hash, not a JWK. The top-level `x-reclaim-attestor-image-digests` extension lists the trusted Confidential Space attestor container images. The Reclaim extensions are application-specific JWK Set members allowed by RFC 7517 section 5; generic JWKS consumers ignore members they don't know. Publishes Builder's managed result-signing key (`BUILDER_SIGNING_PRIVATE_KEY`). Claimant-facing Verification Clients never hold result-signing keys.
|
|
1204
1304
|
*/
|
|
1205
1305
|
get: operations["JwksJson"];
|
|
1206
1306
|
put?: never;
|
|
@@ -1211,6 +1311,46 @@ export interface paths {
|
|
|
1211
1311
|
patch?: never;
|
|
1212
1312
|
trace?: never;
|
|
1213
1313
|
};
|
|
1314
|
+
"/.well-known/apple-app-site-association": {
|
|
1315
|
+
parameters: {
|
|
1316
|
+
query?: never;
|
|
1317
|
+
header?: never;
|
|
1318
|
+
path?: never;
|
|
1319
|
+
cookie?: never;
|
|
1320
|
+
};
|
|
1321
|
+
/**
|
|
1322
|
+
* Apple App Site Association for universal links
|
|
1323
|
+
* @description Apple's file (deliberately no `.json` extension — Apple's CDN requires exactly this path) letting the Reclaim Verifier app and its App Clip claim `/s` universal links under this origin. Apple's CDN fetches it directly over HTTPS, unauthenticated, and never follows a redirect. The app ids are configurable (`APPLE_APP_ID`, `APPLE_APP_CLIP_ID`) so a sandbox Builder on another origin can publish its own, or none. Only a domain the shipped app actually lists in its entitlements (`applinks:` / `appclips:`) can ever claim a link this way, whatever this document says.
|
|
1324
|
+
*/
|
|
1325
|
+
get: operations["AppleAppSiteAssociation"];
|
|
1326
|
+
put?: never;
|
|
1327
|
+
post?: never;
|
|
1328
|
+
delete?: never;
|
|
1329
|
+
options?: never;
|
|
1330
|
+
head?: never;
|
|
1331
|
+
patch?: never;
|
|
1332
|
+
trace?: never;
|
|
1333
|
+
};
|
|
1334
|
+
"/.well-known/assetlinks.json": {
|
|
1335
|
+
parameters: {
|
|
1336
|
+
query?: never;
|
|
1337
|
+
header?: never;
|
|
1338
|
+
path?: never;
|
|
1339
|
+
cookie?: never;
|
|
1340
|
+
};
|
|
1341
|
+
/**
|
|
1342
|
+
* Android Digital Asset Links for app links
|
|
1343
|
+
* @description Digital Asset Links file Android's Package Manager fetches over HTTPS to verify the Reclaim Verifier app's `autoVerify` intent filter for this host (path `/s`). The package name and signing-certificate fingerprints are configurable (`ANDROID_PACKAGE_NAME`, `ANDROID_SIGNING_CERT_FINGERPRINTS`) so a sandbox Builder on another origin can publish its own, or none. Only a domain the shipped app's manifest actually declares can ever claim a link this way, whatever this document says.
|
|
1344
|
+
*/
|
|
1345
|
+
get: operations["AssetLinksJson"];
|
|
1346
|
+
put?: never;
|
|
1347
|
+
post?: never;
|
|
1348
|
+
delete?: never;
|
|
1349
|
+
options?: never;
|
|
1350
|
+
head?: never;
|
|
1351
|
+
patch?: never;
|
|
1352
|
+
trace?: never;
|
|
1353
|
+
};
|
|
1214
1354
|
"/openapi.yaml": {
|
|
1215
1355
|
parameters: {
|
|
1216
1356
|
query?: never;
|
|
@@ -2043,7 +2183,7 @@ export interface paths {
|
|
|
2043
2183
|
put?: never;
|
|
2044
2184
|
/**
|
|
2045
2185
|
* Create a provider contribution campaign
|
|
2046
|
-
* @description Create a draft public-contribution campaign. A campaign stays private until its requirements are versioned and a maintainer opens it.
|
|
2186
|
+
* @description Create a draft public-contribution campaign. A campaign stays private until its requirements are versioned and a maintainer opens it. A provider has at most one campaign; creating a second returns 409.
|
|
2047
2187
|
*/
|
|
2048
2188
|
post: operations["CreateProviderContributionCampaign"];
|
|
2049
2189
|
delete?: never;
|
|
@@ -2107,7 +2247,7 @@ export interface paths {
|
|
|
2107
2247
|
put?: never;
|
|
2108
2248
|
/**
|
|
2109
2249
|
* Add a contribution review comment
|
|
2110
|
-
* @description Add an append-only
|
|
2250
|
+
* @description Add an append-only comment to the review history. Comments default to `PUBLIC` visibility and cannot contain links, email addresses, long numbers, identifiers, tokens, or credentials.
|
|
2111
2251
|
*/
|
|
2112
2252
|
post: operations["AddProviderContributionComment"];
|
|
2113
2253
|
delete?: never;
|
|
@@ -2474,6 +2614,26 @@ export interface paths {
|
|
|
2474
2614
|
patch?: never;
|
|
2475
2615
|
trace?: never;
|
|
2476
2616
|
};
|
|
2617
|
+
"/orgs/{orgId}/providers/used": {
|
|
2618
|
+
parameters: {
|
|
2619
|
+
query?: never;
|
|
2620
|
+
header?: never;
|
|
2621
|
+
path?: never;
|
|
2622
|
+
cookie?: never;
|
|
2623
|
+
};
|
|
2624
|
+
/**
|
|
2625
|
+
* List the providers an organization uses
|
|
2626
|
+
* @description Returns the providers with at least one verification session in the organization, ordered by session count then most recent use, one page at a time. Optionally filter by `q`. Caller must be an active member of the org or present its org token. Opaque cursor pagination.
|
|
2627
|
+
*/
|
|
2628
|
+
get: operations["ListOrgUsedProviders"];
|
|
2629
|
+
put?: never;
|
|
2630
|
+
post?: never;
|
|
2631
|
+
delete?: never;
|
|
2632
|
+
options?: never;
|
|
2633
|
+
head?: never;
|
|
2634
|
+
patch?: never;
|
|
2635
|
+
trace?: never;
|
|
2636
|
+
};
|
|
2477
2637
|
"/orgs/{orgId}/sessions": {
|
|
2478
2638
|
parameters: {
|
|
2479
2639
|
query?: never;
|
|
@@ -2483,7 +2643,7 @@ export interface paths {
|
|
|
2483
2643
|
};
|
|
2484
2644
|
/**
|
|
2485
2645
|
* List an organization's verification sessions
|
|
2486
|
-
* @description Returns verification sessions created under the organization, newest first. Optionally filter by `sessionId` (prefix match, at least 5 characters), `providerId
|
|
2646
|
+
* @description Returns verification sessions created under the organization, newest first. Optionally filter by `sessionId` (prefix match, at least 5 characters), `providerId` (id or slug), `status`, `resolvedVersion`, `claimantClientId`, and a `createdAfter`/`createdBefore` time range. Caller must be an active member of the org. Opaque cursor pagination.
|
|
2487
2647
|
*
|
|
2488
2648
|
* Note: `status` filters on the stored column. A session that has passed `expiresAt` but has not yet been swept is reported as `expired` in its body while still stored as `pending`, so `status=expired` may not match such sessions until the sweep runs.
|
|
2489
2649
|
*/
|
|
@@ -2516,6 +2676,26 @@ export interface paths {
|
|
|
2516
2676
|
patch?: never;
|
|
2517
2677
|
trace?: never;
|
|
2518
2678
|
};
|
|
2679
|
+
"/orgs/{orgId}/sessions/{sessionId}/retry-callback": {
|
|
2680
|
+
parameters: {
|
|
2681
|
+
query?: never;
|
|
2682
|
+
header?: never;
|
|
2683
|
+
path?: never;
|
|
2684
|
+
cookie?: never;
|
|
2685
|
+
};
|
|
2686
|
+
get?: never;
|
|
2687
|
+
put?: never;
|
|
2688
|
+
/**
|
|
2689
|
+
* Retry this session's failed callback deliveries
|
|
2690
|
+
* @description Re-enqueues every callback delivery for this session that hasn't succeeded, including ones already dead-lettered. The caller must be an active **OWNER** of the organization that owns the session — re-driving a delivery re-sends consumer data to the subscription's callback URL, so it isn't offered to every member who can read the page. Do this once the callback endpoint answers 2xx again; retrying while it's still failing only walks the delivery back through its retry schedule. Delivery is idempotent — an already-delivered row is skipped, so a repeated retry can't double-send. Returns to the session page so the deliveries list reflects the re-enqueued rows.
|
|
2691
|
+
*/
|
|
2692
|
+
post: operations["RetryOrgSessionCallback"];
|
|
2693
|
+
delete?: never;
|
|
2694
|
+
options?: never;
|
|
2695
|
+
head?: never;
|
|
2696
|
+
patch?: never;
|
|
2697
|
+
trace?: never;
|
|
2698
|
+
};
|
|
2519
2699
|
"/orgs/{orgId}/verification-funnel": {
|
|
2520
2700
|
parameters: {
|
|
2521
2701
|
query?: never;
|
|
@@ -2536,6 +2716,26 @@ export interface paths {
|
|
|
2536
2716
|
patch?: never;
|
|
2537
2717
|
trace?: never;
|
|
2538
2718
|
};
|
|
2719
|
+
"/orgs/{orgId}/verification-analytics": {
|
|
2720
|
+
parameters: {
|
|
2721
|
+
query?: never;
|
|
2722
|
+
header?: never;
|
|
2723
|
+
path?: never;
|
|
2724
|
+
cookie?: never;
|
|
2725
|
+
};
|
|
2726
|
+
/**
|
|
2727
|
+
* Verification outcomes by day, device, and country
|
|
2728
|
+
* @description Organization-scoped creation cohorts in UTC. Outcomes are current at query time. Unknown device and country values have their own buckets.
|
|
2729
|
+
*/
|
|
2730
|
+
get: operations["GetOrgVerificationAnalytics"];
|
|
2731
|
+
put?: never;
|
|
2732
|
+
post?: never;
|
|
2733
|
+
delete?: never;
|
|
2734
|
+
options?: never;
|
|
2735
|
+
head?: never;
|
|
2736
|
+
patch?: never;
|
|
2737
|
+
trace?: never;
|
|
2738
|
+
};
|
|
2539
2739
|
"/verifications/sessions": {
|
|
2540
2740
|
parameters: {
|
|
2541
2741
|
query?: never;
|
|
@@ -2581,9 +2781,9 @@ export interface paths {
|
|
|
2581
2781
|
};
|
|
2582
2782
|
/**
|
|
2583
2783
|
* Get a verification session
|
|
2584
|
-
* @description Returns the session
|
|
2585
|
-
* session-
|
|
2586
|
-
* session
|
|
2784
|
+
* @description Returns the session to its consumer. The `OrgToken` must resolve to the
|
|
2785
|
+
* session's organization. Claimant-facing Verification Clients use the
|
|
2786
|
+
* session-bound `/bootstrap` endpoint instead.
|
|
2587
2787
|
*
|
|
2588
2788
|
* Reading `status`:
|
|
2589
2789
|
* - `pending` — created, not yet finished; the end-user can still
|
|
@@ -2620,7 +2820,7 @@ export interface paths {
|
|
|
2620
2820
|
};
|
|
2621
2821
|
/**
|
|
2622
2822
|
* Get the resolved provider recipes for a session
|
|
2623
|
-
* @description Returns the session's resolved provider versions' recipes (`initialUrl` + `requests` per provider), in run order
|
|
2823
|
+
* @description Returns the session's resolved provider versions' recipes (`initialUrl` + `requests` per provider), in run order. The consumer's `OrgToken` must resolve to the session's organization. Claimant-facing Verification Clients use `/bootstrap`, which returns the session and recipes together.
|
|
2624
2824
|
*/
|
|
2625
2825
|
get: operations["GetVerificationRecipe"];
|
|
2626
2826
|
put?: never;
|
|
@@ -2631,6 +2831,88 @@ export interface paths {
|
|
|
2631
2831
|
patch?: never;
|
|
2632
2832
|
trace?: never;
|
|
2633
2833
|
};
|
|
2834
|
+
"/verifications/sessions/{sessionId}/bootstrap": {
|
|
2835
|
+
parameters: {
|
|
2836
|
+
query?: never;
|
|
2837
|
+
header?: never;
|
|
2838
|
+
path?: never;
|
|
2839
|
+
cookie?: never;
|
|
2840
|
+
};
|
|
2841
|
+
/**
|
|
2842
|
+
* Bootstrap a Builder-mode Verification Client
|
|
2843
|
+
* @description Returns the immutable session snapshot and its resolved provider recipes in one request. This is the entry point for claimant-facing `api=2` clients. It is served directly by Builder; legacy clients keep using the legacy backend. The registered `x-reclaim-vc-id` must match the client selected when the session was created.
|
|
2844
|
+
*/
|
|
2845
|
+
get: operations["BootstrapVerificationClient"];
|
|
2846
|
+
put?: never;
|
|
2847
|
+
post?: never;
|
|
2848
|
+
delete?: never;
|
|
2849
|
+
options?: never;
|
|
2850
|
+
head?: never;
|
|
2851
|
+
patch?: never;
|
|
2852
|
+
trace?: never;
|
|
2853
|
+
};
|
|
2854
|
+
"/verifications/sessions/{sessionId}/runtime-config": {
|
|
2855
|
+
parameters: {
|
|
2856
|
+
query?: never;
|
|
2857
|
+
header?: never;
|
|
2858
|
+
path?: never;
|
|
2859
|
+
cookie?: never;
|
|
2860
|
+
};
|
|
2861
|
+
get?: never;
|
|
2862
|
+
put?: never;
|
|
2863
|
+
/**
|
|
2864
|
+
* Report client inputs and read the session's feature configuration
|
|
2865
|
+
* @description Binds the inputs a Verification Client only learns at runtime — the claimant it is serving, and its own build — and returns this session's feature configuration.
|
|
2866
|
+
* Call it once, after bootstrap, when the claimant is actually in front of the client. Feature flag rules may target a client version or roll out to a percentage of claimants; neither can be evaluated when the session is created, because neither exists yet.
|
|
2867
|
+
* Both inputs are first-write-wins, and the configuration is recomputed only when one of them actually changes. Calling again with the same inputs returns the stored document unchanged, so this is safe to retry and a flag edited in the meantime cannot alter a verification already under way. The registered `x-reclaim-vc-id` must match the client selected when the session was created.
|
|
2868
|
+
*/
|
|
2869
|
+
post: operations["ResolveVerificationRuntimeConfig"];
|
|
2870
|
+
delete?: never;
|
|
2871
|
+
options?: never;
|
|
2872
|
+
head?: never;
|
|
2873
|
+
patch?: never;
|
|
2874
|
+
trace?: never;
|
|
2875
|
+
};
|
|
2876
|
+
"/verifications/sessions/{sessionId}/attestor-auth": {
|
|
2877
|
+
parameters: {
|
|
2878
|
+
query?: never;
|
|
2879
|
+
header?: never;
|
|
2880
|
+
path?: never;
|
|
2881
|
+
cookie?: never;
|
|
2882
|
+
};
|
|
2883
|
+
get?: never;
|
|
2884
|
+
put?: never;
|
|
2885
|
+
/**
|
|
2886
|
+
* Create session-bound attestor authorization
|
|
2887
|
+
* @description Creates the legacy-compatible attestor authorization for this Builder session when `ATTESTOR_AUTH_PRIVATE_KEY` is configured. The request accepts no application secret or provider signature. An empty response means attestor authorization is disabled for this deployment.
|
|
2888
|
+
*/
|
|
2889
|
+
post: operations["CreateVerificationAttestorAuth"];
|
|
2890
|
+
delete?: never;
|
|
2891
|
+
options?: never;
|
|
2892
|
+
head?: never;
|
|
2893
|
+
patch?: never;
|
|
2894
|
+
trace?: never;
|
|
2895
|
+
};
|
|
2896
|
+
"/verifications/sessions/{sessionId}/results": {
|
|
2897
|
+
parameters: {
|
|
2898
|
+
query?: never;
|
|
2899
|
+
header?: never;
|
|
2900
|
+
path?: never;
|
|
2901
|
+
cookie?: never;
|
|
2902
|
+
};
|
|
2903
|
+
get?: never;
|
|
2904
|
+
put?: never;
|
|
2905
|
+
/**
|
|
2906
|
+
* Submit exact proofs as a managed Builder result
|
|
2907
|
+
* @description Accepts exact `Proof` objects from a claimant-facing `api=2` client. Builder atomically records the first terminal outcome, checks it against the submitted status, signs the outer Builder JWS with its managed key, optionally encrypts it for matching callback subscriptions, and enqueues delivery. Retrying the same terminal outcome is idempotent. This is the only result-submission endpoint; Verification Clients never receive signing or encryption keys.
|
|
2908
|
+
*/
|
|
2909
|
+
post: operations["SubmitVerificationClientResult"];
|
|
2910
|
+
delete?: never;
|
|
2911
|
+
options?: never;
|
|
2912
|
+
head?: never;
|
|
2913
|
+
patch?: never;
|
|
2914
|
+
trace?: never;
|
|
2915
|
+
};
|
|
2634
2916
|
"/verifications/sessions/{sessionId}/tee-nonce": {
|
|
2635
2917
|
parameters: {
|
|
2636
2918
|
query?: never;
|
|
@@ -2675,9 +2957,8 @@ export interface paths {
|
|
|
2675
2957
|
};
|
|
2676
2958
|
/**
|
|
2677
2959
|
* Get the event log for a session
|
|
2678
|
-
* @description Returns the append-only event log
|
|
2679
|
-
*
|
|
2680
|
-
* `OrgToken`; the resolved org must match the session).
|
|
2960
|
+
* @description Returns the append-only event log to the session creator. The
|
|
2961
|
+
* consumer's `OrgToken` must resolve to the session's organization.
|
|
2681
2962
|
*
|
|
2682
2963
|
* This log is the primary tool for diagnosing a stuck or failed session.
|
|
2683
2964
|
* A healthy run proceeds through this lifecycle (in order):
|
|
@@ -2685,8 +2966,9 @@ export interface paths {
|
|
|
2685
2966
|
* `session_pending` → `verification_client_opened` →
|
|
2686
2967
|
* `verification_client_ready` → `request_matched` →
|
|
2687
2968
|
* `request_claim_created` → `request_claim_completed` → terminal
|
|
2688
|
-
* (`verification_success` | `verification_rejected` |
|
|
2689
|
-
*
|
|
2969
|
+
* (`verification_success` | `verification_rejected` |
|
|
2970
|
+
* `verification_error` | `verification_cancelled`), or
|
|
2971
|
+
* `session_expired` if `expiresAt` passes first.
|
|
2690
2972
|
*
|
|
2691
2973
|
* Read the gaps to locate where the flow stalled:
|
|
2692
2974
|
* - no `verification_client_opened` → the end-user never opened the link.
|
|
@@ -2731,7 +3013,7 @@ export interface paths {
|
|
|
2731
3013
|
head?: never;
|
|
2732
3014
|
/**
|
|
2733
3015
|
* Update claimant details
|
|
2734
|
-
* @description Updates the session's latest diagnostic claimant and device snapshot. The Builder captures the request's Reclaim client headers, HTTP user agent, and peer IP separately from client-reported values. These details never affect proof validity. The x-reclaim-vc-id must match the registered Verification Client selected at session creation.
|
|
3016
|
+
* @description Updates the session's latest diagnostic claimant and device snapshot. The Builder captures the request's Reclaim client headers, HTTP user agent, and peer IP separately from client-reported values. These details never affect proof validity. The x-reclaim-vc-id must match the registered Verification Client selected at session creation. `claimantDetails.network` (the claimant's IP addresses) is stored only when the session's `diagnostics` field is true — see ClaimantDetails.network.
|
|
2735
3017
|
*/
|
|
2736
3018
|
patch: operations["PatchVerificationClaimant"];
|
|
2737
3019
|
trace?: never;
|
|
@@ -2751,8 +3033,8 @@ export interface paths {
|
|
|
2751
3033
|
* (or the agent) answer "did my callback arrive, and if not, why?"
|
|
2752
3034
|
* without org-dashboard access. Only meaningful after the session
|
|
2753
3035
|
* reaches a terminal status (no deliveries exist before then). Auth
|
|
2754
|
-
*
|
|
2755
|
-
*
|
|
3036
|
+
* requires the consumer's `OrgToken`; the resolved organization must
|
|
3037
|
+
* match the session.
|
|
2756
3038
|
*
|
|
2757
3039
|
* Reading `deliveryStatus` per entry:
|
|
2758
3040
|
* - `delivered` — the callback POST succeeded; nothing to do.
|
|
@@ -2775,7 +3057,7 @@ export interface paths {
|
|
|
2775
3057
|
patch?: never;
|
|
2776
3058
|
trace?: never;
|
|
2777
3059
|
};
|
|
2778
|
-
"/verifications/sessions/{sessionId}/
|
|
3060
|
+
"/verifications/sessions/{sessionId}/result": {
|
|
2779
3061
|
parameters: {
|
|
2780
3062
|
query?: never;
|
|
2781
3063
|
header?: never;
|
|
@@ -2783,10 +3065,10 @@ export interface paths {
|
|
|
2783
3065
|
cookie?: never;
|
|
2784
3066
|
};
|
|
2785
3067
|
/**
|
|
2786
|
-
*
|
|
2787
|
-
* @description
|
|
3068
|
+
* Get the stored encrypted result(s) for a session
|
|
3069
|
+
* @description Returns the stored Builder-signed result payloads for this session — one item per callback subscription. Readable only by the consumer that created the session. The consumer's `OrgToken` must resolve to the session's organization. A pull-based companion to push delivery: when the organization enables encryption, Builder returns an ECIES ciphertext (base64url) that the holder of the matching private key decrypts client-side, else plaintext. Empty `items` until the session reaches a terminal state and a result has been submitted. Treat every returned payload as untrusted until `verifyResultFull` succeeds with the Builder issuer and JWKS URL.
|
|
2788
3070
|
*/
|
|
2789
|
-
get: operations["
|
|
3071
|
+
get: operations["GetVerificationResult"];
|
|
2790
3072
|
put?: never;
|
|
2791
3073
|
post?: never;
|
|
2792
3074
|
delete?: never;
|
|
@@ -2795,31 +3077,7 @@ export interface paths {
|
|
|
2795
3077
|
patch?: never;
|
|
2796
3078
|
trace?: never;
|
|
2797
3079
|
};
|
|
2798
|
-
"/verifications/sessions/{sessionId}/
|
|
2799
|
-
parameters: {
|
|
2800
|
-
query?: never;
|
|
2801
|
-
header?: never;
|
|
2802
|
-
path?: never;
|
|
2803
|
-
cookie?: never;
|
|
2804
|
-
};
|
|
2805
|
-
/**
|
|
2806
|
-
* Get the stored encrypted result(s) for a session
|
|
2807
|
-
* @description Returns the stored result payload(s) the Verification Client stored for this session — one item per callback subscription. Readable by the Verification Client (x-reclaim-vc-id) or the consumer who created the session (authenticated by the consumer's `OrgToken`; the resolved org must match). A pull-based companion to the push delivery: when the org has an encryption credential the Builder relays an ECIES ciphertext (base64url) that the holder of the matching private key decrypts client-side, else plaintext. Empty `items` until the session reaches a terminal state and a result has been submitted. Treat every returned payload as untrusted until `verifyResultFull` succeeds with the session's registered issuer and JWKS URL.
|
|
2808
|
-
*/
|
|
2809
|
-
get: operations["GetVerificationResult"];
|
|
2810
|
-
put?: never;
|
|
2811
|
-
/**
|
|
2812
|
-
* Submit the signed, encrypted verification result
|
|
2813
|
-
* @description Used by the Verification Client (x-reclaim-vc-id) to submit the result after a terminal event. The VC signs the JWS and, when the org's `canEncryptResult` is enabled, ECIES-encrypts it to the org's eth public key (from the callback-keys endpoint); it submits one payload per subscription. The Builder stores each payload, enqueues it for the delivery worker (retry → DLQ), and never sees the plaintext. The Verification Client does not contact the Consumer.
|
|
2814
|
-
*/
|
|
2815
|
-
post: operations["SubmitVerificationResult"];
|
|
2816
|
-
delete?: never;
|
|
2817
|
-
options?: never;
|
|
2818
|
-
head?: never;
|
|
2819
|
-
patch?: never;
|
|
2820
|
-
trace?: never;
|
|
2821
|
-
};
|
|
2822
|
-
"/verifications/sessions/{sessionId}/retry-callback": {
|
|
3080
|
+
"/verifications/sessions/{sessionId}/retry-callback": {
|
|
2823
3081
|
parameters: {
|
|
2824
3082
|
query?: never;
|
|
2825
3083
|
header?: never;
|
|
@@ -2879,6 +3137,52 @@ export interface paths {
|
|
|
2879
3137
|
patch?: never;
|
|
2880
3138
|
trace?: never;
|
|
2881
3139
|
};
|
|
3140
|
+
"/fetch/authorizations": {
|
|
3141
|
+
parameters: {
|
|
3142
|
+
query?: never;
|
|
3143
|
+
header?: never;
|
|
3144
|
+
path?: never;
|
|
3145
|
+
cookie?: never;
|
|
3146
|
+
};
|
|
3147
|
+
get?: never;
|
|
3148
|
+
put?: never;
|
|
3149
|
+
/**
|
|
3150
|
+
* Authorize a zkFetch call
|
|
3151
|
+
* @description Mints a short-lived attestor authorization for a zkFetch caller and
|
|
3152
|
+
* charges the organization's `ZKFETCH` quota pool for it. Authenticated
|
|
3153
|
+
* by the consumer's `OrgToken`. Builder does not perform the fetch —
|
|
3154
|
+
* the caller opens its own attestor connection with the returned
|
|
3155
|
+
* token, fetches, and proves, exactly as `@reclaimprotocol/zk-fetch`
|
|
3156
|
+
* does today; Builder never sees the request beyond `host`.
|
|
3157
|
+
*
|
|
3158
|
+
* curl -X POST $BASE/fetch/authorizations \
|
|
3159
|
+
* -H "Authorization: Bearer $ORG_TOKEN" \
|
|
3160
|
+
* -H 'Content-Type: application/json' \
|
|
3161
|
+
* -d '{"host":"api.github.com"}'
|
|
3162
|
+
*
|
|
3163
|
+
* The quota deduction runs BEFORE anything is minted, so an org that
|
|
3164
|
+
* has exhausted its `ZKFETCH` pool is refused (`402`/`429`) and never
|
|
3165
|
+
* receives a usable token.
|
|
3166
|
+
*
|
|
3167
|
+
* `host` is recorded for observability only — the minted token is
|
|
3168
|
+
* **not** restricted to it and today authorizes a proof against any
|
|
3169
|
+
* host, exactly like every other Builder-issued attestor token. Host
|
|
3170
|
+
* enforcement, if it ships, will be a server-side change rather than a
|
|
3171
|
+
* breaking one.
|
|
3172
|
+
*
|
|
3173
|
+
* `expiresAt` is always about ten seconds after issuance. The attestor
|
|
3174
|
+
* checks expiry only once, at the auth handshake — never again for the
|
|
3175
|
+
* life of the connection — so this window only has to cover Builder
|
|
3176
|
+
* issuing the token and the caller opening its attestor connection; the
|
|
3177
|
+
* fetch and proof that follow are unaffected however long they take.
|
|
3178
|
+
*/
|
|
3179
|
+
post: operations["CreateFetchAuthorization"];
|
|
3180
|
+
delete?: never;
|
|
3181
|
+
options?: never;
|
|
3182
|
+
head?: never;
|
|
3183
|
+
patch?: never;
|
|
3184
|
+
trace?: never;
|
|
3185
|
+
};
|
|
2882
3186
|
}
|
|
2883
3187
|
export interface webhooks {
|
|
2884
3188
|
verificationResult: {
|
|
@@ -2966,6 +3270,10 @@ export interface components {
|
|
|
2966
3270
|
ProviderID: string;
|
|
2967
3271
|
/** Format: uuid */
|
|
2968
3272
|
OrgID: string;
|
|
3273
|
+
/** @description A verification client id used as a filter. Hyphens are ignored. */
|
|
3274
|
+
VerificationClientIDFilter: string;
|
|
3275
|
+
/** @description An organization id used as a filter. Hyphens are ignored, so it matches with or without them; an id that matches no organization returns nothing. */
|
|
3276
|
+
OrgIDFilter: string;
|
|
2969
3277
|
/** Format: uuid */
|
|
2970
3278
|
ThemeID: string;
|
|
2971
3279
|
/**
|
|
@@ -3000,13 +3308,29 @@ export interface components {
|
|
|
3000
3308
|
readonly apiUrl?: string;
|
|
3001
3309
|
expiresAt: components["schemas"]["Timestamp"];
|
|
3002
3310
|
};
|
|
3311
|
+
FetchAuthorizationRequest: {
|
|
3312
|
+
/**
|
|
3313
|
+
* Format: hostname
|
|
3314
|
+
* @description Host the caller intends to fetch from, for example `api.github.com`. Recorded for observability only — see `POST /fetch/authorizations`.
|
|
3315
|
+
*/
|
|
3316
|
+
host: string;
|
|
3317
|
+
};
|
|
3318
|
+
/** @description A short-lived attestor authorization for one zkFetch call. */
|
|
3319
|
+
FetchAuthorization: {
|
|
3320
|
+
/**
|
|
3321
|
+
* Format: byte
|
|
3322
|
+
* @description Base64-encoded legacy attestor authorization — the same form `POST /verifications/sessions/{sessionId}/attestor-auth` returns. Decode it back into the native `AuthenticationRequest` to open the attestor connection.
|
|
3323
|
+
*/
|
|
3324
|
+
token: string;
|
|
3325
|
+
expiresAt: components["schemas"]["Timestamp"];
|
|
3326
|
+
};
|
|
3003
3327
|
/**
|
|
3004
3328
|
* Format: uuid
|
|
3005
3329
|
* @description Stable id for a callback subscription.
|
|
3006
3330
|
*/
|
|
3007
3331
|
SubscriptionID: string;
|
|
3008
3332
|
/** @description Browser claimant snapshot produced by the built-in Verification Client. */
|
|
3009
|
-
ReportClaimantRequest: components["schemas"]["
|
|
3333
|
+
ReportClaimantRequest: components["schemas"]["ClaimantDetailsRequest"];
|
|
3010
3334
|
/**
|
|
3011
3335
|
* @description Live-derived operating mode of an organization.
|
|
3012
3336
|
*
|
|
@@ -3141,6 +3465,10 @@ export interface components {
|
|
|
3141
3465
|
* @description Email the invite was sent to. Stable for the lifetime of the row; it is the natural identifier of the invitee before they have a `userId`.
|
|
3142
3466
|
*/
|
|
3143
3467
|
email: string;
|
|
3468
|
+
/** @description The member's name. Absent while the invite is `PENDING` for an unregistered email. */
|
|
3469
|
+
name?: string;
|
|
3470
|
+
/** @description Up to two capital letters from the name, or from the email when there is no name. */
|
|
3471
|
+
initials: string;
|
|
3144
3472
|
role: components["schemas"]["OrganizationMemberRole"];
|
|
3145
3473
|
/**
|
|
3146
3474
|
* @description - `PENDING`: invite issued, not yet accepted.
|
|
@@ -3629,7 +3957,7 @@ export interface components {
|
|
|
3629
3957
|
*/
|
|
3630
3958
|
QuotaPool: "VERIFICATION" | "ZKFETCH";
|
|
3631
3959
|
/**
|
|
3632
|
-
* @description A plan's config for one pool. Synced from Stripe
|
|
3960
|
+
* @description A plan's config for one pool. Synced from Stripe. `overageRate` and `stripeMeterId` are display-only (Stripe rates the actual charge); `stripeOveragePriceId` is load-bearing — it is the subscription item that makes the rating happen.
|
|
3633
3961
|
* @example {
|
|
3634
3962
|
* "pool": "VERIFICATION",
|
|
3635
3963
|
* "includedLimit": 2000,
|
|
@@ -3652,6 +3980,8 @@ export interface components {
|
|
|
3652
3980
|
/** @description Per-unit overuse charge (from Stripe); absent until priced. */
|
|
3653
3981
|
overageRate?: number;
|
|
3654
3982
|
stripeMeterId?: string;
|
|
3983
|
+
/** @description The pool's metered Price. Every subscription for this plan carries it as an item — without it Stripe has nothing to rate the pool's usage against, so overage serves without ever billing. */
|
|
3984
|
+
stripeOveragePriceId?: string;
|
|
3655
3985
|
};
|
|
3656
3986
|
/** @description Editable pool config for the plan editor. Rate + meter are authored as the pool's metered Price in Stripe, so they aren't set here. */
|
|
3657
3987
|
PlanPoolInput: {
|
|
@@ -3668,6 +3998,10 @@ export interface components {
|
|
|
3668
3998
|
pool: components["schemas"]["QuotaPool"];
|
|
3669
3999
|
used: number;
|
|
3670
4000
|
includedLimit: number;
|
|
4001
|
+
/** @description Included uses left this period; never below zero. */
|
|
4002
|
+
remaining: number;
|
|
4003
|
+
/** @description Share of `includedLimit` used, rounded down and capped at 100. */
|
|
4004
|
+
percentUsed: number;
|
|
3671
4005
|
/** @description Effective additional uses allowed after a plan payment fails. */
|
|
3672
4006
|
paymentFailureAllowance: number;
|
|
3673
4007
|
/** @description Effective additional overage uses allowed after credits run out. */
|
|
@@ -3707,6 +4041,8 @@ export interface components {
|
|
|
3707
4041
|
/** @description Number of periodUnit per cycle. */
|
|
3708
4042
|
periodCount?: number;
|
|
3709
4043
|
billingTiming: components["schemas"]["BillingTiming"];
|
|
4044
|
+
/** @description Smallest prepaid credit top-up an org on this plan may buy, in the plan's currency. Overage is funded from credit, so the floor keeps a top-up worth more than the fee on it. Absent = no minimum. */
|
|
4045
|
+
minCreditPurchase?: number;
|
|
3710
4046
|
/** @description Contact-only lead tier — shown on the pricing page but not self-serve checkoutable; admins assign and bill it. Enterprise uses this. */
|
|
3711
4047
|
contactOnly?: boolean;
|
|
3712
4048
|
/**
|
|
@@ -3737,6 +4073,8 @@ export interface components {
|
|
|
3737
4073
|
visibility?: components["schemas"]["EntityVisibility"];
|
|
3738
4074
|
status?: components["schemas"]["EntityStatus"];
|
|
3739
4075
|
billingTiming?: components["schemas"]["BillingTiming"];
|
|
4076
|
+
/** @description Smallest prepaid credit top-up an org on this plan may buy, in the plan's currency. Overage is funded from credit, so the floor keeps a top-up worth more than the fee on it. Absent = no minimum. */
|
|
4077
|
+
minCreditPurchase?: number;
|
|
3740
4078
|
/** @description Contact-only lead tier — shown but not self-serve checkoutable. */
|
|
3741
4079
|
contactOnly?: boolean;
|
|
3742
4080
|
/**
|
|
@@ -3756,6 +4094,8 @@ export interface components {
|
|
|
3756
4094
|
pools: components["schemas"]["PlanPoolInput"][];
|
|
3757
4095
|
visibility?: components["schemas"]["EntityVisibility"];
|
|
3758
4096
|
billingTiming?: components["schemas"]["BillingTiming"];
|
|
4097
|
+
/** @description Smallest prepaid credit top-up an org on this plan may buy, in the plan's currency. Overage is funded from credit, so the floor keeps a top-up worth more than the fee on it. Absent = no minimum. */
|
|
4098
|
+
minCreditPurchase?: number;
|
|
3759
4099
|
contactOnly?: boolean;
|
|
3760
4100
|
/** Format: uuid */
|
|
3761
4101
|
orgId?: string;
|
|
@@ -3765,6 +4105,74 @@ export interface components {
|
|
|
3765
4105
|
ctaUrl?: string;
|
|
3766
4106
|
accentColor?: string;
|
|
3767
4107
|
};
|
|
4108
|
+
/** @description One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type="date">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends. */
|
|
4109
|
+
DateWindowBound: string;
|
|
4110
|
+
/** @description Cross-org aggregates for the admin analytics page, over the requested window. */
|
|
4111
|
+
AdminAnalytics: {
|
|
4112
|
+
/**
|
|
4113
|
+
* Format: date-time
|
|
4114
|
+
* @description Window start, inclusive — the resolved value, not the input.
|
|
4115
|
+
*/
|
|
4116
|
+
from: string;
|
|
4117
|
+
/**
|
|
4118
|
+
* Format: date-time
|
|
4119
|
+
* @description Window end, exclusive.
|
|
4120
|
+
*/
|
|
4121
|
+
to: string;
|
|
4122
|
+
orgId?: components["schemas"]["OrgID"];
|
|
4123
|
+
/** @description Session outcomes over the window. */
|
|
4124
|
+
sessions: {
|
|
4125
|
+
total: number;
|
|
4126
|
+
succeeded: number;
|
|
4127
|
+
/** @description Still open — excluded from the success-rate denominator, since a session created a minute ago is not a failure. */
|
|
4128
|
+
pending: number;
|
|
4129
|
+
/** @description `rejected`, `error`, `cancelled`, or `expired`. */
|
|
4130
|
+
failed: number;
|
|
4131
|
+
/** @description Distinct orgs that started at least one session. */
|
|
4132
|
+
activeOrgs: number;
|
|
4133
|
+
};
|
|
4134
|
+
/** @description Demand per provider, busiest first. A session requesting several providers counts once under each, so these totals sum to more than `sessions.total`. */
|
|
4135
|
+
byProvider: {
|
|
4136
|
+
/** Format: uuid */
|
|
4137
|
+
providerId: string;
|
|
4138
|
+
providerTitle: string;
|
|
4139
|
+
total: number;
|
|
4140
|
+
succeeded: number;
|
|
4141
|
+
failed: number;
|
|
4142
|
+
}[];
|
|
4143
|
+
verifications: components["schemas"]["VerificationAnalytics"];
|
|
4144
|
+
/** @description Money in by calendar month, newest first. One row per (month, currency) — currencies are never summed together. */
|
|
4145
|
+
revenue: {
|
|
4146
|
+
/** @description The calendar month in UTC (`2026-09`). Deliberately not a timestamp: a month is a bucket, and shipping an instant invites it to be re-read in another timezone and land in the month next door. */
|
|
4147
|
+
month: string;
|
|
4148
|
+
currency: string;
|
|
4149
|
+
paid: number;
|
|
4150
|
+
/** @description Stored positive (the table forbids negatives) and subtracted to reach `net`. */
|
|
4151
|
+
refunded: number;
|
|
4152
|
+
/** @description paid − refunded; may be negative in a refund-heavy month. */
|
|
4153
|
+
net: number;
|
|
4154
|
+
planPaid?: number;
|
|
4155
|
+
creditsPaid?: number;
|
|
4156
|
+
txCount: number;
|
|
4157
|
+
}[];
|
|
4158
|
+
/** @description Per-org consumption per billing period, heaviest first. Includes closed periods. A period is listed when it OVERLAPS the window, and its counters cover the whole period, not just the overlap. */
|
|
4159
|
+
usage: {
|
|
4160
|
+
orgId: components["schemas"]["OrgID"];
|
|
4161
|
+
orgName: string;
|
|
4162
|
+
planName: string;
|
|
4163
|
+
/** Format: date-time */
|
|
4164
|
+
periodStart: string;
|
|
4165
|
+
/** Format: date-time */
|
|
4166
|
+
periodEnd: string;
|
|
4167
|
+
/** @description This is the org's currently open period. */
|
|
4168
|
+
isActive: boolean;
|
|
4169
|
+
pools: {
|
|
4170
|
+
pool: components["schemas"]["QuotaPool"];
|
|
4171
|
+
used: number;
|
|
4172
|
+
includedLimit: number;
|
|
4173
|
+
}[];
|
|
4174
|
+
}[];
|
|
4175
|
+
};
|
|
3768
4176
|
/** @description The org's consumption this billing period against its plan's allowances, per pool. */
|
|
3769
4177
|
OrgUsage: {
|
|
3770
4178
|
orgId: components["schemas"]["OrgID"];
|
|
@@ -3772,6 +4180,7 @@ export interface components {
|
|
|
3772
4180
|
planId: string;
|
|
3773
4181
|
/** @description Plan display name. */
|
|
3774
4182
|
plan?: string;
|
|
4183
|
+
planTerms?: components["schemas"]["PlanSnapshot"];
|
|
3775
4184
|
pools: components["schemas"]["OrgPoolUsage"][];
|
|
3776
4185
|
/** Format: date-time */
|
|
3777
4186
|
periodStart: string;
|
|
@@ -3785,6 +4194,8 @@ export interface components {
|
|
|
3785
4194
|
/** @description Credit left to spend. Floors at zero — once empty, the per-pool credit-exhaustion allowance governs overage access, and anything consumed past zero settles on the next Stripe invoice. */
|
|
3786
4195
|
remaining: number;
|
|
3787
4196
|
currency: string;
|
|
4197
|
+
/** @description Smallest top-up this org's plan allows, in the same currency. Enforced by the credit checkout; absent = no minimum. */
|
|
4198
|
+
minPurchase?: number;
|
|
3788
4199
|
/** @description Spent since the last sync with Stripe. May exceed the synced balance while a credit-exhaustion allowance remains; the excess appears on the next invoice. */
|
|
3789
4200
|
unbilledSpend?: number;
|
|
3790
4201
|
/** @description Remaining incident allowances, reported separately per pool. */
|
|
@@ -3935,26 +4346,185 @@ export interface components {
|
|
|
3935
4346
|
periodEnd?: string;
|
|
3936
4347
|
note?: string;
|
|
3937
4348
|
};
|
|
3938
|
-
/**
|
|
3939
|
-
|
|
4349
|
+
/**
|
|
4350
|
+
* @description The stored and returned JSON type of a feature flag value.
|
|
4351
|
+
* @enum {string}
|
|
4352
|
+
*/
|
|
4353
|
+
FeatureFlagValueType: "BOOLEAN" | "STRING" | "NUMBER" | "JSON";
|
|
4354
|
+
/** @description A native JSON value. The value must match `valueType`. The admin form may send a string representation of a boolean, number, object, or array; Builder normalizes it before storage. JSON values are limited to 32 KiB after normalization. */
|
|
4355
|
+
FeatureFlagInputValue: boolean | string | number | {
|
|
4356
|
+
[key: string]: unknown;
|
|
4357
|
+
} | unknown[];
|
|
4358
|
+
/** @description One first-match rule. Every supplied selector is an AND condition. A provider selector scopes the rule to that provider's turn rather than to the whole session — see `providerId`. At least one selector or rollout percentage is required. */
|
|
4359
|
+
VerificationFeatureFlagRuleInput: {
|
|
4360
|
+
/** @description Lower numbers run first. Priorities are unique within a flag. */
|
|
4361
|
+
priority: number;
|
|
4362
|
+
description?: string;
|
|
4363
|
+
value: components["schemas"]["FeatureFlagInputValue"];
|
|
4364
|
+
/** Format: uuid */
|
|
4365
|
+
verificationClientId?: string;
|
|
4366
|
+
organizationId?: components["schemas"]["OrgID"];
|
|
4367
|
+
/** @description Matches while this provider is the one being verified. The value lands in `providerValues[providerId]`, not in the session-wide `values`, so it does not leak to the session's other providers. */
|
|
4368
|
+
providerId?: components["schemas"]["ProviderID"];
|
|
4369
|
+
/** @description Requires providerId and matches only that exact resolved version. */
|
|
4370
|
+
resolvedVersion?: string;
|
|
4371
|
+
/** @description Matches only this exact Verification Client build, as the client reports itself. The value is self-asserted and unauthenticated, so use it to steer a rollout, never as a security gate. A rule using it matches nothing until the client reports its version. */
|
|
4372
|
+
clientVersion?: string;
|
|
4373
|
+
/** @description Matches the normalized operating system reported in ordinary claimant details, such as android, ios, windows, macos, linux, or fuchsia. Matching is case-insensitive. The value is self-reported and unauthenticated, so use it to steer a rollout, never as a security gate. The rule does not match until claimant details report an operating system; diagnostics mode is not required. */
|
|
4374
|
+
operatingSystem?: string;
|
|
4375
|
+
/** @description Deterministic percentage keyed by flag key and CLAIMANT, so a claimant stays in the same cohort across retries and new sessions. A rule using it matches nothing until a claimant is known. Combining it with other selectors rolls out only within that matching group. */
|
|
4376
|
+
rolloutPercentage?: number;
|
|
4377
|
+
};
|
|
4378
|
+
VerificationFeatureFlagRule: components["schemas"]["VerificationFeatureFlagRuleInput"] & {
|
|
3940
4379
|
/** Format: uuid */
|
|
3941
4380
|
id: string;
|
|
3942
|
-
|
|
3943
|
-
|
|
4381
|
+
createdAt: components["schemas"]["Timestamp"];
|
|
4382
|
+
};
|
|
4383
|
+
/** @description Current or historical admin configuration for one typed Builder-mode feature flag. Changes create a new immutable version; session snapshots contain only resolved values and evaluation metadata. */
|
|
4384
|
+
VerificationFeatureFlag: {
|
|
4385
|
+
key: string;
|
|
4386
|
+
description: string;
|
|
4387
|
+
valueType: components["schemas"]["FeatureFlagValueType"];
|
|
4388
|
+
defaultValue: components["schemas"]["FeatureFlagInputValue"];
|
|
4389
|
+
/** @description ACTIVE includes the flag in new session runtimeConfig snapshots. ARCHIVED means deprecated: Builder omits it from new sessions while existing immutable session snapshots remain unchanged. */
|
|
4390
|
+
status: components["schemas"]["EntityStatus"];
|
|
4391
|
+
version: number;
|
|
4392
|
+
rules: components["schemas"]["VerificationFeatureFlagRule"][];
|
|
3944
4393
|
createMetadata: components["schemas"]["ActorMetadata"];
|
|
3945
|
-
|
|
3946
|
-
lastUsedAt?: string;
|
|
4394
|
+
updateMetadata: components["schemas"]["ActorMetadata"];
|
|
3947
4395
|
};
|
|
3948
|
-
/** @description
|
|
3949
|
-
|
|
4396
|
+
/** @description One immutable, globally ordered feature flag revision. */
|
|
4397
|
+
VerificationFeatureFlagRevision: {
|
|
4398
|
+
globalRevision: number;
|
|
4399
|
+
flagVersion: number;
|
|
4400
|
+
changedAt: components["schemas"]["Timestamp"];
|
|
3950
4401
|
/** Format: uuid */
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
4402
|
+
changedBy?: string;
|
|
4403
|
+
flag: components["schemas"]["VerificationFeatureFlag"];
|
|
4404
|
+
};
|
|
4405
|
+
CreateVerificationFeatureFlagRequest: {
|
|
4406
|
+
key: string;
|
|
4407
|
+
description: string;
|
|
4408
|
+
valueType: components["schemas"]["FeatureFlagValueType"];
|
|
4409
|
+
defaultValue: components["schemas"]["FeatureFlagInputValue"];
|
|
4410
|
+
/** @description Omit to create the flag as deprecated. Use ACTIVE only after every enabled first-party client supports the flag. */
|
|
4411
|
+
status?: components["schemas"]["EntityStatus"];
|
|
4412
|
+
rules?: components["schemas"]["VerificationFeatureFlagRuleInput"][];
|
|
4413
|
+
};
|
|
4414
|
+
/** @description Complete replacement used to create the next immutable flag version. Send every field and the full desired rule set. */
|
|
4415
|
+
UpdateVerificationFeatureFlagRequest: {
|
|
4416
|
+
description: string;
|
|
4417
|
+
valueType: components["schemas"]["FeatureFlagValueType"];
|
|
4418
|
+
defaultValue: components["schemas"]["FeatureFlagInputValue"];
|
|
4419
|
+
/** @description Set ARCHIVED to deprecate the flag. It is then omitted from new session snapshots without changing existing sessions. */
|
|
4420
|
+
status: components["schemas"]["EntityStatus"];
|
|
4421
|
+
rules: components["schemas"]["VerificationFeatureFlagRuleInput"][];
|
|
4422
|
+
};
|
|
4423
|
+
/**
|
|
4424
|
+
* @description Which side of the dashboard header the strip renders on. Either strip can take either position, independently of the other.
|
|
4425
|
+
* @enum {string}
|
|
4426
|
+
*/
|
|
4427
|
+
BannerPosition: "above_header" | "below_header";
|
|
4428
|
+
/** @description The two site-wide top banners, as raw admin-authored HTML — this is the admin editor's shape. Used only by the dashboard's own layout and the admin editor; there is no public equivalent. */
|
|
4429
|
+
SiteBanners: {
|
|
4430
|
+
announcement: components["schemas"]["AnnouncementBar"];
|
|
4431
|
+
ticker: components["schemas"]["ScrollingBanner"];
|
|
4432
|
+
};
|
|
4433
|
+
/** @description A static, centered, one-line strip. Same shape for the admin GET (raw HTML) and the PUT request/response — the client always sends the complete object, so there's no partial-update case to reason about. */
|
|
4434
|
+
AnnouncementBar: {
|
|
4435
|
+
/** @description Both banners default to disabled; saving doesn't change this. */
|
|
4436
|
+
enabled: boolean;
|
|
4437
|
+
/** @description Raw HTML source. Only `<strong>`, `<em>`, `<u>`, `<br>`, and `<a href="https://…">` survive rendering — every other tag or attribute (a `<script>`, an `onclick`, a non-`https:` link) is escaped to inert text on the dashboard. This field is always the raw, unrendered source the admin typed. */
|
|
4438
|
+
message: string;
|
|
4439
|
+
/** @description When set, the whole bar becomes a clickable link. Must be an `https:` URL — checked by the route (not `format: uri` here), since an empty submitted value is normalized to null rather than rejected as a malformed URI. Null means plain text, no link. */
|
|
4440
|
+
linkUrl: string | null;
|
|
4441
|
+
position: components["schemas"]["BannerPosition"];
|
|
4442
|
+
/** @description Hex color, for example "#00443D". */
|
|
4443
|
+
bgColor: string;
|
|
4444
|
+
/** @description Hex color, for example "#FFFFFF". */
|
|
4445
|
+
textColor: string;
|
|
4446
|
+
paddingTop: number;
|
|
4447
|
+
paddingBottom: number;
|
|
4448
|
+
};
|
|
4449
|
+
/** @description An auto-scrolling marquee of short messages. Same shape for the admin GET (raw HTML) and the PUT request/response. */
|
|
4450
|
+
ScrollingBanner: {
|
|
4451
|
+
/** @description An enabled ticker with zero items renders nothing on the dashboard — not an empty coloured strip. */
|
|
4452
|
+
enabled: boolean;
|
|
4453
|
+
/** @description Short raw-HTML messages (same allowed tags as AnnouncementBar.message), looped/repeated continuously. May be empty. */
|
|
4454
|
+
items: string[];
|
|
4455
|
+
position: components["schemas"]["BannerPosition"];
|
|
4456
|
+
/** @description Hex color, for example "#0B1F1C". */
|
|
4457
|
+
bgColor: string;
|
|
4458
|
+
/** @description Hex color, for example "#FFFFFF". */
|
|
4459
|
+
textColor: string;
|
|
4460
|
+
/** @description Seconds per scroll loop; lower is faster. */
|
|
4461
|
+
speedSeconds: number;
|
|
4462
|
+
paddingTop: number;
|
|
4463
|
+
paddingBottom: number;
|
|
4464
|
+
};
|
|
4465
|
+
/** @description `ScrollingBanner` as an HTML form posts it: `items` is one message per line instead of an array. */
|
|
4466
|
+
ScrollingBannerForm: {
|
|
4467
|
+
enabled: boolean;
|
|
4468
|
+
/** @description One raw-HTML message per line; at most 20 lines. */
|
|
4469
|
+
items: string;
|
|
4470
|
+
position: components["schemas"]["BannerPosition"];
|
|
4471
|
+
bgColor: string;
|
|
4472
|
+
textColor: string;
|
|
4473
|
+
speedSeconds: number;
|
|
4474
|
+
paddingTop: number;
|
|
4475
|
+
paddingBottom: number;
|
|
4476
|
+
};
|
|
4477
|
+
VerificationFeatureFlagEvaluation: {
|
|
4478
|
+
flagVersion: number;
|
|
4479
|
+
/** @enum {string} */
|
|
4480
|
+
source: "DEFAULT" | "RULE";
|
|
4481
|
+
/** Format: uuid */
|
|
4482
|
+
ruleId?: string;
|
|
4483
|
+
rulePriority?: number;
|
|
4484
|
+
};
|
|
4485
|
+
/** @description Runtime inputs a Verification Client reports about itself and the claimant it is serving. Both request fields are optional: send whichever the client actually knows. The operating system is derived from ordinary claimant details. Sending neither simply returns the stored configuration. */
|
|
4486
|
+
ResolveVerificationRuntimeConfigRequest: {
|
|
4487
|
+
/**
|
|
4488
|
+
* Format: uuid
|
|
4489
|
+
* @description The claimant's stable, client-generated id — the same value reported to PatchVerificationClaimant. It is the subject a percentage rollout buckets on, which is what keeps a claimant in one cohort across retries and new sessions. First write wins.
|
|
4490
|
+
*/
|
|
4491
|
+
claimantClientId?: string;
|
|
4492
|
+
/** @description The Verification Client's own build, for rules targeting a specific version. Self-asserted and unauthenticated. First write wins. */
|
|
4493
|
+
clientVersion?: string;
|
|
4494
|
+
};
|
|
4495
|
+
/** @description Builder-mode feature configuration for one session. Resolved when the session is created, then recomputed whenever a Verification Client first reports an input the flags depend on — a claimant id, its own version, or the claimant operating system. It is otherwise left alone, so editing a flag does not change a session after its known inputs have settled. Verification Clients use `values`; `evaluations` and `revision` make a session reproducible and diagnosable. Feature flags never replace proof, issuer, JWKS, attestor, TEE, or session-binding validation. */
|
|
4496
|
+
VerificationRuntimeConfig: {
|
|
4497
|
+
/** @constant */
|
|
4498
|
+
schemaVersion: 1;
|
|
4499
|
+
revision: number;
|
|
4500
|
+
resolvedAt: components["schemas"]["Timestamp"];
|
|
4501
|
+
/** @description The client-reported inputs this document was resolved against. Absent fields were unknown at the time, so any rule depending on them did not match. Reported so a client can tell whether the configuration already reflects what it knows. */
|
|
4502
|
+
inputs?: {
|
|
4503
|
+
/** Format: uuid */
|
|
4504
|
+
claimantClientId?: string;
|
|
4505
|
+
clientVersion?: string;
|
|
4506
|
+
/** @description Normalized from ordinary claimant details. This is available whether or not diagnostics mode is enabled. */
|
|
4507
|
+
operatingSystem?: string;
|
|
4508
|
+
};
|
|
4509
|
+
/** @description The session-wide answer, resolved as though no single provider were in play. A rule scoped to a provider never contributes here. */
|
|
4510
|
+
values: {
|
|
4511
|
+
[key: string]: unknown;
|
|
4512
|
+
};
|
|
4513
|
+
/**
|
|
4514
|
+
* @description Per-provider differences, keyed by provider id. Holds only the flags whose answer changes once that provider is the one being verified, so read `providerValues[currentProviderId]?.[key]` first and fall back to `values[key]`.
|
|
4515
|
+
* This is what makes a provider selector mean "this provider" rather than "the session contains this provider". The map is empty when no provider-specific rule changes the baseline; ignoring it altogether yields the session-wide baseline.
|
|
4516
|
+
*/
|
|
4517
|
+
providerValues?: {
|
|
4518
|
+
[key: string]: {
|
|
4519
|
+
[key: string]: unknown;
|
|
4520
|
+
};
|
|
4521
|
+
};
|
|
4522
|
+
/** @description Why each flag resolved as it did, for the session-wide baseline. Provider overrides are not broken out here; `providerValues` says what changed, and the flag's rules say why. */
|
|
4523
|
+
evaluations: {
|
|
4524
|
+
[key: string]: components["schemas"]["VerificationFeatureFlagEvaluation"];
|
|
4525
|
+
};
|
|
3956
4526
|
};
|
|
3957
|
-
/** @description A registered
|
|
4527
|
+
/** @description A registered claimant-facing client. Builder identifies it by UUID, binds it to each selected session, and signs every result itself. */
|
|
3958
4528
|
VerificationClient: {
|
|
3959
4529
|
/** Format: uuid */
|
|
3960
4530
|
id: string;
|
|
@@ -3962,31 +4532,12 @@ export interface components {
|
|
|
3962
4532
|
pool: components["schemas"]["QuotaPool"];
|
|
3963
4533
|
/**
|
|
3964
4534
|
* Format: uri
|
|
3965
|
-
* @description The claimant-facing
|
|
4535
|
+
* @description The claimant-facing web or app-link URL.
|
|
3966
4536
|
*/
|
|
3967
4537
|
uri?: string;
|
|
3968
|
-
/**
|
|
3969
|
-
* Format: uri
|
|
3970
|
-
* @description Exact trusted JWS `iss` value registered for this client. Consumers must match signed results against this value before loading JWKS.
|
|
3971
|
-
*/
|
|
3972
|
-
issuer: string;
|
|
3973
|
-
/**
|
|
3974
|
-
* Format: uri
|
|
3975
|
-
* @description Registered JWKS URL for consumer-side result verification. For Builder-managed signing keys this is normally the Builder's aggregated `/.well-known/jwks.json`; a client may instead register a self-hosted URL. The Builder never fetches or proxies this URL.
|
|
3976
|
-
*/
|
|
3977
|
-
jwksUri?: string;
|
|
3978
|
-
activeTokenCount: number;
|
|
3979
|
-
tokens: components["schemas"]["VerificationClientTokenMeta"][];
|
|
3980
|
-
activeKeyCount: number;
|
|
3981
|
-
keys: components["schemas"]["VerificationClientKeyMeta"][];
|
|
3982
4538
|
createMetadata?: components["schemas"]["ActorMetadata"];
|
|
3983
4539
|
updateMetadata?: components["schemas"]["ActorMetadata"];
|
|
3984
4540
|
};
|
|
3985
|
-
/** @description Legacy compatibility response from register / issue-token endpoints. Builder-mode callers use the registered client's UUID, not this token. */
|
|
3986
|
-
VerificationClientWithToken: {
|
|
3987
|
-
client: components["schemas"]["VerificationClient"];
|
|
3988
|
-
token: string;
|
|
3989
|
-
};
|
|
3990
4541
|
CreateVerificationClientRequest: {
|
|
3991
4542
|
/** @description Lowercase handle (letters, digits, hyphens), for example, `web-portal`. */
|
|
3992
4543
|
name: string;
|
|
@@ -3998,28 +4549,12 @@ export interface components {
|
|
|
3998
4549
|
pool: "VERIFICATION" | "ZKFETCH";
|
|
3999
4550
|
/** @description Base URL claimants are directed to. A verification request's `verificationClientUrl` must exactly equal this. The returned `verificationUrl` contains the session id and `api=2`; a dual-mode client uses that query value to select Builder mode. */
|
|
4000
4551
|
uri: string;
|
|
4001
|
-
/** @description Exact JWS issuer for signed results. Set this separately when the claimant-facing URL is an app link or contains a session placeholder. Consumers compare it with the JWS header before using the registered JWKS URL. For compatibility, omission defaults to `uri`. */
|
|
4002
|
-
issuer?: string;
|
|
4003
|
-
/** @description Optional registered JWKS URL for consumers. Use the Builder's aggregated endpoint for Builder-managed keys, or a self-hosted endpoint when the client manages its own signing keys. */
|
|
4004
|
-
jwksUri?: string;
|
|
4005
4552
|
};
|
|
4006
4553
|
/** @description Fields to change on a registered client. Omitted fields keep their current values. */
|
|
4007
4554
|
UpdateVerificationClientRequest: {
|
|
4008
4555
|
pool?: components["schemas"]["QuotaPool"];
|
|
4009
4556
|
/** @description Claimant-facing base URL. A verification request must exactly equal this value. */
|
|
4010
4557
|
uri?: string;
|
|
4011
|
-
/** @description Exact trusted JWS `iss` value; separate from `uri` and `jwksUri`. */
|
|
4012
|
-
issuer?: string;
|
|
4013
|
-
/** @description Registered JWKS URL for consumers; never derive it from a signed payload. */
|
|
4014
|
-
jwksUri?: string;
|
|
4015
|
-
};
|
|
4016
|
-
/** @description The PUBLIC half of the client's ES256K signing keypair, as an uncompressed hex public key or a JWK. Exactly one of `publicKey` / `publicKeyJwk` is required; the private key never leaves the client. */
|
|
4017
|
-
AddVerificationClientKeyRequest: {
|
|
4018
|
-
/** @description Uncompressed secp256k1 public key (65 bytes, hex). */
|
|
4019
|
-
publicKey?: string;
|
|
4020
|
-
publicKeyJwk?: components["schemas"]["JwkSecp256k1Public"];
|
|
4021
|
-
/** @description A human note to tell keys apart (for example, "prod-eu"). */
|
|
4022
|
-
label?: string;
|
|
4023
4558
|
};
|
|
4024
4559
|
/** @description The email of an existing user to grant staff (any domain). */
|
|
4025
4560
|
AddStaffMemberRequest: {
|
|
@@ -4043,11 +4578,6 @@ export interface components {
|
|
|
4043
4578
|
StaffList: {
|
|
4044
4579
|
items: components["schemas"]["StaffMember"][];
|
|
4045
4580
|
};
|
|
4046
|
-
/** @description Legacy compatibility metadata for a token. Builder-mode clients use their registered UUID in `x-reclaim-vc-id` instead. */
|
|
4047
|
-
IssueVerificationClientTokenRequest: {
|
|
4048
|
-
/** @description A human note to tell tokens apart (for example, "prod-eu"). */
|
|
4049
|
-
label?: string;
|
|
4050
|
-
};
|
|
4051
4581
|
ProviderVersionRef: {
|
|
4052
4582
|
major: number;
|
|
4053
4583
|
minor: number;
|
|
@@ -4319,6 +4849,20 @@ export interface components {
|
|
|
4319
4849
|
/** @description Read-only pre-resolved SEO surface. The server applies the documented override chain (`seo.*Override` → row value → `seoSuggestions.*`) and exposes the result here so HTML renderers, JSON-LD, sitemap, and OG cards read one source. */
|
|
4320
4850
|
effectiveSeo: components["schemas"]["ProviderEffectiveSeo"];
|
|
4321
4851
|
};
|
|
4852
|
+
/**
|
|
4853
|
+
* @description How reliably runs produced a proof over the last 30 days: `healthy` from 70%, `degraded` from 40%, otherwise `failing`. Absent until there are enough runs to judge.
|
|
4854
|
+
* @enum {string}
|
|
4855
|
+
*/
|
|
4856
|
+
ProviderHealth: "healthy" | "degraded" | "failing";
|
|
4857
|
+
OrgUsedProvider: {
|
|
4858
|
+
id: components["schemas"]["ProviderID"];
|
|
4859
|
+
name: string;
|
|
4860
|
+
domain: string;
|
|
4861
|
+
slug: string;
|
|
4862
|
+
/** @description Sessions in the organization that ran this provider. */
|
|
4863
|
+
sessions: number;
|
|
4864
|
+
lastUsedAt: components["schemas"]["Timestamp"];
|
|
4865
|
+
};
|
|
4322
4866
|
/**
|
|
4323
4867
|
* @description Card-shape projection of a `Provider` used by catalog listings (`GET /providers`, `Organization.providers`). Differs from `Provider` in three ways:
|
|
4324
4868
|
*
|
|
@@ -4369,6 +4913,11 @@ export interface components {
|
|
|
4369
4913
|
* @description Avatar URL of the owning organization, if set.
|
|
4370
4914
|
*/
|
|
4371
4915
|
orgIconUrl?: string;
|
|
4916
|
+
/** @description Percent of runs over the last 30 days that produced a proof. Absent until the provider has 5 runs. */
|
|
4917
|
+
readonly successRate?: number;
|
|
4918
|
+
readonly health?: components["schemas"]["ProviderHealth"];
|
|
4919
|
+
/** @description Provider score from 0 to 100, from recent proofs, organizations using it, and how recently it was updated. See `Provider score` in the docs for the criteria. */
|
|
4920
|
+
readonly score?: number;
|
|
4372
4921
|
readonly createMetadata: components["schemas"]["ActorMetadata"];
|
|
4373
4922
|
readonly updateMetadata: components["schemas"]["ActorMetadata"];
|
|
4374
4923
|
};
|
|
@@ -4400,6 +4949,14 @@ export interface components {
|
|
|
4400
4949
|
dataPoints: string[];
|
|
4401
4950
|
/** @description Number of providers backing this website that the caller can see. */
|
|
4402
4951
|
providerCount: number;
|
|
4952
|
+
/** @description The tags most of this website's providers carry. */
|
|
4953
|
+
tags?: components["schemas"]["Tag"][];
|
|
4954
|
+
/** @description Highest `successRate` among the website's providers. Absent until one has enough runs. */
|
|
4955
|
+
bestSuccessRate?: number;
|
|
4956
|
+
/** @description `failing` when none of the rated providers is healthy or degraded, `degraded` when some are not healthy, otherwise `healthy`. */
|
|
4957
|
+
health?: components["schemas"]["ProviderHealth"];
|
|
4958
|
+
/** @description Number of rated providers that are degraded or failing. */
|
|
4959
|
+
unhealthyProviderCount?: number;
|
|
4403
4960
|
};
|
|
4404
4961
|
/** @description Body for `POST /site/{domain}/try`. Only the verification `context` (values for the resolved providers' `requiredContext` inputs). The selection (dataPoints / mode / pins) travels in the query string. */
|
|
4405
4962
|
SiteBuildTryBody: {
|
|
@@ -4408,22 +4965,16 @@ export interface components {
|
|
|
4408
4965
|
[key: string]: string;
|
|
4409
4966
|
};
|
|
4410
4967
|
orgId?: components["schemas"]["OrgID"];
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
url?: string;
|
|
4968
|
+
/**
|
|
4969
|
+
* @description Built-in Verification Client that runs the sandbox session. Defaults to `portals`. `inapp-sdk` and `zkfetch` are not offered: neither has a browser flow to try.
|
|
4970
|
+
* @enum {string}
|
|
4971
|
+
*/
|
|
4972
|
+
verificationClient?: "portals" | "verifier-app" | "reclaim-browser-extension" | "builder";
|
|
4417
4973
|
};
|
|
4418
4974
|
/** @description Body for `PUT /users/{userId}/org-limit`. An integer sets the limit; `null` (JSON) or an empty string (form) restores the default (3). */
|
|
4419
4975
|
AdminSetUserOrgLimitBody: {
|
|
4420
4976
|
limit?: number | string | null;
|
|
4421
4977
|
};
|
|
4422
|
-
/** @description Body for `POST /site/{domain}/try-ai`. An optional edited extraction prompt, saved as a new draft build before the sandbox session is minted. */
|
|
4423
|
-
SiteTryAiBody: {
|
|
4424
|
-
/** @description The edited extraction prompt for the AI provider. Gated by the prompt guard before it is stored (see docs/prompt-guard.md); the length here documents the same ceiling the guard enforces. */
|
|
4425
|
-
prompt?: string;
|
|
4426
|
-
};
|
|
4427
4978
|
/** @description Selects one failed provider from the source session. The server treats this only as selection input and re-derives authorization, failure, version, organization, and prompt. */
|
|
4428
4979
|
CreateFixWithAiSessionRequest: {
|
|
4429
4980
|
providerId: components["schemas"]["ProviderID"];
|
|
@@ -4436,6 +4987,10 @@ export interface components {
|
|
|
4436
4987
|
description?: string;
|
|
4437
4988
|
/** @description Number of visible providers on the domain that expose this data point. */
|
|
4438
4989
|
providerCount: number;
|
|
4990
|
+
/** @description `PUBLIC` when any public provider exposes this data point, else `PRIVATE`. */
|
|
4991
|
+
visibility?: components["schemas"]["EntityVisibility"];
|
|
4992
|
+
/** @description The best health among the providers that expose it. */
|
|
4993
|
+
health?: components["schemas"]["ProviderHealth"];
|
|
4439
4994
|
/** @description Slug of one provider that exposes this data point. */
|
|
4440
4995
|
exampleProviderSlug?: string;
|
|
4441
4996
|
/** @description One entry per provider that exposes this data point — how it proves it. Two providers may be byte-identical here; they are still separate, separately pinnable sources (see the `pins` parameter). */
|
|
@@ -4506,6 +5061,46 @@ export interface components {
|
|
|
4506
5061
|
/** @description User-agent used for iOS verification. */
|
|
4507
5062
|
ios?: components["schemas"]["UserAgentString"];
|
|
4508
5063
|
};
|
|
5064
|
+
/** @description Copies one same-origin, script-readable cookie into a request header. The cookie value stays inside the verification client's browser. */
|
|
5065
|
+
BrowserRequestCookieHeader: {
|
|
5066
|
+
name: string;
|
|
5067
|
+
cookieName: string;
|
|
5068
|
+
};
|
|
5069
|
+
/** @description A portal-only, provider-declared HTTP action for `window.Reclaim.browserRequest`. The claimant page supplies only the action id and declared primitive inputs; the recipe controls the HTTPS origin, request template, and returned fields. Other Verification Clients currently ignore this field. */
|
|
5070
|
+
BrowserRequestAction: {
|
|
5071
|
+
id: string;
|
|
5072
|
+
/** Format: uri */
|
|
5073
|
+
origin: string;
|
|
5074
|
+
/** @description Origin-relative fallback path. */
|
|
5075
|
+
path: string;
|
|
5076
|
+
/** @description Optional origin-relative path/query template. Declared inputs use `{{name}}` and are URL-encoded. */
|
|
5077
|
+
pathTemplate?: string;
|
|
5078
|
+
/** @enum {string} */
|
|
5079
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
5080
|
+
/**
|
|
5081
|
+
* @description `fetch` is the default. `navigate` supports GET only and performs a top-level navigation in the action's isolated browser page.
|
|
5082
|
+
* @enum {string}
|
|
5083
|
+
*/
|
|
5084
|
+
transport?: "fetch" | "navigate";
|
|
5085
|
+
/** @description Browser User-Agent applied to the isolated action page before its first navigation. Use only when the target origin requires a specific browser identity. */
|
|
5086
|
+
userAgent?: string;
|
|
5087
|
+
/** @description Remove Chromium's automatic Origin header from a fetch action. Unsupported for navigate actions. */
|
|
5088
|
+
omitOriginHeader?: boolean;
|
|
5089
|
+
headers?: {
|
|
5090
|
+
[key: string]: string;
|
|
5091
|
+
};
|
|
5092
|
+
/** @description Header values may interpolate declared `{{name}}` inputs. */
|
|
5093
|
+
headersTemplate?: {
|
|
5094
|
+
[key: string]: string;
|
|
5095
|
+
};
|
|
5096
|
+
/** @description JSON template whose `{{name}}` inputs are inserted as JSON literals. The rendered body is limited again at execution time. */
|
|
5097
|
+
bodyTemplate?: string;
|
|
5098
|
+
cookieValueHeader?: components["schemas"]["BrowserRequestCookieHeader"];
|
|
5099
|
+
/** @description Return the bounded raw response body. */
|
|
5100
|
+
includeBody?: boolean;
|
|
5101
|
+
inputKeys?: string[];
|
|
5102
|
+
responseFields?: string[];
|
|
5103
|
+
};
|
|
4509
5104
|
/** @description Settings used by the web-based verification client. */
|
|
4510
5105
|
ProviderWebSettings: {
|
|
4511
5106
|
/**
|
|
@@ -4516,6 +5111,8 @@ export interface components {
|
|
|
4516
5111
|
clientOptions?: components["schemas"]["ClientOptions"];
|
|
4517
5112
|
/** @description JavaScript snippets injected into the page which runs before every page load. `window.Reclaim.` APIs are available to these scripts to request actions to the client like claim creation. */
|
|
4518
5113
|
jsUserScripts?: string;
|
|
5114
|
+
/** @description Portal-only authenticated browser actions available to `jsUserScripts` through `window.Reclaim.browserRequest`. */
|
|
5115
|
+
browserRequestActions?: components["schemas"]["BrowserRequestAction"][];
|
|
4519
5116
|
};
|
|
4520
5117
|
/** @description Optional JSON Schema describing the `context` a Consumer must supply when creating a verification session for this provider version. Only needed when the recipe expects Consumer-supplied values: those are referenced as `{{context.<key>}}` in recipe requests. Bare `{{parameterName}}` placeholders are normally provider parameters extracted from claimant traffic. For old DevTools recipes, Builder-mode Verification Clients seed a missing bare `parameterName` from a same-named scalar session context field when the recipe doesn't use `{{context.parameterName}}`; an explicit parameter always wins. New recipes should use the explicit `{{context.<key>}}` form. Bare parameters need no declaration here. Builder-owned `reclaimSessionId` and `attestationNonce` remain context-only. The Builder validates `CreateVerificationSessionRequest.context` against this schema and rejects the request (400) on mismatch. Extra context fields are always allowed regardless of the schema (a root-level `additionalProperties: false` is ignored). Empty/absent accepts any context. */
|
|
4521
5118
|
ProviderRequiredContext: {
|
|
@@ -4798,7 +5395,7 @@ export interface components {
|
|
|
4798
5395
|
/** @enum {string} */
|
|
4799
5396
|
ContributionCampaignStatus: "DRAFT" | "OPEN" | "PAUSED" | "CLOSED";
|
|
4800
5397
|
/** @enum {string} */
|
|
4801
|
-
ContributionAttemptStatus: "CREATED" | "ACTIVE" | "PROPOSED" | "COMPLETED" | "FAILED" | "CANCELLED" | "STALE";
|
|
5398
|
+
ContributionAttemptStatus: "CREATED" | "ACTIVE" | "PROPOSED" | "COMPLETED" | "FAILED" | "REJECTED" | "CANCELLED" | "STALE";
|
|
4802
5399
|
/** @enum {string} */
|
|
4803
5400
|
ContributionSensitivity: "PUBLIC" | "PERSONAL" | "SENSITIVE";
|
|
4804
5401
|
ContributionRequirement: {
|
|
@@ -4808,7 +5405,7 @@ export interface components {
|
|
|
4808
5405
|
sensitivity?: components["schemas"]["ContributionSensitivity"];
|
|
4809
5406
|
requiredClaims?: string[];
|
|
4810
5407
|
requiredOutputs?: string[];
|
|
4811
|
-
};
|
|
5408
|
+
} | unknown | unknown;
|
|
4812
5409
|
ContributionRequirements: {
|
|
4813
5410
|
fields: components["schemas"]["ContributionRequirement"][];
|
|
4814
5411
|
};
|
|
@@ -4906,13 +5503,17 @@ export interface components {
|
|
|
4906
5503
|
consentText: string;
|
|
4907
5504
|
/** Format: uri */
|
|
4908
5505
|
initialUrl: string;
|
|
4909
|
-
|
|
4910
|
-
|
|
5506
|
+
/** @description Hosts volunteers may reach. A browser form sends one string with one host per line or comma separated. */
|
|
5507
|
+
allowedHosts?: string[] | string;
|
|
5508
|
+
/** @description Path prefixes volunteers may visit. A browser form sends one string with one path per line or comma separated. */
|
|
5509
|
+
allowedPathPrefixes?: string[] | string;
|
|
4911
5510
|
fieldKey: string;
|
|
4912
5511
|
fieldTitle: string;
|
|
4913
5512
|
fieldDescription?: string;
|
|
4914
|
-
|
|
4915
|
-
|
|
5513
|
+
/** @description Claim names the proof must output. A browser form sends one string with one name per line or comma separated. */
|
|
5514
|
+
requiredClaims?: string[] | string;
|
|
5515
|
+
/** @description Extra output names the proof must produce. A browser form sends one string with one name per line or comma separated. */
|
|
5516
|
+
requiredOutputs?: string[] | string;
|
|
4916
5517
|
sensitivity?: components["schemas"]["ContributionSensitivity"];
|
|
4917
5518
|
};
|
|
4918
5519
|
UpdateContributionCampaignRequest: components["schemas"]["CreateContributionCampaignRequest"];
|
|
@@ -5071,6 +5672,47 @@ export interface components {
|
|
|
5071
5672
|
verificationsRemaining: number;
|
|
5072
5673
|
resetsAt: components["schemas"]["Timestamp"];
|
|
5073
5674
|
};
|
|
5675
|
+
VerificationAnalytics: {
|
|
5676
|
+
/** Format: date-time */
|
|
5677
|
+
from: string;
|
|
5678
|
+
/** Format: date-time */
|
|
5679
|
+
to: string;
|
|
5680
|
+
byDay: components["schemas"]["VerificationAnalyticsRow"][];
|
|
5681
|
+
byDevice: components["schemas"]["VerificationAnalyticsRow"][];
|
|
5682
|
+
byCountry: components["schemas"]["VerificationAnalyticsRow"][];
|
|
5683
|
+
byBrowser: components["schemas"]["VerificationAnalyticsRow"][];
|
|
5684
|
+
byOs: components["schemas"]["VerificationAnalyticsRow"][];
|
|
5685
|
+
/** @description The busiest providers. A session requesting several providers counts once under each. */
|
|
5686
|
+
byProvider: components["schemas"]["VerificationAnalyticsRow"][];
|
|
5687
|
+
zkfetch?: components["schemas"]["ZkfetchAnalytics"];
|
|
5688
|
+
};
|
|
5689
|
+
/** @description zkFetch calls in the window. Left out of the report when it is scoped to a provider, since zkFetch calls have none. */
|
|
5690
|
+
ZkfetchAnalytics: {
|
|
5691
|
+
total: number;
|
|
5692
|
+
/** @description Distinct hosts called, including those past `byHost`. */
|
|
5693
|
+
hosts: number;
|
|
5694
|
+
/** @description An active billing period grants a zkFetch allowance (any organization, when the report covers all of them). */
|
|
5695
|
+
hasAllowance: boolean;
|
|
5696
|
+
/** @description Every UTC day of the window, empty days included. */
|
|
5697
|
+
byDay: components["schemas"]["ZkfetchAnalyticsRow"][];
|
|
5698
|
+
/** @description The busiest hosts, lowercased. */
|
|
5699
|
+
byHost: components["schemas"]["ZkfetchAnalyticsRow"][];
|
|
5700
|
+
};
|
|
5701
|
+
ZkfetchAnalyticsRow: {
|
|
5702
|
+
/** @description UTC date or host. */
|
|
5703
|
+
bucket: string;
|
|
5704
|
+
total: number;
|
|
5705
|
+
};
|
|
5706
|
+
VerificationAnalyticsRow: {
|
|
5707
|
+
/** @description UTC date, device category, ISO country code, browser, OS, provider id, or unknown. */
|
|
5708
|
+
bucket: string;
|
|
5709
|
+
/** @description Provider title, on `byProvider` rows only. */
|
|
5710
|
+
title?: string;
|
|
5711
|
+
total: number;
|
|
5712
|
+
succeeded: number;
|
|
5713
|
+
pending: number;
|
|
5714
|
+
failed: number;
|
|
5715
|
+
};
|
|
5074
5716
|
VerificationFunnel: {
|
|
5075
5717
|
/** @enum {string} */
|
|
5076
5718
|
mode: "SESSION" | "PROVIDER";
|
|
@@ -5093,6 +5735,33 @@ export interface components {
|
|
|
5093
5735
|
/** @description Optional absolute or Builder-hosted image URL. */
|
|
5094
5736
|
logoUrl?: string;
|
|
5095
5737
|
};
|
|
5738
|
+
/** @description One immutable provider recipe resolved when the verification session was created. Version resolution never happens in a Verification Client. */
|
|
5739
|
+
VerificationRecipe: {
|
|
5740
|
+
providerId: components["schemas"]["ProviderID"];
|
|
5741
|
+
provider: components["schemas"]["VerificationBrand"];
|
|
5742
|
+
resolvedVersion: string;
|
|
5743
|
+
/** Format: uri */
|
|
5744
|
+
initialUrl: string;
|
|
5745
|
+
/** @description Legacy-only preference. Builder clients always run the structured recipe and never enable AI or manual verification from this value. */
|
|
5746
|
+
preferAiAgent: boolean;
|
|
5747
|
+
geoLocation?: string;
|
|
5748
|
+
jsUserScripts?: string;
|
|
5749
|
+
clientOptions?: components["schemas"]["ClientOptions"];
|
|
5750
|
+
requests: components["schemas"]["RequestSelection"][];
|
|
5751
|
+
allowedJsRequests?: components["schemas"]["RequestSelectionTemplate"][];
|
|
5752
|
+
/** @description Portal-only authenticated actions copied from this immutable version's web settings. */
|
|
5753
|
+
browserRequestActions?: components["schemas"]["BrowserRequestAction"][];
|
|
5754
|
+
};
|
|
5755
|
+
VerificationRecipeList: {
|
|
5756
|
+
/** @description One recipe per session provider, in run order. */
|
|
5757
|
+
recipes: components["schemas"]["VerificationRecipe"][];
|
|
5758
|
+
};
|
|
5759
|
+
VerificationClientBootstrap: {
|
|
5760
|
+
session: components["schemas"]["VerificationSession"];
|
|
5761
|
+
recipes: components["schemas"]["VerificationRecipe"][];
|
|
5762
|
+
/** @description Builder-mode feature configuration for this session, as resolved so far. Bootstrap reads the client's version from the `reclaim-api-client` header. A client that later learns a claimant id should call ResolveVerificationRuntimeConfig, which binds that input and returns the recomputed configuration. A client that does not send the header can report its version there too. Absent only for sessions created before this capability. */
|
|
5763
|
+
runtimeConfig?: components["schemas"]["VerificationRuntimeConfig"];
|
|
5764
|
+
};
|
|
5096
5765
|
/** @description A single verification a Consumer requests from an end-user. Created via the consumer's `OrgToken`; the org must already have at least one callback subscription. The result is submitted by the Verification Client and delivered by the Builder. */
|
|
5097
5766
|
VerificationSession: {
|
|
5098
5767
|
/**
|
|
@@ -5111,6 +5780,8 @@ export interface components {
|
|
|
5111
5780
|
* @description Set by the Verification Client once the claimant opens the link.
|
|
5112
5781
|
*/
|
|
5113
5782
|
claimantClientId?: string | null;
|
|
5783
|
+
/** @description The Verification Client build that served this session, read from the `reclaim-api-client` header it reported at bootstrap. Absent until a client has identified itself, and for clients that send no such header. Self-asserted, so treat it as diagnostic: it answers "which build was this?" and never authenticates anything. */
|
|
5784
|
+
clientVersion?: string;
|
|
5114
5785
|
claimantDetails?: components["schemas"]["ClaimantDetails"];
|
|
5115
5786
|
claimantDetailsUpdatedAt?: components["schemas"]["Timestamp"];
|
|
5116
5787
|
/** @description Theme selected and snapshotted when this session was created. */
|
|
@@ -5123,7 +5794,11 @@ export interface components {
|
|
|
5123
5794
|
teeNonceBoundAt?: components["schemas"]["Timestamp"];
|
|
5124
5795
|
/** @description Legacy-only preference echoed for compatibility. Builder-mode clients run the structured recipe and do not enable AI or manual verification. */
|
|
5125
5796
|
preferAiAgent?: boolean;
|
|
5126
|
-
/** @description
|
|
5797
|
+
/** @description Whether this session was created with diagnostic mode enabled (see CreateVerificationSessionRequest.diagnostics). Set once at creation and never changes afterward. Gates whether Builder records claimant IP addresses and how much detail diagnostic events carry; the `diag` parameter on `verificationUrl` mirrors this value and is not itself authoritative. */
|
|
5798
|
+
diagnostics: boolean;
|
|
5799
|
+
/** @description Per-session redirect targets, echoed back unchanged (see CreateVerificationSessionRequest.launchOptions). Absent when never set. */
|
|
5800
|
+
launchOptions?: components["schemas"]["VerificationLaunchOptions"];
|
|
5801
|
+
/** @description Consumer context, validated against the provider version's required parameters. Verification Clients resolve scalar values as `{{context.key}}`, then `{{context_key}}`, then `{{key}}`; explicit parameters win. The Builder injects `reclaimSessionId` after validation. */
|
|
5127
5802
|
context: {
|
|
5128
5803
|
[key: string]: unknown;
|
|
5129
5804
|
};
|
|
@@ -5141,16 +5816,6 @@ export interface components {
|
|
|
5141
5816
|
* @description Id of the registered verification client whose base URL was used (see `verification_clients`).
|
|
5142
5817
|
*/
|
|
5143
5818
|
verificationClientId: string;
|
|
5144
|
-
/**
|
|
5145
|
-
* Format: uri
|
|
5146
|
-
* @description Registered JWS issuer for this session. Consumers compare the signed result's `iss` with this value.
|
|
5147
|
-
*/
|
|
5148
|
-
verificationClientIssuer: string;
|
|
5149
|
-
/**
|
|
5150
|
-
* Format: uri
|
|
5151
|
-
* @description Registered JWKS URL for this session's Verification Client. Use this trusted value instead of constructing a URL from result data.
|
|
5152
|
-
*/
|
|
5153
|
-
verificationClientJwksUrl: string;
|
|
5154
5819
|
/** @description Ready-to-share URL: the registered base URL with the session id attached by the Builder — substituted into a `{sessionId}` placeholder, or appended as a `?sessionId=…` query parameter. It always includes `api=2`, which selects Builder mode in dual-mode Verification Clients. The Consumer may append its own redirect query fields before opening the URL for the claimant; the Builder does not store or execute those redirects. */
|
|
5155
5820
|
verificationUrl: string;
|
|
5156
5821
|
createdAt: components["schemas"]["Timestamp"];
|
|
@@ -5176,13 +5841,13 @@ export interface components {
|
|
|
5176
5841
|
};
|
|
5177
5842
|
/** @description Body for `POST /verifications/sessions`. Authenticated by the consumer's `OrgToken`. Carries no callback URLs — they come from the org's callback subscriptions. The one shared `context` is validated against every provider's `requiredContext`. */
|
|
5178
5843
|
CreateVerificationSessionRequest: {
|
|
5179
|
-
/** @description Providers to verify, in run order. The Verification Client runs each sequentially in one browser session and submits one combined result; all are required. */
|
|
5844
|
+
/** @description Providers to verify, in run order. The Verification Client runs each sequentially in one browser session and submits one combined result; all are required. Provider version constraints are resolved only while this request is created; clients receive the exact immutable resolved versions and never resolve them again. */
|
|
5180
5845
|
providers: components["schemas"]["SessionProviderInput"][];
|
|
5181
|
-
/** @description Consumer context, shared by all providers. Validated against EACH resolved provider version's `requiredContext` JSON Schema (a 400 is returned on mismatch); extra fields are always allowed. Recipe requests
|
|
5846
|
+
/** @description Consumer context, shared by all providers. Validated against EACH resolved provider version's `requiredContext` JSON Schema (a 400 is returned on mismatch); extra fields are always allowed. Recipe requests resolve scalar values as `{{context.key}}`, then `{{context_key}}`, then `{{key}}`. A lower-priority alias is used only when the recipe doesn't use a higher-priority spelling; an explicit parameter takes precedence. Echoed back (plus `reclaimSessionId`) in the result. Builder-owned `reclaimSessionId` and `attestationNonce` remain context-only. */
|
|
5182
5847
|
context: {
|
|
5183
5848
|
[key: string]: unknown;
|
|
5184
5849
|
};
|
|
5185
|
-
/** @description Optional. Must exactly equal the base URL of a registered verification client (see the `verification_clients` registry / `/admin/verification-clients`). Omit to use the default (`
|
|
5850
|
+
/** @description Optional. Must exactly equal the base URL of a registered verification client (see the `verification_clients` registry / `/admin/verification-clients`). Omit to use the default (`portals`) client. The Builder resolves and stores the registered client UUID, then returns the ready-to-share `verificationUrl` with the session id and `api=2`. A URL that is not a registered client's base is rejected with 400. Consumers append any client-owned redirect parameters after receiving the URL; Builder does not manage them. */
|
|
5186
5851
|
verificationClientUrl?: string;
|
|
5187
5852
|
/** @description Optional active theme owned by the organization. When omitted, Builder snapshots the organization's most recently updated active theme. If the organization has no active theme, the Verification Client uses its default presentation. */
|
|
5188
5853
|
themeId?: components["schemas"]["ThemeID"];
|
|
@@ -5190,6 +5855,37 @@ export interface components {
|
|
|
5190
5855
|
preferredLocale?: string;
|
|
5191
5856
|
/** @description Legacy-only preference. Builder mode runs the structured recipe and does not enable AI or manual verification. Omit this field for Builder-mode sessions; dual-mode clients may continue to interpret it only on their legacy path. */
|
|
5192
5857
|
preferAiAgent?: boolean;
|
|
5858
|
+
/** @description Optional; omit or send false for a normal session. Opts this session into diagnostic mode. A diagnostic session records more event detail, including personal data such as the claimant's IP addresses (see ClaimantDetails.network). Builder appends `diag=1` to the returned `verificationUrl` for a diagnostic session and strips any `diag` value the Consumer's own `verificationClientUrl` carries, so this field — not the URL — is the only way to turn diagnostics on. Treat a diagnostic verification URL as sensitive, and don't hand it to a claimant by default. */
|
|
5859
|
+
diagnostics?: boolean;
|
|
5860
|
+
/** @description Optional. Where a Verification Client sends the claimant's browser at the end of this session's flow — see VerificationLaunchOptions. Builder validates and stores this at creation (rejecting a non-`https:` URL with 400 here, rather than storing it and failing later); it never reads, redirects to, or executes it itself. A Verification Client reads it back off the session (verificationUrl.launchOptions, or BootstrapVerificationClient.session.launchOptions) and performs the redirect itself, exactly as `reclaim-js-sdk` and the portal already do for a query-string `redirectUrl` today — this is the same feature, sourced from the session instead of the URL. */
|
|
5861
|
+
launchOptions?: components["schemas"]["VerificationLaunchOptions"];
|
|
5862
|
+
};
|
|
5863
|
+
/** @description Where a Verification Client sends the claimant's browser at the end of a flow. Builder stores these on the session and returns them unchanged (see VerificationSession.launchOptions / BootstrapVerificationClient) — it never reads them itself, never redirects a claimant to them, and never executes them; only the Verification Client that renders the flow does. Vocabulary matches `reclaim-js-sdk`'s `VerificationRequest` and `reclaim-portal`'s `parseVerificationLaunch`: `redirectUrl`/`redirectUrlOptions` on success, `cancelRedirectUrl`/`cancelRedirectUrlOptions` on cancellation. `https:` only — `javascript:`, `data:`, and any other scheme are rejected with 400 at session creation. */
|
|
5864
|
+
VerificationLaunchOptions: {
|
|
5865
|
+
/**
|
|
5866
|
+
* Format: uri
|
|
5867
|
+
* @description Where to send the claimant after a successful verification.
|
|
5868
|
+
*/
|
|
5869
|
+
redirectUrl?: string;
|
|
5870
|
+
/** @description How to perform `redirectUrl`'s redirect. */
|
|
5871
|
+
redirectUrlOptions?: components["schemas"]["VerificationLaunchRedirectOptions"];
|
|
5872
|
+
/**
|
|
5873
|
+
* Format: uri
|
|
5874
|
+
* @description Where to send the claimant after a cancelled verification.
|
|
5875
|
+
*/
|
|
5876
|
+
cancelRedirectUrl?: string;
|
|
5877
|
+
/** @description How to perform `cancelRedirectUrl`'s redirect. */
|
|
5878
|
+
cancelRedirectUrlOptions?: components["schemas"]["VerificationLaunchRedirectOptions"];
|
|
5879
|
+
};
|
|
5880
|
+
/** @description How a Verification Client performs a launch-options redirect — a plain GET (default) or a form POST/GET carrying extra fields. Matches `reclaim-portal`'s `HttpRedirectionOptions`. */
|
|
5881
|
+
VerificationLaunchRedirectOptions: {
|
|
5882
|
+
/** @enum {string} */
|
|
5883
|
+
method?: "GET" | "POST";
|
|
5884
|
+
body?: components["schemas"]["VerificationLaunchRedirectFormEntry"][];
|
|
5885
|
+
};
|
|
5886
|
+
VerificationLaunchRedirectFormEntry: {
|
|
5887
|
+
name: string;
|
|
5888
|
+
value: string;
|
|
5193
5889
|
};
|
|
5194
5890
|
/** @description Exact legacy TEE nonce inputs. Builder stores this unchanged in the session context after it verifies the signed binding request. */
|
|
5195
5891
|
AttestationNonceData: {
|
|
@@ -5212,8 +5908,8 @@ export interface components {
|
|
|
5212
5908
|
/** @description EIP-191 65-byte secp256k1 signature, encoded as 0x-prefixed hex. */
|
|
5213
5909
|
signature: string;
|
|
5214
5910
|
};
|
|
5215
|
-
/** @description
|
|
5216
|
-
|
|
5911
|
+
/** @description Client-reported claimant and device snapshot. Values are best-effort and never participate in proof verification. Operating-system details are retained in normal mode; only the network object requires diagnostics. Server-observed values are added by Builder and cannot be supplied by the claimant. */
|
|
5912
|
+
ClaimantDetailsRequest: {
|
|
5217
5913
|
/**
|
|
5218
5914
|
* Format: uuid
|
|
5219
5915
|
* @description Verification Client installation identifier. The Builder also stores it in the session's dedicated claimantClientId field.
|
|
@@ -5228,16 +5924,55 @@ export interface components {
|
|
|
5228
5924
|
[key: string]: unknown;
|
|
5229
5925
|
};
|
|
5230
5926
|
device?: {
|
|
5927
|
+
/** @enum {string} */
|
|
5928
|
+
category?: "desktop" | "mobile" | "tablet" | "unknown";
|
|
5929
|
+
} & {
|
|
5231
5930
|
[key: string]: unknown;
|
|
5232
5931
|
};
|
|
5233
5932
|
operatingSystem?: {
|
|
5234
5933
|
[key: string]: unknown;
|
|
5235
5934
|
};
|
|
5236
|
-
browser?:
|
|
5935
|
+
browser?: components["schemas"]["ClaimantBrowser"];
|
|
5936
|
+
viewport?: components["schemas"]["ClaimantDimensions"];
|
|
5937
|
+
display?: components["schemas"]["ClaimantDimensions"];
|
|
5938
|
+
/** @description The claimant's own IP address, self-reported. Builder stores it only when the session's `diagnostics` field is true; it drops this object otherwise, regardless of what a Verification Client sends. */
|
|
5939
|
+
network?: {
|
|
5940
|
+
reportedPublicIp?: string;
|
|
5941
|
+
};
|
|
5942
|
+
metadata?: {
|
|
5943
|
+
[key: string]: unknown;
|
|
5944
|
+
};
|
|
5945
|
+
};
|
|
5946
|
+
/** @description Latest claimant and device snapshot populated by Builder. Values are best-effort and never participate in proof verification. Operating-system details are available in normal mode; network details require diagnostics. */
|
|
5947
|
+
ClaimantDetails: {
|
|
5948
|
+
/**
|
|
5949
|
+
* Format: uuid
|
|
5950
|
+
* @description Verification Client installation identifier. The Builder also stores it in the session's dedicated claimantClientId field.
|
|
5951
|
+
*/
|
|
5952
|
+
claimantClientId: string;
|
|
5953
|
+
claimantId?: string;
|
|
5954
|
+
collectedAt?: components["schemas"]["Timestamp"];
|
|
5955
|
+
apiClient?: string;
|
|
5956
|
+
locale?: string;
|
|
5957
|
+
httpUserAgent?: string;
|
|
5958
|
+
/** @description Claimant country from Builder's trusted CDN country header, when available. */
|
|
5959
|
+
countryCode?: string;
|
|
5960
|
+
client?: {
|
|
5961
|
+
[key: string]: unknown;
|
|
5962
|
+
};
|
|
5963
|
+
device?: {
|
|
5964
|
+
/** @enum {string} */
|
|
5965
|
+
category?: "desktop" | "mobile" | "tablet" | "unknown";
|
|
5966
|
+
} & {
|
|
5967
|
+
[key: string]: unknown;
|
|
5968
|
+
};
|
|
5969
|
+
operatingSystem?: {
|
|
5237
5970
|
[key: string]: unknown;
|
|
5238
5971
|
};
|
|
5972
|
+
browser?: components["schemas"]["ClaimantBrowser"];
|
|
5239
5973
|
viewport?: components["schemas"]["ClaimantDimensions"];
|
|
5240
5974
|
display?: components["schemas"]["ClaimantDimensions"];
|
|
5975
|
+
/** @description The claimant's IP addresses: `reportedPublicIp` as the Verification Client observed it, `serverObservedIp` as Builder's own request peer address. Present only when the session's `diagnostics` field is true; a non-diagnostic session never carries this object, even if a Verification Client sent one. */
|
|
5241
5976
|
network?: {
|
|
5242
5977
|
reportedPublicIp?: string;
|
|
5243
5978
|
serverObservedIp?: string;
|
|
@@ -5246,13 +5981,39 @@ export interface components {
|
|
|
5246
5981
|
[key: string]: unknown;
|
|
5247
5982
|
};
|
|
5248
5983
|
};
|
|
5984
|
+
ClaimantBrowser: {
|
|
5985
|
+
name?: string;
|
|
5986
|
+
version?: string;
|
|
5987
|
+
userAgent?: string;
|
|
5988
|
+
userAgentData?: components["schemas"]["ClaimantUserAgentData"];
|
|
5989
|
+
} & {
|
|
5990
|
+
[key: string]: unknown;
|
|
5991
|
+
};
|
|
5992
|
+
/** @description Best-effort User-Agent Client Hints returned by the claimant browser. Browsers can omit or reduce any value for privacy or compatibility. */
|
|
5993
|
+
ClaimantUserAgentData: {
|
|
5994
|
+
architecture?: string;
|
|
5995
|
+
bitness?: string;
|
|
5996
|
+
brands?: components["schemas"]["UserAgentBrandVersion"][];
|
|
5997
|
+
formFactors?: string[];
|
|
5998
|
+
fullVersionList?: components["schemas"]["UserAgentBrandVersion"][];
|
|
5999
|
+
mobile?: boolean;
|
|
6000
|
+
model?: string;
|
|
6001
|
+
platform?: string;
|
|
6002
|
+
platformVersion?: string;
|
|
6003
|
+
uaFullVersion?: string;
|
|
6004
|
+
wow64?: boolean;
|
|
6005
|
+
};
|
|
6006
|
+
UserAgentBrandVersion: {
|
|
6007
|
+
brand: string;
|
|
6008
|
+
version: string;
|
|
6009
|
+
};
|
|
5249
6010
|
ClaimantDimensions: {
|
|
5250
6011
|
width: number;
|
|
5251
6012
|
height: number;
|
|
5252
6013
|
/** @enum {string} */
|
|
5253
6014
|
unit: "css-px" | "logical-px" | "physical-px";
|
|
5254
6015
|
};
|
|
5255
|
-
PatchVerificationClaimantRequest: components["schemas"]["
|
|
6016
|
+
PatchVerificationClaimantRequest: components["schemas"]["ClaimantDetailsRequest"];
|
|
5256
6017
|
/** @description Body for `POST /verifications/sessions/{sessionId}/events`. Status ping only — never carries the proof (use the result endpoint for that). */
|
|
5257
6018
|
ReportEventRequest: {
|
|
5258
6019
|
event: components["schemas"]["VerificationEvent"];
|
|
@@ -5283,7 +6044,7 @@ export interface components {
|
|
|
5283
6044
|
receivedAt: components["schemas"]["Timestamp"];
|
|
5284
6045
|
createdAt: components["schemas"]["Timestamp"];
|
|
5285
6046
|
};
|
|
5286
|
-
/** @description RFC 7515 JWS in General (or Flattened) JSON serialization. The signed verification result produced by
|
|
6047
|
+
/** @description RFC 7515 JWS in General (or Flattened) JSON serialization. The signed verification result produced by Builder — this is what the `data` field of a `VerificationResultDelivery` decrypts to. Signed ES256K (RFC 8812) over SHA-256 of `<protected>.<payload>`. Verify it with Builder's issuer and JWKS URL; never derive a JWKS URL from JWS data. Its decoded payload is `VerificationResultPayload`. */
|
|
5287
6048
|
Jws: {
|
|
5288
6049
|
/** @description base64url-encoded JSON payload. */
|
|
5289
6050
|
payload: string;
|
|
@@ -5307,8 +6068,30 @@ export interface components {
|
|
|
5307
6068
|
/** @description Payload interpreted per `event`. Terminal result events: the signed result — an **ECIES ciphertext** (base64url, secp256k1 + AES-256-GCM) wrapping the signed JWS when the org's `canEncryptResult` is enabled (decrypt with the matching eth private key to recover the inner JWS), else the JWS directly; the inner JWS parses as the `Jws` schema with payload `VerificationResultPayload`. Non-terminal events: plaintext JSON `{ event, eventData }` (unsigned). */
|
|
5308
6069
|
data: string;
|
|
5309
6070
|
};
|
|
5310
|
-
/** @description
|
|
5311
|
-
|
|
6071
|
+
/** @description A claimant-facing Verification Client's terminal result. Proofs retain the exact `Proof` shape; Builder signs only the outer result. */
|
|
6072
|
+
SubmitVerificationClientResultRequest: {
|
|
6073
|
+
/** @enum {string} */
|
|
6074
|
+
status: "success" | "rejected" | "error" | "cancelled";
|
|
6075
|
+
results: components["schemas"]["VerificationClientProviderResult"][];
|
|
6076
|
+
problem?: components["schemas"]["Problem"] | null;
|
|
6077
|
+
};
|
|
6078
|
+
VerificationClientProviderResult: {
|
|
6079
|
+
providerId: components["schemas"]["ProviderID"];
|
|
6080
|
+
resolvedVersion: string;
|
|
6081
|
+
requests: components["schemas"]["VerificationClientRequestResult"][];
|
|
6082
|
+
};
|
|
6083
|
+
VerificationClientRequestResult: {
|
|
6084
|
+
requestId?: string;
|
|
6085
|
+
url?: string;
|
|
6086
|
+
/** @enum {string} */
|
|
6087
|
+
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
6088
|
+
proof: components["schemas"]["ReclaimRequestProof"];
|
|
6089
|
+
extractedParameters?: {
|
|
6090
|
+
[key: string]: unknown;
|
|
6091
|
+
};
|
|
6092
|
+
};
|
|
6093
|
+
/** @description Exact `Proof` object for one verified request within a provider, emitted by every Reclaim Verification Client — the in-app SDK, the browser extension, portals, and Builder's own client. The Verification Client must preserve this object without renaming, wrapping, or dropping fields. Consumers pass it directly to `@reclaimprotocol/client` `verifyRequestProof`, normally through `verifyResultFull`. Do not trust any proof field until verification succeeds. */
|
|
6094
|
+
ReclaimRequestProof: {
|
|
5312
6095
|
identifier: string;
|
|
5313
6096
|
claimData: {
|
|
5314
6097
|
provider: string;
|
|
@@ -5322,30 +6105,36 @@ export interface components {
|
|
|
5322
6105
|
epoch: number;
|
|
5323
6106
|
};
|
|
5324
6107
|
signatures: string[];
|
|
5325
|
-
witnesses:
|
|
6108
|
+
witnesses: {
|
|
5326
6109
|
id: string;
|
|
5327
6110
|
url: string;
|
|
6111
|
+
/** @description How this witness attested the claim. Every verification client emits the same envelope so consumers branch on `type` rather than on which client produced the proof. The attestor address and claim signature are always present and always checked; `type` selects what extra evidence, if any, comes with them. */
|
|
5328
6112
|
claimAttestation?: {
|
|
5329
|
-
|
|
6113
|
+
/**
|
|
6114
|
+
* @description `embedded-attestor` — the in-app SDK and the browser extension, whose attestor signs the claim and may return its own `attestation_report`. `confidential-space` — portals, whose browser runtime signs inside a GCP Confidential Space and returns `tee_attestation`. Every client sets this explicitly.
|
|
6115
|
+
* @enum {string}
|
|
6116
|
+
*/
|
|
6117
|
+
type: "embedded-attestor" | "confidential-space";
|
|
6118
|
+
attestor_address: string;
|
|
6119
|
+
claim_signature: string;
|
|
6120
|
+
/** @description `embedded-attestor` only, and optional even then: the attestor's own Confidential Space attestation as an RS256 JWT. Attestors in production sign claims without returning one. */
|
|
6121
|
+
attestation_report?: string;
|
|
6122
|
+
/** @description `confidential-space` only: the runtime's TEE attestation, the same payload legacy proofs carry in the proof's top-level `teeAttestation`. Bound to the claim through `context.attestationNonce`. Preserve it exactly. */
|
|
6123
|
+
tee_attestation?: unknown;
|
|
5330
6124
|
};
|
|
5331
|
-
}
|
|
5332
|
-
|
|
5333
|
-
})[];
|
|
5334
|
-
/** @description Extraction values carried by the proof. Consumers trust only the values returned by `verifyProof` after successful verification. */
|
|
6125
|
+
}[];
|
|
6126
|
+
/** @description Extraction values carried by the proof. Consumers trust only the values returned by `verifyRequestProof` after successful verification. */
|
|
5335
6127
|
extractedParameterValues: unknown;
|
|
5336
6128
|
/** @description Provider-supplied data. This field isn't verified. */
|
|
5337
6129
|
publicData?: unknown;
|
|
5338
6130
|
/** Format: int64 */
|
|
5339
6131
|
taskId?: number;
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
};
|
|
5343
|
-
} & {
|
|
5344
|
-
[key: string]: unknown;
|
|
6132
|
+
/** @description Legacy TEE attestation payload. Clients preserve this value exactly; historical proofs may encode it as an object or a JSON string. */
|
|
6133
|
+
teeAttestation?: unknown;
|
|
5345
6134
|
};
|
|
5346
|
-
/** @description The decoded payload of a signature-verified delivered result (the JWS itself is the `Jws` schema, signed ES256K by
|
|
6135
|
+
/** @description The decoded payload of a signature-verified delivered result (the JWS itself is the `Jws` schema, signed ES256K by Builder's key). Consumers must compare `iss` with their configured Builder origin and fetch the key from that origin's `/.well-known/jwks.json`; never derive a network destination from signed payload data. Consumers must also check `reclaimSessionId` against the session they created and `verification_session.status` for the outcome. `results` is present on success; `problem` (RFC 9457 shape) is set when the run failed. */
|
|
5347
6136
|
VerificationResultPayload: {
|
|
5348
|
-
/** @description
|
|
6137
|
+
/** @description Builder issuer URL. Compare this with the configured Builder origin. */
|
|
5349
6138
|
iss: string;
|
|
5350
6139
|
/** @description The session id (same as `reclaimSessionId`). */
|
|
5351
6140
|
sub: string;
|
|
@@ -5362,10 +6151,10 @@ export interface components {
|
|
|
5362
6151
|
reclaimSessionId: components["schemas"]["SessionID"];
|
|
5363
6152
|
verification_session: {
|
|
5364
6153
|
/** @enum {string} */
|
|
5365
|
-
status: "success" | "rejected" | "error";
|
|
6154
|
+
status: "success" | "rejected" | "error" | "cancelled";
|
|
5366
6155
|
/**
|
|
5367
6156
|
* Format: uuid
|
|
5368
|
-
* @description Registered Verification Client that
|
|
6157
|
+
* @description Registered claimant-facing Verification Client that produced the proofs. Builder signs the result.
|
|
5369
6158
|
*/
|
|
5370
6159
|
verification_client_id: string;
|
|
5371
6160
|
/** @description The providers verified in this session, in run order. */
|
|
@@ -5392,7 +6181,7 @@ export interface components {
|
|
|
5392
6181
|
request_id?: string;
|
|
5393
6182
|
url?: string;
|
|
5394
6183
|
method?: string;
|
|
5395
|
-
/** @description Signed-envelope diagnostic copy. Don't trust this copy; use the data returned by `
|
|
6184
|
+
/** @description Signed-envelope diagnostic copy. Don't trust this copy; use the data returned by `verifyRequestProof`. */
|
|
5396
6185
|
extracted_parameters?: {
|
|
5397
6186
|
[key: string]: unknown;
|
|
5398
6187
|
};
|
|
@@ -5400,7 +6189,7 @@ export interface components {
|
|
|
5400
6189
|
content_hash?: string;
|
|
5401
6190
|
identifier?: string;
|
|
5402
6191
|
owner?: string;
|
|
5403
|
-
proof: components["schemas"]["
|
|
6192
|
+
proof: components["schemas"]["ReclaimRequestProof"];
|
|
5404
6193
|
} & {
|
|
5405
6194
|
[key: string]: unknown;
|
|
5406
6195
|
})[];
|
|
@@ -5414,24 +6203,6 @@ export interface components {
|
|
|
5414
6203
|
} & {
|
|
5415
6204
|
[key: string]: unknown;
|
|
5416
6205
|
};
|
|
5417
|
-
/** @description A callback subscription's delivery key, returned to the Verification Client. When `publicKeyJwk` is present the VC ECIES-encrypts the result for that org (its `canEncryptResult` is enabled); when absent the VC submits the plaintext signed JWS. */
|
|
5418
|
-
CallbackKey: {
|
|
5419
|
-
/** Format: uuid */
|
|
5420
|
-
subscriptionId: string;
|
|
5421
|
-
/** @description The org's secp256k1 (eth) public JWK to ECIES-encrypt the result to. Absent ⇒ deliver plaintext. */
|
|
5422
|
-
publicKeyJwk?: components["schemas"]["JwkSecp256k1Public"];
|
|
5423
|
-
};
|
|
5424
|
-
/** @description One result payload for one callback subscription. The Verification Client signs the JWS and, when the org's `canEncryptResult` is enabled, ECIES-encrypts it to the org's eth public key; otherwise it submits the plaintext JWS. Either way the payload is carried in `payload` and the Builder stores + delivers it as a blind relay. */
|
|
5425
|
-
CallbackDelivery: {
|
|
5426
|
-
/** Format: uuid */
|
|
5427
|
-
subscriptionId: string;
|
|
5428
|
-
/** @description The signed result payload, as raw text — an ECIES ciphertext (base64url) when the org's `canEncryptResult` is enabled, otherwise the plaintext JWS JSON. Same raw form the callback envelope's `data` carries. */
|
|
5429
|
-
payload: string;
|
|
5430
|
-
};
|
|
5431
|
-
/** @description Body for `POST /verifications/sessions/{sessionId}/result`. The Verification Client signs the JWS, encrypts it per callback subscription (keys fetched from the callback-keys endpoint), and submits one ciphertext per subscription. The Builder stores + delivers them; it never sees the plaintext result. */
|
|
5432
|
-
SubmitVerificationResultRequest: {
|
|
5433
|
-
deliveries: components["schemas"]["CallbackDelivery"][];
|
|
5434
|
-
};
|
|
5435
6206
|
/** @description Diagnostic state of one callback delivery (one per subscription × terminal event). Never carries the payload — use `GetVerificationResult` to pull the stored ciphertext. */
|
|
5436
6207
|
VerificationDelivery: {
|
|
5437
6208
|
subscriptionId: components["schemas"]["SubscriptionID"];
|
|
@@ -5512,6 +6283,8 @@ export interface components {
|
|
|
5512
6283
|
};
|
|
5513
6284
|
};
|
|
5514
6285
|
parameters: {
|
|
6286
|
+
/** @description Stable feature flag key. */
|
|
6287
|
+
FeatureFlagKey: string;
|
|
5515
6288
|
/** @description Exact canonical provider version, for example `1.4.2` or `1.4.3-fixed.1`. A prerelease build never falls back to another row. */
|
|
5516
6289
|
ProviderVersionPath: string;
|
|
5517
6290
|
/**
|
|
@@ -5810,14 +6583,8 @@ export interface operations {
|
|
|
5810
6583
|
SiteBuild: {
|
|
5811
6584
|
parameters: {
|
|
5812
6585
|
query?: {
|
|
5813
|
-
/** @description Selected data-point names. Repeat to pass several.
|
|
6586
|
+
/** @description Selected data-point names. Repeat to pass several. Without any, the page redirects back to the site page to pick some. */
|
|
5814
6587
|
dataPoints?: string[];
|
|
5815
|
-
/** @description When set, auto-opens the "Try with AI" dialog on load (the "Build it with AI" entry from the explore page). */
|
|
5816
|
-
ai?: string;
|
|
5817
|
-
/** @description Provider id that an AI authoring run just built and proved. Renders the build page in its "already built and verified" state — the provider and its data points instead of another Try. Ignored unless it names a provider the viewer can see on this domain with a live trunk version. */
|
|
5818
|
-
aiBuilt?: components["schemas"]["ProviderID"];
|
|
5819
|
-
/** @description A specific missing data point to seed the AI prompt with. */
|
|
5820
|
-
dataPoint?: string;
|
|
5821
6588
|
mode?: components["schemas"]["ResolveMode"];
|
|
5822
6589
|
/** @description Source pins: `pins[<dataPoint>]=<providerId>`. Pins the provider that must prove that data point; a pinned provider is taken first and is never pruned. Omit (or send empty) for Auto. A comma-separated list is also accepted — the first id that covers the point wins. */
|
|
5823
6590
|
pins?: {
|
|
@@ -5986,106 +6753,47 @@ export interface operations {
|
|
|
5986
6753
|
default: components["responses"]["ProblemResponse"];
|
|
5987
6754
|
};
|
|
5988
6755
|
};
|
|
5989
|
-
|
|
6756
|
+
DiscoverTeachAgent: {
|
|
5990
6757
|
parameters: {
|
|
5991
6758
|
query?: {
|
|
5992
|
-
/** @description
|
|
6759
|
+
/** @description Website the user wanted to verify data from. */
|
|
6760
|
+
domain?: string;
|
|
6761
|
+
/** @description Specific data point the user could not find. */
|
|
5993
6762
|
dataPoint?: string;
|
|
5994
|
-
/** @description A failed sandbox session whose error seeds the prompt. */
|
|
5995
|
-
sessionId?: components["schemas"]["SessionID"];
|
|
5996
|
-
/** @description A provider to version (when owned + editable) instead of creating one. */
|
|
5997
|
-
fromProviderId?: components["schemas"]["ProviderID"];
|
|
5998
|
-
dataPoints?: string[];
|
|
5999
|
-
mode?: components["schemas"]["ResolveMode"];
|
|
6000
|
-
provided?: string[];
|
|
6001
|
-
/** @description Source pins: `pins[<dataPoint>]=<providerId>`. Pins the provider that must prove that data point; a pinned provider is taken first and is never pruned. Omit (or send empty) for Auto. A comma-separated list is also accepted — the first id that covers the point wins. */
|
|
6002
|
-
pins?: {
|
|
6003
|
-
[key: string]: string;
|
|
6004
|
-
};
|
|
6005
|
-
exclude?: components["schemas"]["ProviderID"][];
|
|
6006
6763
|
};
|
|
6007
6764
|
header?: never;
|
|
6008
|
-
path
|
|
6009
|
-
domain: string;
|
|
6010
|
-
};
|
|
6765
|
+
path?: never;
|
|
6011
6766
|
cookie?: never;
|
|
6012
6767
|
};
|
|
6013
|
-
|
|
6014
|
-
requestBody?: {
|
|
6015
|
-
content: {
|
|
6016
|
-
"application/x-www-form-urlencoded": components["schemas"]["SiteAiProviderBody"];
|
|
6017
|
-
"application/json": components["schemas"]["SiteAiProviderBody"];
|
|
6018
|
-
};
|
|
6019
|
-
};
|
|
6768
|
+
requestBody?: never;
|
|
6020
6769
|
responses: {
|
|
6021
|
-
|
|
6022
|
-
200: {
|
|
6023
|
-
headers: {
|
|
6024
|
-
[name: string]: unknown;
|
|
6025
|
-
};
|
|
6026
|
-
content: {
|
|
6027
|
-
"text/html": components["schemas"]["HtmlContent"];
|
|
6028
|
-
};
|
|
6029
|
-
};
|
|
6770
|
+
200: components["responses"]["HTMLResponse"];
|
|
6030
6771
|
default: components["responses"]["ProblemResponse"];
|
|
6031
6772
|
};
|
|
6032
6773
|
};
|
|
6033
|
-
|
|
6774
|
+
DiscoverAgentWizard: {
|
|
6034
6775
|
parameters: {
|
|
6035
|
-
query
|
|
6036
|
-
/** @description The AI provider to try. */
|
|
6037
|
-
providerId: components["schemas"]["ProviderID"];
|
|
6038
|
-
/** @description Which owned organization the sandbox session runs under (defaults to the member's personal organization, or their first owned org). Must own the provider. */
|
|
6039
|
-
orgId?: components["schemas"]["OrgID"];
|
|
6040
|
-
};
|
|
6776
|
+
query?: never;
|
|
6041
6777
|
header?: never;
|
|
6042
|
-
path
|
|
6043
|
-
domain: string;
|
|
6044
|
-
};
|
|
6778
|
+
path?: never;
|
|
6045
6779
|
cookie?: never;
|
|
6046
6780
|
};
|
|
6047
|
-
|
|
6048
|
-
requestBody?: {
|
|
6781
|
+
requestBody: {
|
|
6049
6782
|
content: {
|
|
6050
|
-
"application/x-www-form-urlencoded":
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
"application/json": components["schemas"]["VerificationSession"];
|
|
6062
|
-
};
|
|
6063
|
-
};
|
|
6064
|
-
/** @description Sandbox verification quota exceeded. */
|
|
6065
|
-
429: {
|
|
6066
|
-
headers: {
|
|
6067
|
-
[name: string]: unknown;
|
|
6068
|
-
};
|
|
6069
|
-
content: {
|
|
6070
|
-
"application/problem+json": components["schemas"]["Problem"];
|
|
6783
|
+
"application/x-www-form-urlencoded": {
|
|
6784
|
+
/** @description The wizard's ready-to-paste task prompt. */
|
|
6785
|
+
basePrompt: string;
|
|
6786
|
+
/** @description Prefix of the wizard's element ids, so copy targets stay unique. */
|
|
6787
|
+
idPrefix: string;
|
|
6788
|
+
/** @description Picked coding agent; unknown values fall back to the first. */
|
|
6789
|
+
agent?: string;
|
|
6790
|
+
/** @description What the user is building, appended to the prompt. */
|
|
6791
|
+
building?: string;
|
|
6792
|
+
/** @description Label for `building` in the prompt. Defaults to "What I'm building". */
|
|
6793
|
+
lead?: string;
|
|
6071
6794
|
};
|
|
6072
6795
|
};
|
|
6073
|
-
default: components["responses"]["ProblemResponse"];
|
|
6074
|
-
};
|
|
6075
|
-
};
|
|
6076
|
-
DiscoverTeachAgent: {
|
|
6077
|
-
parameters: {
|
|
6078
|
-
query?: {
|
|
6079
|
-
/** @description Website the user wanted to verify data from. */
|
|
6080
|
-
domain?: string;
|
|
6081
|
-
/** @description Specific data point the user could not find. */
|
|
6082
|
-
dataPoint?: string;
|
|
6083
|
-
};
|
|
6084
|
-
header?: never;
|
|
6085
|
-
path?: never;
|
|
6086
|
-
cookie?: never;
|
|
6087
6796
|
};
|
|
6088
|
-
requestBody?: never;
|
|
6089
6797
|
responses: {
|
|
6090
6798
|
200: components["responses"]["HTMLResponse"];
|
|
6091
6799
|
default: components["responses"]["ProblemResponse"];
|
|
@@ -6098,6 +6806,7 @@ export interface operations {
|
|
|
6098
6806
|
domain: string;
|
|
6099
6807
|
/** @description Selected data-point names. Repeat to pass several. */
|
|
6100
6808
|
dataPoints: string[];
|
|
6809
|
+
/** @description Provider-selection strategy. See `ResolveMode`. */
|
|
6101
6810
|
mode?: components["schemas"]["ResolveMode"];
|
|
6102
6811
|
};
|
|
6103
6812
|
header?: never;
|
|
@@ -6250,7 +6959,7 @@ export interface operations {
|
|
|
6250
6959
|
AdminProviders: {
|
|
6251
6960
|
parameters: {
|
|
6252
6961
|
query?: {
|
|
6253
|
-
/** @description Free-text search on title, domain, or
|
|
6962
|
+
/** @description Free-text search on title, domain, slug, or provider id (hyphens optional). */
|
|
6254
6963
|
q?: string;
|
|
6255
6964
|
visibility?: components["schemas"]["EntityVisibility"];
|
|
6256
6965
|
status?: components["schemas"]["EntityStatus"];
|
|
@@ -6325,8 +7034,10 @@ export interface operations {
|
|
|
6325
7034
|
AdminOrgs: {
|
|
6326
7035
|
parameters: {
|
|
6327
7036
|
query?: {
|
|
6328
|
-
/** @description Matches workspace name or any member's email. */
|
|
7037
|
+
/** @description Matches workspace name, organization id (hyphens optional), or any member's email. */
|
|
6329
7038
|
q?: string;
|
|
7039
|
+
/** @description Opaque cursor returned as `nextPageCursor` on a prior response. Pass it back as-is to fetch the next page; omit on the first request. Clients must not parse, modify, or fabricate cursors — the server reserves the encoding. */
|
|
7040
|
+
cursor?: string;
|
|
6330
7041
|
};
|
|
6331
7042
|
header?: never;
|
|
6332
7043
|
path?: never;
|
|
@@ -6356,6 +7067,7 @@ export interface operations {
|
|
|
6356
7067
|
/** Format: date-time */
|
|
6357
7068
|
updatedAt?: string;
|
|
6358
7069
|
}[];
|
|
7070
|
+
nextPageCursor?: string;
|
|
6359
7071
|
};
|
|
6360
7072
|
};
|
|
6361
7073
|
};
|
|
@@ -6365,6 +7077,7 @@ export interface operations {
|
|
|
6365
7077
|
AdminUsers: {
|
|
6366
7078
|
parameters: {
|
|
6367
7079
|
query?: {
|
|
7080
|
+
/** @description Matches email, name, user id, or personal organization id (hyphens optional in ids). */
|
|
6368
7081
|
q?: string;
|
|
6369
7082
|
};
|
|
6370
7083
|
header?: never;
|
|
@@ -6422,19 +7135,25 @@ export interface operations {
|
|
|
6422
7135
|
AdminSessions: {
|
|
6423
7136
|
parameters: {
|
|
6424
7137
|
query?: {
|
|
6425
|
-
/** @description Only return sessions whose id starts with this value
|
|
7138
|
+
/** @description Only return sessions whose id starts with this value, ignoring hyphens and case. Ignored under 5 characters. A full id matches exactly. */
|
|
6426
7139
|
sessionId?: string;
|
|
6427
|
-
/** @description Only return sessions for this exact provider id. */
|
|
7140
|
+
/** @description Only return sessions for this exact provider id (hyphens optional) or slug. */
|
|
6428
7141
|
providerId?: string;
|
|
6429
|
-
/** @description Only return
|
|
7142
|
+
/** @description Only return sessions created through this verification client. Hyphens are optional; an id that matches no client returns nothing. */
|
|
7143
|
+
verificationClientId?: components["schemas"]["VerificationClientIDFilter"];
|
|
7144
|
+
/** @description Only return sessions that ran a provider whose name, domain, slug, or id contains this text (an id matches with or without hyphens). Matches at most 50 providers. */
|
|
7145
|
+
providerSearch?: string;
|
|
7146
|
+
/** @description Only return the session matching this claimant client id (hyphens optional). */
|
|
6430
7147
|
claimantClientId?: string;
|
|
6431
|
-
/** @description Only return sessions belonging to this exact organization id. */
|
|
7148
|
+
/** @description Only return sessions belonging to this exact organization id (hyphens optional). */
|
|
6432
7149
|
orgId?: string;
|
|
6433
7150
|
status?: components["schemas"]["VerificationStatus"];
|
|
6434
7151
|
/** @description Only return sessions created at or after this time (inclusive). */
|
|
6435
7152
|
createdAfter?: string;
|
|
6436
7153
|
/** @description Only return sessions created at or before this time (inclusive). */
|
|
6437
7154
|
createdBefore?: string;
|
|
7155
|
+
/** @description Opaque cursor returned as `nextPageCursor` on a prior response. Pass it back as-is to fetch the next page; omit on the first request. */
|
|
7156
|
+
cursor?: string;
|
|
6438
7157
|
};
|
|
6439
7158
|
header?: never;
|
|
6440
7159
|
path?: never;
|
|
@@ -6451,6 +7170,7 @@ export interface operations {
|
|
|
6451
7170
|
"text/html": components["schemas"]["HtmlContent"];
|
|
6452
7171
|
"application/json": {
|
|
6453
7172
|
items: components["schemas"]["VerificationSession"][];
|
|
7173
|
+
nextPageCursor?: string;
|
|
6454
7174
|
};
|
|
6455
7175
|
};
|
|
6456
7176
|
};
|
|
@@ -6458,6 +7178,45 @@ export interface operations {
|
|
|
6458
7178
|
default: components["responses"]["ProblemResponse"];
|
|
6459
7179
|
};
|
|
6460
7180
|
};
|
|
7181
|
+
AdminAnalytics: {
|
|
7182
|
+
parameters: {
|
|
7183
|
+
query?: {
|
|
7184
|
+
/** @description Restrict every section to this organization. */
|
|
7185
|
+
orgId?: components["schemas"]["OrgIDFilter"];
|
|
7186
|
+
/** @description Only count sessions that ran a provider whose name, domain, slug, or id contains this text (an id matches with or without hyphens). Matches at most 50 providers. Applies to the session and verification sections, not revenue or usage. */
|
|
7187
|
+
providerSearch?: string;
|
|
7188
|
+
/** @description Only count sessions created through this verification client. Applies to the session and verification sections, not revenue or usage. The zkFetch section is left out unless this is the zkfetch client. Hyphens are optional; an id that matches no client returns nothing. */
|
|
7189
|
+
verificationClientId?: components["schemas"]["VerificationClientIDFilter"];
|
|
7190
|
+
/** @description Window start, inclusive. Defaults to 30 days before `to`. */
|
|
7191
|
+
from?: components["schemas"]["DateWindowBound"];
|
|
7192
|
+
/** @description Window end, exclusive. Defaults to now. */
|
|
7193
|
+
to?: components["schemas"]["DateWindowBound"];
|
|
7194
|
+
/** @description Set to `csv` to download one section as a spreadsheet instead of rendering the page. Pair it with `section`. A CSV export returns up to 1000 rows, where the page shows only the leading rows of each ranked section. */
|
|
7195
|
+
format?: "csv";
|
|
7196
|
+
/** @description Which section `format=csv` exports. Each section has its own columns, so one download holds one section. Defaults to `providers`. */
|
|
7197
|
+
section?: "providers" | "revenue" | "usage";
|
|
7198
|
+
};
|
|
7199
|
+
header?: never;
|
|
7200
|
+
path?: never;
|
|
7201
|
+
cookie?: never;
|
|
7202
|
+
};
|
|
7203
|
+
requestBody?: never;
|
|
7204
|
+
responses: {
|
|
7205
|
+
/** @description Ok */
|
|
7206
|
+
200: {
|
|
7207
|
+
headers: {
|
|
7208
|
+
[name: string]: unknown;
|
|
7209
|
+
};
|
|
7210
|
+
content: {
|
|
7211
|
+
"text/html": components["schemas"]["HtmlContent"];
|
|
7212
|
+
"application/json": components["schemas"]["AdminAnalytics"];
|
|
7213
|
+
"text/csv": string;
|
|
7214
|
+
};
|
|
7215
|
+
};
|
|
7216
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
7217
|
+
default: components["responses"]["ProblemResponse"];
|
|
7218
|
+
};
|
|
7219
|
+
};
|
|
6461
7220
|
AdminCallbackDlq: {
|
|
6462
7221
|
parameters: {
|
|
6463
7222
|
query?: never;
|
|
@@ -6486,6 +7245,7 @@ export interface operations {
|
|
|
6486
7245
|
AdminThemes: {
|
|
6487
7246
|
parameters: {
|
|
6488
7247
|
query?: {
|
|
7248
|
+
/** @description Matches theme label, organization name, theme id, or organization id (hyphens optional in ids). */
|
|
6489
7249
|
q?: string;
|
|
6490
7250
|
};
|
|
6491
7251
|
header?: never;
|
|
@@ -6639,9 +7399,9 @@ export interface operations {
|
|
|
6639
7399
|
AdminBillingTransactions: {
|
|
6640
7400
|
parameters: {
|
|
6641
7401
|
query?: {
|
|
6642
|
-
orgId?: components["schemas"]["
|
|
6643
|
-
from?:
|
|
6644
|
-
to?:
|
|
7402
|
+
orgId?: components["schemas"]["OrgIDFilter"];
|
|
7403
|
+
from?: components["schemas"]["DateWindowBound"];
|
|
7404
|
+
to?: components["schemas"]["DateWindowBound"];
|
|
6645
7405
|
limit?: number;
|
|
6646
7406
|
offset?: number;
|
|
6647
7407
|
};
|
|
@@ -6968,7 +7728,7 @@ export interface operations {
|
|
|
6968
7728
|
default: components["responses"]["ProblemResponse"];
|
|
6969
7729
|
};
|
|
6970
7730
|
};
|
|
6971
|
-
|
|
7731
|
+
AdminFeatureFlags: {
|
|
6972
7732
|
parameters: {
|
|
6973
7733
|
query?: never;
|
|
6974
7734
|
header?: never;
|
|
@@ -6977,7 +7737,7 @@ export interface operations {
|
|
|
6977
7737
|
};
|
|
6978
7738
|
requestBody?: never;
|
|
6979
7739
|
responses: {
|
|
6980
|
-
/** @description
|
|
7740
|
+
/** @description Current feature flags */
|
|
6981
7741
|
200: {
|
|
6982
7742
|
headers: {
|
|
6983
7743
|
[name: string]: unknown;
|
|
@@ -6985,7 +7745,7 @@ export interface operations {
|
|
|
6985
7745
|
content: {
|
|
6986
7746
|
"text/html": string;
|
|
6987
7747
|
"application/json": {
|
|
6988
|
-
items: components["schemas"]["
|
|
7748
|
+
items: components["schemas"]["VerificationFeatureFlag"][];
|
|
6989
7749
|
};
|
|
6990
7750
|
};
|
|
6991
7751
|
};
|
|
@@ -6993,7 +7753,7 @@ export interface operations {
|
|
|
6993
7753
|
default: components["responses"]["ProblemResponse"];
|
|
6994
7754
|
};
|
|
6995
7755
|
};
|
|
6996
|
-
|
|
7756
|
+
CreateFeatureFlag: {
|
|
6997
7757
|
parameters: {
|
|
6998
7758
|
query?: never;
|
|
6999
7759
|
header?: never;
|
|
@@ -7002,97 +7762,125 @@ export interface operations {
|
|
|
7002
7762
|
};
|
|
7003
7763
|
requestBody: {
|
|
7004
7764
|
content: {
|
|
7005
|
-
"application/json": components["schemas"]["
|
|
7006
|
-
"application/x-www-form-urlencoded": components["schemas"]["CreateVerificationClientRequest"];
|
|
7765
|
+
"application/json": components["schemas"]["CreateVerificationFeatureFlagRequest"];
|
|
7007
7766
|
};
|
|
7008
7767
|
};
|
|
7009
7768
|
responses: {
|
|
7010
|
-
/** @description
|
|
7769
|
+
/** @description Feature flag created */
|
|
7011
7770
|
201: {
|
|
7012
7771
|
headers: {
|
|
7013
7772
|
[name: string]: unknown;
|
|
7014
7773
|
};
|
|
7015
7774
|
content: {
|
|
7016
|
-
"application/json": components["schemas"]["
|
|
7775
|
+
"application/json": components["schemas"]["VerificationFeatureFlag"];
|
|
7017
7776
|
};
|
|
7018
7777
|
};
|
|
7778
|
+
400: components["responses"]["ProblemResponse"];
|
|
7019
7779
|
403: components["responses"]["ForbiddenResponse"];
|
|
7020
7780
|
409: components["responses"]["ProblemResponse"];
|
|
7021
7781
|
default: components["responses"]["ProblemResponse"];
|
|
7022
7782
|
};
|
|
7023
7783
|
};
|
|
7024
|
-
|
|
7784
|
+
UpdateFeatureFlag: {
|
|
7025
7785
|
parameters: {
|
|
7026
7786
|
query?: never;
|
|
7027
7787
|
header?: never;
|
|
7028
7788
|
path: {
|
|
7029
|
-
|
|
7789
|
+
/** @description Stable feature flag key. */
|
|
7790
|
+
flagKey: components["parameters"]["FeatureFlagKey"];
|
|
7030
7791
|
};
|
|
7031
7792
|
cookie?: never;
|
|
7032
7793
|
};
|
|
7033
|
-
requestBody
|
|
7794
|
+
requestBody: {
|
|
7034
7795
|
content: {
|
|
7035
|
-
"application/json": components["schemas"]["
|
|
7036
|
-
"application/x-www-form-urlencoded": components["schemas"]["IssueVerificationClientTokenRequest"];
|
|
7796
|
+
"application/json": components["schemas"]["UpdateVerificationFeatureFlagRequest"];
|
|
7037
7797
|
};
|
|
7038
7798
|
};
|
|
7039
7799
|
responses: {
|
|
7040
|
-
/** @description
|
|
7041
|
-
|
|
7800
|
+
/** @description New feature flag revision */
|
|
7801
|
+
200: {
|
|
7042
7802
|
headers: {
|
|
7043
7803
|
[name: string]: unknown;
|
|
7044
7804
|
};
|
|
7045
7805
|
content: {
|
|
7046
|
-
"application/json": components["schemas"]["
|
|
7806
|
+
"application/json": components["schemas"]["VerificationFeatureFlag"];
|
|
7047
7807
|
};
|
|
7048
7808
|
};
|
|
7809
|
+
400: components["responses"]["ProblemResponse"];
|
|
7049
7810
|
403: components["responses"]["ForbiddenResponse"];
|
|
7050
7811
|
404: components["responses"]["ProblemResponse"];
|
|
7812
|
+
409: components["responses"]["ProblemResponse"];
|
|
7051
7813
|
default: components["responses"]["ProblemResponse"];
|
|
7052
7814
|
};
|
|
7053
7815
|
};
|
|
7054
|
-
|
|
7816
|
+
ListFeatureFlagRevisions: {
|
|
7055
7817
|
parameters: {
|
|
7056
7818
|
query?: never;
|
|
7057
7819
|
header?: never;
|
|
7058
7820
|
path: {
|
|
7059
|
-
|
|
7060
|
-
|
|
7821
|
+
/** @description Stable feature flag key. */
|
|
7822
|
+
flagKey: components["parameters"]["FeatureFlagKey"];
|
|
7061
7823
|
};
|
|
7062
7824
|
cookie?: never;
|
|
7063
7825
|
};
|
|
7064
7826
|
requestBody?: never;
|
|
7065
7827
|
responses: {
|
|
7066
|
-
/** @description
|
|
7067
|
-
|
|
7828
|
+
/** @description Revision history */
|
|
7829
|
+
200: {
|
|
7068
7830
|
headers: {
|
|
7069
7831
|
[name: string]: unknown;
|
|
7070
7832
|
};
|
|
7071
|
-
content
|
|
7833
|
+
content: {
|
|
7834
|
+
"application/json": {
|
|
7835
|
+
items: components["schemas"]["VerificationFeatureFlagRevision"][];
|
|
7836
|
+
};
|
|
7837
|
+
};
|
|
7072
7838
|
};
|
|
7073
7839
|
403: components["responses"]["ForbiddenResponse"];
|
|
7074
|
-
404: components["responses"]["ProblemResponse"];
|
|
7075
7840
|
default: components["responses"]["ProblemResponse"];
|
|
7076
7841
|
};
|
|
7077
7842
|
};
|
|
7078
|
-
|
|
7843
|
+
AdminVerificationClients: {
|
|
7079
7844
|
parameters: {
|
|
7080
7845
|
query?: never;
|
|
7081
7846
|
header?: never;
|
|
7082
|
-
path
|
|
7083
|
-
|
|
7847
|
+
path?: never;
|
|
7848
|
+
cookie?: never;
|
|
7849
|
+
};
|
|
7850
|
+
requestBody?: never;
|
|
7851
|
+
responses: {
|
|
7852
|
+
/** @description Ok */
|
|
7853
|
+
200: {
|
|
7854
|
+
headers: {
|
|
7855
|
+
[name: string]: unknown;
|
|
7856
|
+
};
|
|
7857
|
+
content: {
|
|
7858
|
+
"text/html": string;
|
|
7859
|
+
"application/json": {
|
|
7860
|
+
items: components["schemas"]["VerificationClient"][];
|
|
7861
|
+
};
|
|
7862
|
+
};
|
|
7084
7863
|
};
|
|
7864
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
7865
|
+
default: components["responses"]["ProblemResponse"];
|
|
7866
|
+
};
|
|
7867
|
+
};
|
|
7868
|
+
CreateVerificationClient: {
|
|
7869
|
+
parameters: {
|
|
7870
|
+
query?: never;
|
|
7871
|
+
header?: never;
|
|
7872
|
+
path?: never;
|
|
7085
7873
|
cookie?: never;
|
|
7086
7874
|
};
|
|
7087
7875
|
requestBody: {
|
|
7088
7876
|
content: {
|
|
7089
|
-
"application/json": components["schemas"]["
|
|
7090
|
-
"application/x-www-form-urlencoded": components["schemas"]["
|
|
7877
|
+
"application/json": components["schemas"]["CreateVerificationClientRequest"];
|
|
7878
|
+
"application/x-www-form-urlencoded": components["schemas"]["CreateVerificationClientRequest"];
|
|
7091
7879
|
};
|
|
7092
7880
|
};
|
|
7093
7881
|
responses: {
|
|
7094
|
-
/** @description
|
|
7095
|
-
|
|
7882
|
+
/** @description Registered */
|
|
7883
|
+
201: {
|
|
7096
7884
|
headers: {
|
|
7097
7885
|
[name: string]: unknown;
|
|
7098
7886
|
};
|
|
@@ -7101,11 +7889,11 @@ export interface operations {
|
|
|
7101
7889
|
};
|
|
7102
7890
|
};
|
|
7103
7891
|
403: components["responses"]["ForbiddenResponse"];
|
|
7104
|
-
|
|
7892
|
+
409: components["responses"]["ProblemResponse"];
|
|
7105
7893
|
default: components["responses"]["ProblemResponse"];
|
|
7106
7894
|
};
|
|
7107
7895
|
};
|
|
7108
|
-
|
|
7896
|
+
UpdateVerificationClient: {
|
|
7109
7897
|
parameters: {
|
|
7110
7898
|
query?: never;
|
|
7111
7899
|
header?: never;
|
|
@@ -7116,13 +7904,13 @@ export interface operations {
|
|
|
7116
7904
|
};
|
|
7117
7905
|
requestBody: {
|
|
7118
7906
|
content: {
|
|
7119
|
-
"application/json": components["schemas"]["
|
|
7120
|
-
"application/x-www-form-urlencoded": components["schemas"]["
|
|
7907
|
+
"application/json": components["schemas"]["UpdateVerificationClientRequest"];
|
|
7908
|
+
"application/x-www-form-urlencoded": components["schemas"]["UpdateVerificationClientRequest"];
|
|
7121
7909
|
};
|
|
7122
7910
|
};
|
|
7123
7911
|
responses: {
|
|
7124
|
-
/** @description
|
|
7125
|
-
|
|
7912
|
+
/** @description Updated */
|
|
7913
|
+
200: {
|
|
7126
7914
|
headers: {
|
|
7127
7915
|
[name: string]: unknown;
|
|
7128
7916
|
};
|
|
@@ -7132,39 +7920,85 @@ export interface operations {
|
|
|
7132
7920
|
};
|
|
7133
7921
|
403: components["responses"]["ForbiddenResponse"];
|
|
7134
7922
|
404: components["responses"]["ProblemResponse"];
|
|
7135
|
-
|
|
7136
|
-
|
|
7923
|
+
default: components["responses"]["ProblemResponse"];
|
|
7924
|
+
};
|
|
7925
|
+
};
|
|
7926
|
+
AdminSiteBanners: {
|
|
7927
|
+
parameters: {
|
|
7928
|
+
query?: never;
|
|
7929
|
+
header?: never;
|
|
7930
|
+
path?: never;
|
|
7931
|
+
cookie?: never;
|
|
7932
|
+
};
|
|
7933
|
+
requestBody?: never;
|
|
7934
|
+
responses: {
|
|
7935
|
+
/** @description Current banner content, as raw admin-authored HTML */
|
|
7936
|
+
200: {
|
|
7137
7937
|
headers: {
|
|
7138
7938
|
[name: string]: unknown;
|
|
7139
7939
|
};
|
|
7140
7940
|
content: {
|
|
7141
|
-
"
|
|
7941
|
+
"text/html": string;
|
|
7942
|
+
"application/json": components["schemas"]["SiteBanners"];
|
|
7142
7943
|
};
|
|
7143
7944
|
};
|
|
7945
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
7144
7946
|
default: components["responses"]["ProblemResponse"];
|
|
7145
7947
|
};
|
|
7146
7948
|
};
|
|
7147
|
-
|
|
7949
|
+
UpdateAnnouncementBar: {
|
|
7148
7950
|
parameters: {
|
|
7149
7951
|
query?: never;
|
|
7150
7952
|
header?: never;
|
|
7151
|
-
path
|
|
7152
|
-
|
|
7153
|
-
|
|
7953
|
+
path?: never;
|
|
7954
|
+
cookie?: never;
|
|
7955
|
+
};
|
|
7956
|
+
requestBody: {
|
|
7957
|
+
content: {
|
|
7958
|
+
"application/json": components["schemas"]["AnnouncementBar"];
|
|
7959
|
+
"application/x-www-form-urlencoded": components["schemas"]["AnnouncementBar"];
|
|
7960
|
+
};
|
|
7961
|
+
};
|
|
7962
|
+
responses: {
|
|
7963
|
+
/** @description Saved announcement bar, as raw admin-authored HTML */
|
|
7964
|
+
200: {
|
|
7965
|
+
headers: {
|
|
7966
|
+
[name: string]: unknown;
|
|
7967
|
+
};
|
|
7968
|
+
content: {
|
|
7969
|
+
"application/json": components["schemas"]["AnnouncementBar"];
|
|
7970
|
+
};
|
|
7154
7971
|
};
|
|
7972
|
+
400: components["responses"]["ProblemResponse"];
|
|
7973
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
7974
|
+
default: components["responses"]["ProblemResponse"];
|
|
7975
|
+
};
|
|
7976
|
+
};
|
|
7977
|
+
UpdateScrollingBanner: {
|
|
7978
|
+
parameters: {
|
|
7979
|
+
query?: never;
|
|
7980
|
+
header?: never;
|
|
7981
|
+
path?: never;
|
|
7155
7982
|
cookie?: never;
|
|
7156
7983
|
};
|
|
7157
|
-
requestBody
|
|
7984
|
+
requestBody: {
|
|
7985
|
+
content: {
|
|
7986
|
+
"application/json": components["schemas"]["ScrollingBanner"];
|
|
7987
|
+
"application/x-www-form-urlencoded": components["schemas"]["ScrollingBannerForm"];
|
|
7988
|
+
};
|
|
7989
|
+
};
|
|
7158
7990
|
responses: {
|
|
7159
|
-
/** @description
|
|
7160
|
-
|
|
7991
|
+
/** @description Saved scrolling ticker, as raw admin-authored HTML */
|
|
7992
|
+
200: {
|
|
7161
7993
|
headers: {
|
|
7162
7994
|
[name: string]: unknown;
|
|
7163
7995
|
};
|
|
7164
|
-
content
|
|
7996
|
+
content: {
|
|
7997
|
+
"application/json": components["schemas"]["ScrollingBanner"];
|
|
7998
|
+
};
|
|
7165
7999
|
};
|
|
8000
|
+
400: components["responses"]["ProblemResponse"];
|
|
7166
8001
|
403: components["responses"]["ForbiddenResponse"];
|
|
7167
|
-
404: components["responses"]["ProblemResponse"];
|
|
7168
8002
|
default: components["responses"]["ProblemResponse"];
|
|
7169
8003
|
};
|
|
7170
8004
|
};
|
|
@@ -7238,27 +8072,58 @@ export interface operations {
|
|
|
7238
8072
|
default: components["responses"]["ProblemResponse"];
|
|
7239
8073
|
};
|
|
7240
8074
|
};
|
|
7241
|
-
|
|
8075
|
+
SharePage: {
|
|
7242
8076
|
parameters: {
|
|
7243
8077
|
query?: {
|
|
7244
|
-
/** @description
|
|
8078
|
+
/** @description Required for `builder`, `portals`, `verifier-app`, and `reclaim-browser-extension` (400 without it — each needs it to build a destination or a handoff payload). Optional and ignored for `inapp-sdk`/`zkfetch`'s static pages, which render even without one. */
|
|
8079
|
+
sessionId?: components["schemas"]["SessionID"];
|
|
8080
|
+
/** @description Verification URL contract version, always `2` on a link Builder generates. Accepted so the query string matches what every other Verification Client parses; only the `builder` redirect forwards it onward. */
|
|
8081
|
+
api?: "2";
|
|
8082
|
+
/** @description Backend-derived echo of the session's `diagnostics` field, carried through to the launched destination unchanged. See the same parameter on `VerificationPage`. */
|
|
7245
8083
|
diag?: "1";
|
|
7246
|
-
/** @description Internal marker added after the claimant accepts organization consent. */
|
|
7247
|
-
consent?: "1";
|
|
7248
8084
|
};
|
|
7249
8085
|
header?: never;
|
|
7250
8086
|
path: {
|
|
7251
|
-
|
|
8087
|
+
client: "builder" | "portals" | "verifier-app" | "inapp-sdk" | "reclaim-browser-extension" | "zkfetch";
|
|
7252
8088
|
};
|
|
7253
8089
|
cookie?: never;
|
|
7254
8090
|
};
|
|
7255
8091
|
requestBody?: never;
|
|
7256
8092
|
responses: {
|
|
7257
8093
|
200: components["responses"]["HTMLResponse"];
|
|
8094
|
+
/** @description Redirect (`builder` to `/v/{sessionId}`, `portals` to the portal). */
|
|
8095
|
+
302: {
|
|
8096
|
+
headers: {
|
|
8097
|
+
[name: string]: unknown;
|
|
8098
|
+
};
|
|
8099
|
+
content?: never;
|
|
8100
|
+
};
|
|
7258
8101
|
default: components["responses"]["ProblemResponse"];
|
|
7259
8102
|
};
|
|
7260
8103
|
};
|
|
7261
|
-
|
|
8104
|
+
VerificationPage: {
|
|
8105
|
+
parameters: {
|
|
8106
|
+
query?: {
|
|
8107
|
+
/** @description Verification URL contract version, always `2` on a link Builder generates. `/share/builder` forwards it here; the page itself ignores it. */
|
|
8108
|
+
api?: "2";
|
|
8109
|
+
/** @description Backend-derived echo of the session's `diagnostics` field (see CreateVerificationSessionRequest.diagnostics), present on `verificationUrl` for a diagnostic session. Builder reads `diagnostics` from the session, not this parameter, so setting it by hand on the address bar has no effect. */
|
|
8110
|
+
diag?: "1";
|
|
8111
|
+
/** @description Internal marker added after the claimant accepts organization consent. */
|
|
8112
|
+
consent?: "1";
|
|
8113
|
+
};
|
|
8114
|
+
header?: never;
|
|
8115
|
+
path: {
|
|
8116
|
+
sessionId: components["schemas"]["SessionID"];
|
|
8117
|
+
};
|
|
8118
|
+
cookie?: never;
|
|
8119
|
+
};
|
|
8120
|
+
requestBody?: never;
|
|
8121
|
+
responses: {
|
|
8122
|
+
200: components["responses"]["HTMLResponse"];
|
|
8123
|
+
default: components["responses"]["ProblemResponse"];
|
|
8124
|
+
};
|
|
8125
|
+
};
|
|
8126
|
+
ReportClaimant: {
|
|
7262
8127
|
parameters: {
|
|
7263
8128
|
query?: never;
|
|
7264
8129
|
header?: never;
|
|
@@ -7329,10 +8194,7 @@ export interface operations {
|
|
|
7329
8194
|
};
|
|
7330
8195
|
VerificationStatus: {
|
|
7331
8196
|
parameters: {
|
|
7332
|
-
query?:
|
|
7333
|
-
/** @description When set, the fragment is mirrored inside a dialog on the build page rather than being the end-user's own verification page — so the terminal message points at the dialog, not the window. */
|
|
7334
|
-
embedded?: string;
|
|
7335
|
-
};
|
|
8197
|
+
query?: never;
|
|
7336
8198
|
header?: never;
|
|
7337
8199
|
path: {
|
|
7338
8200
|
sessionId: components["schemas"]["SessionID"];
|
|
@@ -7439,13 +8301,79 @@ export interface operations {
|
|
|
7439
8301
|
[key: string]: unknown;
|
|
7440
8302
|
}[];
|
|
7441
8303
|
/** @description Trusted EIP-191 proof signer addresses. Consumers compare locally recovered proof signers with this registry. */
|
|
7442
|
-
"x-reclaim-attestors"
|
|
8304
|
+
"x-reclaim-attestors": string[];
|
|
8305
|
+
/** @description Trusted sha256 image digests for attestor containers. Server-side proof verification pins each attestor TEE attestation to this allowlist. */
|
|
8306
|
+
"x-reclaim-attestor-image-digests": string[];
|
|
7443
8307
|
};
|
|
7444
8308
|
};
|
|
7445
8309
|
};
|
|
7446
8310
|
default: components["responses"]["ProblemResponse"];
|
|
7447
8311
|
};
|
|
7448
8312
|
};
|
|
8313
|
+
AppleAppSiteAssociation: {
|
|
8314
|
+
parameters: {
|
|
8315
|
+
query?: never;
|
|
8316
|
+
header?: never;
|
|
8317
|
+
path?: never;
|
|
8318
|
+
cookie?: never;
|
|
8319
|
+
};
|
|
8320
|
+
requestBody?: never;
|
|
8321
|
+
responses: {
|
|
8322
|
+
/** @description Ok */
|
|
8323
|
+
200: {
|
|
8324
|
+
headers: {
|
|
8325
|
+
[name: string]: unknown;
|
|
8326
|
+
};
|
|
8327
|
+
content: {
|
|
8328
|
+
"application/json": {
|
|
8329
|
+
applinks: {
|
|
8330
|
+
details: {
|
|
8331
|
+
appIDs: string[];
|
|
8332
|
+
components: {
|
|
8333
|
+
"/"?: string;
|
|
8334
|
+
"?"?: {
|
|
8335
|
+
[key: string]: string;
|
|
8336
|
+
};
|
|
8337
|
+
}[];
|
|
8338
|
+
}[];
|
|
8339
|
+
};
|
|
8340
|
+
appclips?: {
|
|
8341
|
+
apps?: string[];
|
|
8342
|
+
};
|
|
8343
|
+
};
|
|
8344
|
+
};
|
|
8345
|
+
};
|
|
8346
|
+
default: components["responses"]["ProblemResponse"];
|
|
8347
|
+
};
|
|
8348
|
+
};
|
|
8349
|
+
AssetLinksJson: {
|
|
8350
|
+
parameters: {
|
|
8351
|
+
query?: never;
|
|
8352
|
+
header?: never;
|
|
8353
|
+
path?: never;
|
|
8354
|
+
cookie?: never;
|
|
8355
|
+
};
|
|
8356
|
+
requestBody?: never;
|
|
8357
|
+
responses: {
|
|
8358
|
+
/** @description Ok */
|
|
8359
|
+
200: {
|
|
8360
|
+
headers: {
|
|
8361
|
+
[name: string]: unknown;
|
|
8362
|
+
};
|
|
8363
|
+
content: {
|
|
8364
|
+
"application/json": {
|
|
8365
|
+
relation: string[];
|
|
8366
|
+
target: {
|
|
8367
|
+
namespace: string;
|
|
8368
|
+
package_name: string;
|
|
8369
|
+
sha256_cert_fingerprints: string[];
|
|
8370
|
+
};
|
|
8371
|
+
}[];
|
|
8372
|
+
};
|
|
8373
|
+
};
|
|
8374
|
+
default: components["responses"]["ProblemResponse"];
|
|
8375
|
+
};
|
|
8376
|
+
};
|
|
7449
8377
|
OpenApiSpec: {
|
|
7450
8378
|
parameters: {
|
|
7451
8379
|
query?: never;
|
|
@@ -7708,8 +8636,12 @@ export interface operations {
|
|
|
7708
8636
|
ListOrgs: {
|
|
7709
8637
|
parameters: {
|
|
7710
8638
|
query?: {
|
|
8639
|
+
/** @description Keeps organizations whose name or id (hyphens optional) contains this text. */
|
|
8640
|
+
q?: string;
|
|
7711
8641
|
/** @description Opaque cursor returned as `nextPageCursor` on a prior response. Pass it back as-is to fetch the next page; omit on the first request. Clients must not parse, modify, or fabricate cursors — the server reserves the encoding. */
|
|
7712
8642
|
cursor?: string;
|
|
8643
|
+
/** @description HTML only. Renders the New organization dialog already open, so a link from another page can land on it. */
|
|
8644
|
+
newOrg?: boolean;
|
|
7713
8645
|
};
|
|
7714
8646
|
header?: never;
|
|
7715
8647
|
path?: never;
|
|
@@ -7818,7 +8750,27 @@ export interface operations {
|
|
|
7818
8750
|
parameters: {
|
|
7819
8751
|
query?: {
|
|
7820
8752
|
/** @description Which section to show (server-rendered tab); unknown values fall back to the first. */
|
|
7821
|
-
tab?: "connect" | "providers" | "members" | "themes" | "sessions" | "billing";
|
|
8753
|
+
tab?: "overview" | "connect" | "integrate" | "providers" | "members" | "themes" | "settings" | "sessions" | "billing";
|
|
8754
|
+
/** @description Integrate tab only. Which integration path to show: a coding agent over MCP, the client package, or plain HTTP. */
|
|
8755
|
+
track?: "agent" | "sdk" | "http";
|
|
8756
|
+
/** @description Integrate tab, agent track only. Which coding agent's install command to show. */
|
|
8757
|
+
agent?: "claude" | "cursor" | "opencode" | "codex" | "others";
|
|
8758
|
+
/** @description Dashboard tab only. Scopes the report to sessions that ran this provider. Options come from `GET /orgs/{orgId}/providers/used`. */
|
|
8759
|
+
providerId?: components["schemas"]["ProviderID"];
|
|
8760
|
+
/** @description Integrate tab, HTTP track only. Which Verification Client the create-session example targets. `auto` (the default) leaves `verificationClientUrl` out. */
|
|
8761
|
+
client?: "auto" | "portals" | "verifier-app" | "reclaim-browser-extension" | "builder" | "inapp-sdk";
|
|
8762
|
+
/** @description Dashboard tab only. Start of the reporting period; defaults to 30 days before `to`. */
|
|
8763
|
+
from?: components["schemas"]["DateWindowBound"];
|
|
8764
|
+
/** @description Dashboard tab only. End of the reporting period; defaults to now. */
|
|
8765
|
+
to?: components["schemas"]["DateWindowBound"];
|
|
8766
|
+
/** @description Dashboard tab only. Scopes the report to sessions created through this verification client. Hyphens are optional; an id that matches no client returns nothing. */
|
|
8767
|
+
verificationClientId?: components["schemas"]["VerificationClientIDFilter"];
|
|
8768
|
+
/** @description Providers tab only. Keeps providers whose title, domain, or id (hyphens optional) contains this text. */
|
|
8769
|
+
q?: string;
|
|
8770
|
+
/** @description Providers tab only. Keeps providers with this visibility. */
|
|
8771
|
+
visibility?: "PUBLIC" | "PRIVATE";
|
|
8772
|
+
/** @description Providers tab only. Renders the New provider dialog already open, so a link from another page can land on it. */
|
|
8773
|
+
newProvider?: boolean;
|
|
7822
8774
|
/** @description Post-checkout status signal set by Stripe redirect (`success_url` / `cancel_url`), the card-save flow, and the credit top-up. Drives a one-shot notice and deep-links to the Billing tab; nothing else about the page depends on it. */
|
|
7823
8775
|
billing?: "success" | "cancelled" | "changed" | "credits";
|
|
7824
8776
|
};
|
|
@@ -8930,6 +9882,7 @@ export interface operations {
|
|
|
8930
9882
|
};
|
|
8931
9883
|
};
|
|
8932
9884
|
403: components["responses"]["ForbiddenResponse"];
|
|
9885
|
+
409: components["responses"]["ProblemResponse"];
|
|
8933
9886
|
default: components["responses"]["ProblemResponse"];
|
|
8934
9887
|
};
|
|
8935
9888
|
};
|
|
@@ -9725,18 +10678,55 @@ export interface operations {
|
|
|
9725
10678
|
default: components["responses"]["ProblemResponse"];
|
|
9726
10679
|
};
|
|
9727
10680
|
};
|
|
10681
|
+
ListOrgUsedProviders: {
|
|
10682
|
+
parameters: {
|
|
10683
|
+
query?: {
|
|
10684
|
+
/** @description Keeps providers whose name, domain, or id (hyphens optional) contains this text. */
|
|
10685
|
+
q?: string;
|
|
10686
|
+
/** @description Opaque cursor returned as `nextPageCursor` on a prior response. Pass it back as-is to fetch the next page; omit on the first request. Clients must not parse, modify, or fabricate cursors — the server reserves the encoding. */
|
|
10687
|
+
cursor?: string;
|
|
10688
|
+
/** @description Page size. Defaults to 50. */
|
|
10689
|
+
limit?: number;
|
|
10690
|
+
};
|
|
10691
|
+
header?: never;
|
|
10692
|
+
path: {
|
|
10693
|
+
orgId: components["schemas"]["OrgID"];
|
|
10694
|
+
};
|
|
10695
|
+
cookie?: never;
|
|
10696
|
+
};
|
|
10697
|
+
requestBody?: never;
|
|
10698
|
+
responses: {
|
|
10699
|
+
/** @description Ok */
|
|
10700
|
+
200: {
|
|
10701
|
+
headers: {
|
|
10702
|
+
[name: string]: unknown;
|
|
10703
|
+
};
|
|
10704
|
+
content: {
|
|
10705
|
+
"application/json": {
|
|
10706
|
+
items: components["schemas"]["OrgUsedProvider"][];
|
|
10707
|
+
nextPageCursor?: string;
|
|
10708
|
+
};
|
|
10709
|
+
"text/html": components["schemas"]["HtmlContent"];
|
|
10710
|
+
};
|
|
10711
|
+
};
|
|
10712
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
10713
|
+
default: components["responses"]["ProblemResponse"];
|
|
10714
|
+
};
|
|
10715
|
+
};
|
|
9728
10716
|
ListOrgVerificationSessions: {
|
|
9729
10717
|
parameters: {
|
|
9730
10718
|
query?: {
|
|
9731
|
-
/** @description Only return sessions whose id starts with this value
|
|
10719
|
+
/** @description Only return sessions whose id starts with this value, ignoring hyphens and case. Ignored under 5 characters. A full id matches exactly. */
|
|
9732
10720
|
sessionId?: string;
|
|
9733
|
-
/** @description Only return sessions for this exact provider id. */
|
|
10721
|
+
/** @description Only return sessions for this exact provider id (hyphens optional) or slug. */
|
|
9734
10722
|
providerId?: string;
|
|
10723
|
+
/** @description Only return sessions created through this verification client. Hyphens are optional; an id that matches no client returns nothing. */
|
|
10724
|
+
verificationClientId?: components["schemas"]["VerificationClientIDFilter"];
|
|
9735
10725
|
/** @description Only return sessions in this status. */
|
|
9736
10726
|
status?: components["schemas"]["VerificationStatus"];
|
|
9737
10727
|
/** @description Only return sessions resolved to this exact provider version. */
|
|
9738
10728
|
resolvedVersion?: string;
|
|
9739
|
-
/** @description Only return the session matching this claimant client id. */
|
|
10729
|
+
/** @description Only return the session matching this claimant client id (hyphens optional). */
|
|
9740
10730
|
claimantClientId?: string;
|
|
9741
10731
|
/** @description Only return sessions created at or after this time (inclusive). */
|
|
9742
10732
|
createdAfter?: string;
|
|
@@ -9772,7 +10762,10 @@ export interface operations {
|
|
|
9772
10762
|
};
|
|
9773
10763
|
GetOrgSession: {
|
|
9774
10764
|
parameters: {
|
|
9775
|
-
query?:
|
|
10765
|
+
query?: {
|
|
10766
|
+
/** @description Only list events from this stage of the run. */
|
|
10767
|
+
phase?: "session" | "client" | "auth" | "provider" | "claim" | "result";
|
|
10768
|
+
};
|
|
9776
10769
|
header?: never;
|
|
9777
10770
|
path: {
|
|
9778
10771
|
orgId: components["schemas"]["OrgID"];
|
|
@@ -9788,6 +10781,30 @@ export interface operations {
|
|
|
9788
10781
|
default: components["responses"]["ProblemResponse"];
|
|
9789
10782
|
};
|
|
9790
10783
|
};
|
|
10784
|
+
RetryOrgSessionCallback: {
|
|
10785
|
+
parameters: {
|
|
10786
|
+
query?: never;
|
|
10787
|
+
header?: never;
|
|
10788
|
+
path: {
|
|
10789
|
+
orgId: components["schemas"]["OrgID"];
|
|
10790
|
+
sessionId: components["schemas"]["SessionID"];
|
|
10791
|
+
};
|
|
10792
|
+
cookie?: never;
|
|
10793
|
+
};
|
|
10794
|
+
requestBody?: never;
|
|
10795
|
+
responses: {
|
|
10796
|
+
/** @description Deliveries re-enqueued; returns to the session page. */
|
|
10797
|
+
202: {
|
|
10798
|
+
headers: {
|
|
10799
|
+
[name: string]: unknown;
|
|
10800
|
+
};
|
|
10801
|
+
content?: never;
|
|
10802
|
+
};
|
|
10803
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
10804
|
+
404: components["responses"]["ProblemResponse"];
|
|
10805
|
+
default: components["responses"]["ProblemResponse"];
|
|
10806
|
+
};
|
|
10807
|
+
};
|
|
9791
10808
|
GetVerificationFunnel: {
|
|
9792
10809
|
parameters: {
|
|
9793
10810
|
query: {
|
|
@@ -9820,6 +10837,38 @@ export interface operations {
|
|
|
9820
10837
|
default: components["responses"]["ProblemResponse"];
|
|
9821
10838
|
};
|
|
9822
10839
|
};
|
|
10840
|
+
GetOrgVerificationAnalytics: {
|
|
10841
|
+
parameters: {
|
|
10842
|
+
query?: {
|
|
10843
|
+
from?: components["schemas"]["DateWindowBound"];
|
|
10844
|
+
to?: components["schemas"]["DateWindowBound"];
|
|
10845
|
+
/** @description Only count sessions that ran this provider. */
|
|
10846
|
+
providerId?: components["schemas"]["ProviderID"];
|
|
10847
|
+
/** @description Only count sessions created through this verification client. The zkFetch section is left out unless this is the zkfetch client. Hyphens are optional; an id that matches no client returns nothing. */
|
|
10848
|
+
verificationClientId?: components["schemas"]["VerificationClientIDFilter"];
|
|
10849
|
+
};
|
|
10850
|
+
header?: never;
|
|
10851
|
+
path: {
|
|
10852
|
+
orgId: components["schemas"]["OrgID"];
|
|
10853
|
+
};
|
|
10854
|
+
cookie?: never;
|
|
10855
|
+
};
|
|
10856
|
+
requestBody?: never;
|
|
10857
|
+
responses: {
|
|
10858
|
+
/** @description Verification analytics */
|
|
10859
|
+
200: {
|
|
10860
|
+
headers: {
|
|
10861
|
+
[name: string]: unknown;
|
|
10862
|
+
};
|
|
10863
|
+
content: {
|
|
10864
|
+
"text/html": components["schemas"]["HtmlContent"];
|
|
10865
|
+
"application/json": components["schemas"]["VerificationAnalytics"];
|
|
10866
|
+
};
|
|
10867
|
+
};
|
|
10868
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
10869
|
+
default: components["responses"]["ProblemResponse"];
|
|
10870
|
+
};
|
|
10871
|
+
};
|
|
9823
10872
|
CreateVerificationSession: {
|
|
9824
10873
|
parameters: {
|
|
9825
10874
|
query?: never;
|
|
@@ -9918,34 +10967,126 @@ export interface operations {
|
|
|
9918
10967
|
responses: {
|
|
9919
10968
|
/** @description Ok */
|
|
9920
10969
|
200: {
|
|
10970
|
+
headers: {
|
|
10971
|
+
[name: string]: unknown;
|
|
10972
|
+
};
|
|
10973
|
+
content: {
|
|
10974
|
+
"application/json": components["schemas"]["VerificationRecipeList"];
|
|
10975
|
+
};
|
|
10976
|
+
};
|
|
10977
|
+
404: components["responses"]["ProblemResponse"];
|
|
10978
|
+
default: components["responses"]["ProblemResponse"];
|
|
10979
|
+
};
|
|
10980
|
+
};
|
|
10981
|
+
BootstrapVerificationClient: {
|
|
10982
|
+
parameters: {
|
|
10983
|
+
query?: never;
|
|
10984
|
+
header?: never;
|
|
10985
|
+
path: {
|
|
10986
|
+
sessionId: components["schemas"]["SessionID"];
|
|
10987
|
+
};
|
|
10988
|
+
cookie?: never;
|
|
10989
|
+
};
|
|
10990
|
+
requestBody?: never;
|
|
10991
|
+
responses: {
|
|
10992
|
+
/** @description Session and resolved recipes */
|
|
10993
|
+
200: {
|
|
10994
|
+
headers: {
|
|
10995
|
+
[name: string]: unknown;
|
|
10996
|
+
};
|
|
10997
|
+
content: {
|
|
10998
|
+
"application/json": components["schemas"]["VerificationClientBootstrap"];
|
|
10999
|
+
};
|
|
11000
|
+
};
|
|
11001
|
+
404: components["responses"]["ProblemResponse"];
|
|
11002
|
+
default: components["responses"]["ProblemResponse"];
|
|
11003
|
+
};
|
|
11004
|
+
};
|
|
11005
|
+
ResolveVerificationRuntimeConfig: {
|
|
11006
|
+
parameters: {
|
|
11007
|
+
query?: never;
|
|
11008
|
+
header?: never;
|
|
11009
|
+
path: {
|
|
11010
|
+
sessionId: components["schemas"]["SessionID"];
|
|
11011
|
+
};
|
|
11012
|
+
cookie?: never;
|
|
11013
|
+
};
|
|
11014
|
+
requestBody: {
|
|
11015
|
+
content: {
|
|
11016
|
+
"application/json": components["schemas"]["ResolveVerificationRuntimeConfigRequest"];
|
|
11017
|
+
};
|
|
11018
|
+
};
|
|
11019
|
+
responses: {
|
|
11020
|
+
/** @description The session's feature configuration */
|
|
11021
|
+
200: {
|
|
11022
|
+
headers: {
|
|
11023
|
+
[name: string]: unknown;
|
|
11024
|
+
};
|
|
11025
|
+
content: {
|
|
11026
|
+
"application/json": components["schemas"]["VerificationRuntimeConfig"];
|
|
11027
|
+
};
|
|
11028
|
+
};
|
|
11029
|
+
403: components["responses"]["ProblemResponse"];
|
|
11030
|
+
404: components["responses"]["ProblemResponse"];
|
|
11031
|
+
default: components["responses"]["ProblemResponse"];
|
|
11032
|
+
};
|
|
11033
|
+
};
|
|
11034
|
+
CreateVerificationAttestorAuth: {
|
|
11035
|
+
parameters: {
|
|
11036
|
+
query?: never;
|
|
11037
|
+
header?: never;
|
|
11038
|
+
path: {
|
|
11039
|
+
sessionId: components["schemas"]["SessionID"];
|
|
11040
|
+
};
|
|
11041
|
+
cookie?: never;
|
|
11042
|
+
};
|
|
11043
|
+
requestBody?: {
|
|
11044
|
+
content: {
|
|
11045
|
+
"application/json": Record<string, never>;
|
|
11046
|
+
};
|
|
11047
|
+
};
|
|
11048
|
+
responses: {
|
|
11049
|
+
/** @description Base64-encoded legacy attestor authorization, or empty */
|
|
11050
|
+
200: {
|
|
11051
|
+
headers: {
|
|
11052
|
+
[name: string]: unknown;
|
|
11053
|
+
};
|
|
11054
|
+
content: {
|
|
11055
|
+
"text/plain": string;
|
|
11056
|
+
};
|
|
11057
|
+
};
|
|
11058
|
+
404: components["responses"]["ProblemResponse"];
|
|
11059
|
+
default: components["responses"]["ProblemResponse"];
|
|
11060
|
+
};
|
|
11061
|
+
};
|
|
11062
|
+
SubmitVerificationClientResult: {
|
|
11063
|
+
parameters: {
|
|
11064
|
+
query?: never;
|
|
11065
|
+
header?: never;
|
|
11066
|
+
path: {
|
|
11067
|
+
sessionId: components["schemas"]["SessionID"];
|
|
11068
|
+
};
|
|
11069
|
+
cookie?: never;
|
|
11070
|
+
};
|
|
11071
|
+
requestBody: {
|
|
11072
|
+
content: {
|
|
11073
|
+
"application/json": components["schemas"]["SubmitVerificationClientResultRequest"];
|
|
11074
|
+
};
|
|
11075
|
+
};
|
|
11076
|
+
responses: {
|
|
11077
|
+
/** @description Result stored and callback deliveries enqueued */
|
|
11078
|
+
202: {
|
|
9921
11079
|
headers: {
|
|
9922
11080
|
[name: string]: unknown;
|
|
9923
11081
|
};
|
|
9924
11082
|
content: {
|
|
9925
11083
|
"application/json": {
|
|
9926
|
-
|
|
9927
|
-
recipes: {
|
|
9928
|
-
providerId: components["schemas"]["ProviderID"];
|
|
9929
|
-
/** @description Display-only provider branding. Verification Clients can use it in claimant-facing UI; it does not affect recipe execution or proof verification. */
|
|
9930
|
-
provider: components["schemas"]["VerificationBrand"];
|
|
9931
|
-
resolvedVersion: string;
|
|
9932
|
-
initialUrl: string;
|
|
9933
|
-
/** @description Legacy-only preference. Builder-mode sessions run the structured recipe and do not enable AI or manual verification. Dual-mode clients may use this value only on their legacy path. */
|
|
9934
|
-
preferAiAgent: boolean;
|
|
9935
|
-
/** @description The version's webSettings geoLocation template (`{{DYNAMIC_GEO}}` / `{{DYNAMIC_GEO_SECRET}}` / '' / ISO code), applied to this provider's requests. */
|
|
9936
|
-
geoLocation?: string;
|
|
9937
|
-
/** @description The version's webSettings.jsUserScripts — page JavaScript the Verification Client installs to run before every page load (before navigating to initialUrl), to drive login/navigation so the target requests fire. */
|
|
9938
|
-
jsUserScripts?: string;
|
|
9939
|
-
/** @description Browser client options from the resolved provider version. Verification Clients apply these options before opening the provider. */
|
|
9940
|
-
clientOptions?: components["schemas"]["ClientOptions"];
|
|
9941
|
-
requests: components["schemas"]["RequestSelection"][];
|
|
9942
|
-
/** @description The version's allowedJsRequests — request-selection templates (with optional templateParams expansion) for requests fired by injected JS, which the Verification Client may additionally prove. */
|
|
9943
|
-
allowedJsRequests?: components["schemas"]["RequestSelectionTemplate"][];
|
|
9944
|
-
}[];
|
|
11084
|
+
deliveries: number;
|
|
9945
11085
|
};
|
|
9946
11086
|
};
|
|
9947
11087
|
};
|
|
9948
|
-
|
|
11088
|
+
400: components["responses"]["ProblemResponse"];
|
|
11089
|
+
409: components["responses"]["ProblemResponse"];
|
|
9949
11090
|
default: components["responses"]["ProblemResponse"];
|
|
9950
11091
|
};
|
|
9951
11092
|
};
|
|
@@ -10112,41 +11253,6 @@ export interface operations {
|
|
|
10112
11253
|
default: components["responses"]["ProblemResponse"];
|
|
10113
11254
|
};
|
|
10114
11255
|
};
|
|
10115
|
-
ListSessionCallbackKeys: {
|
|
10116
|
-
parameters: {
|
|
10117
|
-
query?: never;
|
|
10118
|
-
header?: never;
|
|
10119
|
-
path: {
|
|
10120
|
-
sessionId: components["schemas"]["SessionID"];
|
|
10121
|
-
};
|
|
10122
|
-
cookie?: never;
|
|
10123
|
-
};
|
|
10124
|
-
requestBody?: never;
|
|
10125
|
-
responses: {
|
|
10126
|
-
/** @description Ok */
|
|
10127
|
-
200: {
|
|
10128
|
-
headers: {
|
|
10129
|
-
[name: string]: unknown;
|
|
10130
|
-
};
|
|
10131
|
-
content: {
|
|
10132
|
-
"application/json": {
|
|
10133
|
-
items: components["schemas"]["CallbackKey"][];
|
|
10134
|
-
};
|
|
10135
|
-
};
|
|
10136
|
-
};
|
|
10137
|
-
404: components["responses"]["ProblemResponse"];
|
|
10138
|
-
/** @description No subscription on the session's organization matches the terminal event — the result would be encrypted for zero keys and therefore undeliverable (for example, the org deleted its last matching subscription mid-verification). Re-register a subscription and retry. */
|
|
10139
|
-
409: {
|
|
10140
|
-
headers: {
|
|
10141
|
-
[name: string]: unknown;
|
|
10142
|
-
};
|
|
10143
|
-
content: {
|
|
10144
|
-
"application/problem+json": components["schemas"]["Problem"];
|
|
10145
|
-
};
|
|
10146
|
-
};
|
|
10147
|
-
default: components["responses"]["ProblemResponse"];
|
|
10148
|
-
};
|
|
10149
|
-
};
|
|
10150
11256
|
GetVerificationResult: {
|
|
10151
11257
|
parameters: {
|
|
10152
11258
|
query?: never;
|
|
@@ -10181,37 +11287,6 @@ export interface operations {
|
|
|
10181
11287
|
default: components["responses"]["ProblemResponse"];
|
|
10182
11288
|
};
|
|
10183
11289
|
};
|
|
10184
|
-
SubmitVerificationResult: {
|
|
10185
|
-
parameters: {
|
|
10186
|
-
query?: never;
|
|
10187
|
-
header?: never;
|
|
10188
|
-
path: {
|
|
10189
|
-
sessionId: components["schemas"]["SessionID"];
|
|
10190
|
-
};
|
|
10191
|
-
cookie?: never;
|
|
10192
|
-
};
|
|
10193
|
-
requestBody: {
|
|
10194
|
-
content: {
|
|
10195
|
-
"application/json": components["schemas"]["SubmitVerificationResultRequest"];
|
|
10196
|
-
};
|
|
10197
|
-
};
|
|
10198
|
-
responses: {
|
|
10199
|
-
/** @description Result stored and deliveries enqueued. */
|
|
10200
|
-
202: {
|
|
10201
|
-
headers: {
|
|
10202
|
-
[name: string]: unknown;
|
|
10203
|
-
};
|
|
10204
|
-
content: {
|
|
10205
|
-
"application/json": {
|
|
10206
|
-
/** @description Number of deliveries stored and enqueued. Submitted targets whose subscription no longer matches the session's org + terminal event are skipped, so this may be less than the number of items submitted. */
|
|
10207
|
-
deliveries: number;
|
|
10208
|
-
};
|
|
10209
|
-
};
|
|
10210
|
-
};
|
|
10211
|
-
404: components["responses"]["ProblemResponse"];
|
|
10212
|
-
default: components["responses"]["ProblemResponse"];
|
|
10213
|
-
};
|
|
10214
|
-
};
|
|
10215
11290
|
RetryVerificationCallback: {
|
|
10216
11291
|
parameters: {
|
|
10217
11292
|
query?: never;
|
|
@@ -10281,4 +11356,47 @@ export interface operations {
|
|
|
10281
11356
|
default: components["responses"]["ProblemResponse"];
|
|
10282
11357
|
};
|
|
10283
11358
|
};
|
|
11359
|
+
CreateFetchAuthorization: {
|
|
11360
|
+
parameters: {
|
|
11361
|
+
query?: never;
|
|
11362
|
+
header?: never;
|
|
11363
|
+
path?: never;
|
|
11364
|
+
cookie?: never;
|
|
11365
|
+
};
|
|
11366
|
+
requestBody: {
|
|
11367
|
+
content: {
|
|
11368
|
+
"application/json": components["schemas"]["FetchAuthorizationRequest"];
|
|
11369
|
+
};
|
|
11370
|
+
};
|
|
11371
|
+
responses: {
|
|
11372
|
+
/** @description Attestor authorization minted. */
|
|
11373
|
+
200: {
|
|
11374
|
+
headers: {
|
|
11375
|
+
[name: string]: unknown;
|
|
11376
|
+
};
|
|
11377
|
+
content: {
|
|
11378
|
+
"application/json": components["schemas"]["FetchAuthorization"];
|
|
11379
|
+
};
|
|
11380
|
+
};
|
|
11381
|
+
/** @description Overage paused — the organization is past its plan's `ZKFETCH` allowance, its prepaid credit balance is exhausted, and its per-pool credit-exhaustion allowance is depleted. Requests within the plan allowance still succeed; add credits to resume overage. */
|
|
11382
|
+
402: {
|
|
11383
|
+
headers: {
|
|
11384
|
+
[name: string]: unknown;
|
|
11385
|
+
};
|
|
11386
|
+
content: {
|
|
11387
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
11388
|
+
};
|
|
11389
|
+
};
|
|
11390
|
+
/** @description ZKFETCH quota exceeded for the current billing period. */
|
|
11391
|
+
429: {
|
|
11392
|
+
headers: {
|
|
11393
|
+
[name: string]: unknown;
|
|
11394
|
+
};
|
|
11395
|
+
content: {
|
|
11396
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
11397
|
+
};
|
|
11398
|
+
};
|
|
11399
|
+
default: components["responses"]["ProblemResponse"];
|
|
11400
|
+
};
|
|
11401
|
+
};
|
|
10284
11402
|
}
|