@reclaimprotocol/client 0.1.32 → 0.1.34
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/lib/routes.gen.d.ts +19 -19
- package/lib/routes.gen.js +6 -6
- package/lib/types/openapi.gen.d.ts +454 -245
- package/lib/types/openapi.gen.js +1 -1
- package/package.json +1 -1
- package/src/routes.gen.ts +6 -6
- package/src/types/openapi.gen.ts +455 -246
|
@@ -11,8 +11,8 @@ export interface paths {
|
|
|
11
11
|
cookie?: never;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @description
|
|
14
|
+
* Home — sign-in or the Dashboard
|
|
15
|
+
* @description Signed in, redirects to the Dashboard (`GET /orgs/{orgId}`) of the console's selected org, else the viewer's default org. Signed out, renders the sign-in page; a signed-out link carrying Discover's `q` / `tag` redirects to `/discover` with them.
|
|
16
16
|
*/
|
|
17
17
|
get: operations["Index"];
|
|
18
18
|
put?: never;
|
|
@@ -23,6 +23,26 @@ export interface paths {
|
|
|
23
23
|
patch?: never;
|
|
24
24
|
trace?: never;
|
|
25
25
|
};
|
|
26
|
+
"/discover": {
|
|
27
|
+
parameters: {
|
|
28
|
+
query?: never;
|
|
29
|
+
header?: never;
|
|
30
|
+
path?: never;
|
|
31
|
+
cookie?: never;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Discover — search a website to verify
|
|
35
|
+
* @description The Catalog. A website-first search: the visitor types a website and picks one to continue to `/site/{domain}`, where they choose what data to prove. Renders popular websites below the search, plus tag pills to narrow them.
|
|
36
|
+
*/
|
|
37
|
+
get: operations["Discover"];
|
|
38
|
+
put?: never;
|
|
39
|
+
post?: never;
|
|
40
|
+
delete?: never;
|
|
41
|
+
options?: never;
|
|
42
|
+
head?: never;
|
|
43
|
+
patch?: never;
|
|
44
|
+
trace?: never;
|
|
45
|
+
};
|
|
26
46
|
"/providers": {
|
|
27
47
|
parameters: {
|
|
28
48
|
query?: never;
|
|
@@ -212,7 +232,7 @@ export interface paths {
|
|
|
212
232
|
put?: never;
|
|
213
233
|
/**
|
|
214
234
|
* Mint a SANDBOX test verification session for the selection
|
|
215
|
-
* @description Creates a real SANDBOX verification session for the selected data points, so the signed-in member can test the flow on `/v/{sessionId}` without registering a callback subscription. Runs under an organization the member owns (`orgId` in the body; defaults to their
|
|
235
|
+
* @description Creates a real SANDBOX verification session for the selected data points, so the signed-in member can test the flow on `/v/{sessionId}` without registering a callback subscription. Runs under an organization the member owns (`orgId` in the body; defaults to their default organization). The provider set is recomputed server-side from the selection.
|
|
216
236
|
*/
|
|
217
237
|
post: operations["SiteBuildTry"];
|
|
218
238
|
delete?: never;
|
|
@@ -221,26 +241,6 @@ export interface paths {
|
|
|
221
241
|
patch?: never;
|
|
222
242
|
trace?: never;
|
|
223
243
|
};
|
|
224
|
-
"/site/{domain}/repair": {
|
|
225
|
-
parameters: {
|
|
226
|
-
query?: never;
|
|
227
|
-
header?: never;
|
|
228
|
-
path?: never;
|
|
229
|
-
cookie?: never;
|
|
230
|
-
};
|
|
231
|
-
/**
|
|
232
|
-
* Failure-aware "Repair with an AI coding agent" wizard fragment
|
|
233
|
-
* @description Body of the build page's repair dialog, lazy-loaded after a sandbox Try fails so the agent prompt includes the REAL failure (which provider(s) failed + the error reason, read from the session's event log) and the resolved provider set. HTML / HTMX fragment.
|
|
234
|
-
*/
|
|
235
|
-
get: operations["SiteBuildRepair"];
|
|
236
|
-
put?: never;
|
|
237
|
-
post?: never;
|
|
238
|
-
delete?: never;
|
|
239
|
-
options?: never;
|
|
240
|
-
head?: never;
|
|
241
|
-
patch?: never;
|
|
242
|
-
trace?: never;
|
|
243
|
-
};
|
|
244
244
|
"/site/{domain}/alternative": {
|
|
245
245
|
parameters: {
|
|
246
246
|
query?: never;
|
|
@@ -261,7 +261,7 @@ export interface paths {
|
|
|
261
261
|
patch?: never;
|
|
262
262
|
trace?: never;
|
|
263
263
|
};
|
|
264
|
-
"/
|
|
264
|
+
"/integrate": {
|
|
265
265
|
parameters: {
|
|
266
266
|
query?: never;
|
|
267
267
|
header?: never;
|
|
@@ -269,10 +269,10 @@ export interface paths {
|
|
|
269
269
|
cookie?: never;
|
|
270
270
|
};
|
|
271
271
|
/**
|
|
272
|
-
*
|
|
273
|
-
* @description
|
|
272
|
+
* Go to the Integrate page
|
|
273
|
+
* @description Where the "Build it with an agent" links lead, from pages that don't know the viewer's organization. Signed in, redirects to the Integrate page of the console's selected organization (else the viewer's default organization), on its coding-agent track. Signed out, redirects to sign-in and back here.
|
|
274
274
|
*/
|
|
275
|
-
get: operations["
|
|
275
|
+
get: operations["OpenIntegrate"];
|
|
276
276
|
put?: never;
|
|
277
277
|
post?: never;
|
|
278
278
|
delete?: never;
|
|
@@ -281,26 +281,6 @@ export interface paths {
|
|
|
281
281
|
patch?: never;
|
|
282
282
|
trace?: never;
|
|
283
283
|
};
|
|
284
|
-
"/discover/agent-wizard": {
|
|
285
|
-
parameters: {
|
|
286
|
-
query?: never;
|
|
287
|
-
header?: never;
|
|
288
|
-
path?: never;
|
|
289
|
-
cookie?: never;
|
|
290
|
-
};
|
|
291
|
-
get?: never;
|
|
292
|
-
put?: never;
|
|
293
|
-
/**
|
|
294
|
-
* Setup and prompt for the coding agent picked in the wizard
|
|
295
|
-
* @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).
|
|
296
|
-
*/
|
|
297
|
-
post: operations["DiscoverAgentWizard"];
|
|
298
|
-
delete?: never;
|
|
299
|
-
options?: never;
|
|
300
|
-
head?: never;
|
|
301
|
-
patch?: never;
|
|
302
|
-
trace?: never;
|
|
303
|
-
};
|
|
304
284
|
"/discover/resolve": {
|
|
305
285
|
parameters: {
|
|
306
286
|
query?: never;
|
|
@@ -1130,6 +1110,8 @@ export interface paths {
|
|
|
1130
1110
|
* - `zkfetch` — a static informational page. zkFetch has no claimant
|
|
1131
1111
|
* step; nothing ever redirects a browser here by design.
|
|
1132
1112
|
*
|
|
1113
|
+
* A session from `POST /verifications/ai-sessions` never redirects for now. While its lookup runs, the page shows a loading state and reloads itself. Then it shows the candidate pages, and asks the user to pick one when there are several (nothing happens after the pick yet). When the lookup failed, the page shows an error and closes itself after 5 seconds. A session that is no longer pending shows that it ended.
|
|
1114
|
+
* `redirectUrl`, `redirectUrlOptions`, `cancelRedirectUrl`, and `cancelRedirectUrlOptions` in the query are added to the session's `launchOptions`, where every Verification Client can read them, unless the session already has that option: options set at creation, or by an earlier visit, win. They're validated as at creation (`https:` only); an invalid one is a 400. The `portals` redirect carries the session's launch options, and any other query parameters, on to the portal.
|
|
1133
1115
|
* Sets `Referrer-Policy: no-referrer`, so a `sessionId` never rides along in a `Referer` header to wherever a client eventually redirects.
|
|
1134
1116
|
*/
|
|
1135
1117
|
get: operations["SharePage"];
|
|
@@ -1255,8 +1237,8 @@ export interface paths {
|
|
|
1255
1237
|
get: operations["FixWithAiRecovery"];
|
|
1256
1238
|
put?: never;
|
|
1257
1239
|
/**
|
|
1258
|
-
* Create
|
|
1259
|
-
* @description Creates
|
|
1240
|
+
* Create a billed AI repair session
|
|
1241
|
+
* @description Creates a verification session that pins the selected failed provider's exact version with `preferAiAgent`, charged to the source organization. Its verification page runs the AI authoring agent instead of the stored recipe. A proven recipe is published for the provider's own organization, or submitted for admin review otherwise. Every request creates a new, separately billed session.
|
|
1260
1242
|
*/
|
|
1261
1243
|
post: operations["CreateFixWithAiSession"];
|
|
1262
1244
|
delete?: never;
|
|
@@ -1265,26 +1247,6 @@ export interface paths {
|
|
|
1265
1247
|
patch?: never;
|
|
1266
1248
|
trace?: never;
|
|
1267
1249
|
};
|
|
1268
|
-
"/v/{sessionId}/fix-with-ai/activate": {
|
|
1269
|
-
parameters: {
|
|
1270
|
-
query?: never;
|
|
1271
|
-
header?: never;
|
|
1272
|
-
path?: never;
|
|
1273
|
-
cookie?: never;
|
|
1274
|
-
};
|
|
1275
|
-
get?: never;
|
|
1276
|
-
put?: never;
|
|
1277
|
-
/**
|
|
1278
|
-
* Start a pending AI repair after the verification page loads
|
|
1279
|
-
* @description Idempotently queues a pending repair session. The server derives the claimant country from the request and publishes no browser credentials.
|
|
1280
|
-
*/
|
|
1281
|
-
post: operations["ActivateFixWithAiRepair"];
|
|
1282
|
-
delete?: never;
|
|
1283
|
-
options?: never;
|
|
1284
|
-
head?: never;
|
|
1285
|
-
patch?: never;
|
|
1286
|
-
trace?: never;
|
|
1287
|
-
};
|
|
1288
1250
|
"/.well-known/jwks.json": {
|
|
1289
1251
|
parameters: {
|
|
1290
1252
|
query?: never;
|
|
@@ -1575,7 +1537,7 @@ export interface paths {
|
|
|
1575
1537
|
put?: never;
|
|
1576
1538
|
/**
|
|
1577
1539
|
* Create an organization
|
|
1578
|
-
* @description Creates a new `ORG`-kind organization with the caller as its first `OWNER`.
|
|
1540
|
+
* @description Creates a new `ORG`-kind organization with the caller as its first `OWNER`. Every user gets a default organization at sign-up, and it counts toward their org-creation limit (1 active organization unless Reclaim support raises it). Past the limit this returns `409`; contact support@reclaimprotocol.org to raise the limit or archive an organization.
|
|
1579
1541
|
*/
|
|
1580
1542
|
post: operations["CreateOrg"];
|
|
1581
1543
|
delete?: never;
|
|
@@ -1636,8 +1598,8 @@ export interface paths {
|
|
|
1636
1598
|
put?: never;
|
|
1637
1599
|
post?: never;
|
|
1638
1600
|
/**
|
|
1639
|
-
*
|
|
1640
|
-
* @description
|
|
1601
|
+
* Archive an organization
|
|
1602
|
+
* @description Reclaim staff only; owners ask support@reclaimprotocol.org to archive. Archives the organization, which frees a slot under its creator's org-creation limit. `403` for anyone else.
|
|
1641
1603
|
*/
|
|
1642
1604
|
delete: operations["DeleteOrg"];
|
|
1643
1605
|
options?: never;
|
|
@@ -1649,26 +1611,6 @@ export interface paths {
|
|
|
1649
1611
|
patch: operations["UpdateOrg"];
|
|
1650
1612
|
trace?: never;
|
|
1651
1613
|
};
|
|
1652
|
-
"/orgs/{orgId}/convert": {
|
|
1653
|
-
parameters: {
|
|
1654
|
-
query?: never;
|
|
1655
|
-
header?: never;
|
|
1656
|
-
path?: never;
|
|
1657
|
-
cookie?: never;
|
|
1658
|
-
};
|
|
1659
|
-
get?: never;
|
|
1660
|
-
put?: never;
|
|
1661
|
-
/**
|
|
1662
|
-
* Convert a personal organization to a regular organization
|
|
1663
|
-
* @description Owner only. One-way: flips a `PERSONAL` organization (auto-provisioned at sign-up, sandbox-only, single-member) to a regular `ORG`, unlocking billing, plan & usage, and member invites. All providers, sessions, credentials and themes carry over. `409` when the organization is not `PERSONAL`.
|
|
1664
|
-
*/
|
|
1665
|
-
post: operations["ConvertOrgToRegular"];
|
|
1666
|
-
delete?: never;
|
|
1667
|
-
options?: never;
|
|
1668
|
-
head?: never;
|
|
1669
|
-
patch?: never;
|
|
1670
|
-
trace?: never;
|
|
1671
|
-
};
|
|
1672
1614
|
"/orgs/{orgId}/members": {
|
|
1673
1615
|
parameters: {
|
|
1674
1616
|
query?: never;
|
|
@@ -1684,7 +1626,7 @@ export interface paths {
|
|
|
1684
1626
|
put?: never;
|
|
1685
1627
|
/**
|
|
1686
1628
|
* Invite a member to an organization
|
|
1687
|
-
* @description Owner only. Invites a user to the organization by email. The invitee does **not** need to be a registered user — an invite is created in either case, and an invite email with an accept link is dispatched. The new row is returned with `status: PENDING`; it flips to `ACTIVE` only when the invitee explicitly accepts via `POST /orgs/{orgId}/invite`.
|
|
1629
|
+
* @description Owner only. Invites a user to the organization by email. The invitee does **not** need to be a registered user — an invite is created in either case, and an invite email with an accept link is dispatched. The new row is returned with `status: PENDING`; it flips to `ACTIVE` only when the invitee explicitly accepts via `POST /orgs/{orgId}/invite`.
|
|
1688
1630
|
*/
|
|
1689
1631
|
post: operations["AddOrgMember"];
|
|
1690
1632
|
delete?: never;
|
|
@@ -1816,7 +1758,7 @@ export interface paths {
|
|
|
1816
1758
|
get: operations["GetOrgKeypair"];
|
|
1817
1759
|
/**
|
|
1818
1760
|
* Set (or rotate) the organization's encryption keypair
|
|
1819
|
-
* @description
|
|
1761
|
+
* @description Sets the organization's single Ethereum (secp256k1) encryption keypair. The body carries the org's **eth public key** — as an uncompressed hex string (`0x04`+128 hex) or a secp256k1 public JWK (`{kty:'EC', crv:'secp256k1', x, y}`) — and `canEncryptResult`. The matching private key never leaves the consumer. The call creates the key for a keyless org and is idempotent for the same key. If the org has a different key, it returns `409` unless `replace` is true. When `canEncryptResult` is true, terminal results are delivered as an ECIES ciphertext encrypted to this key; otherwise plaintext. Authenticated by the org's `OrgToken` or a human `BearerAuth` session for an active member of the org.
|
|
1820
1762
|
*/
|
|
1821
1763
|
put: operations["SetOrgKeypair"];
|
|
1822
1764
|
post?: never;
|
|
@@ -2078,6 +2020,26 @@ export interface paths {
|
|
|
2078
2020
|
patch?: never;
|
|
2079
2021
|
trace?: never;
|
|
2080
2022
|
};
|
|
2023
|
+
"/orgs/{orgId}/billing/card": {
|
|
2024
|
+
parameters: {
|
|
2025
|
+
query?: never;
|
|
2026
|
+
header?: never;
|
|
2027
|
+
path?: never;
|
|
2028
|
+
cookie?: never;
|
|
2029
|
+
};
|
|
2030
|
+
get?: never;
|
|
2031
|
+
put?: never;
|
|
2032
|
+
/**
|
|
2033
|
+
* Save a card for the organization
|
|
2034
|
+
* @description Owner only. Returns a Stripe Checkout URL that only saves a card (no charge), creating the organization's Stripe customer on first use. The saved card becomes the default that plans and overage bill. Stripe returns the owner to the Billing tab with `?billing=card`.
|
|
2035
|
+
*/
|
|
2036
|
+
post: operations["CreateCardSetupSession"];
|
|
2037
|
+
delete?: never;
|
|
2038
|
+
options?: never;
|
|
2039
|
+
head?: never;
|
|
2040
|
+
patch?: never;
|
|
2041
|
+
trace?: never;
|
|
2042
|
+
};
|
|
2081
2043
|
"/orgs/{orgId}/billing/subscription": {
|
|
2082
2044
|
parameters: {
|
|
2083
2045
|
query?: never;
|
|
@@ -2374,7 +2336,7 @@ export interface paths {
|
|
|
2374
2336
|
};
|
|
2375
2337
|
/**
|
|
2376
2338
|
* Get a specific provider version
|
|
2377
|
-
* @description Fetches one exact canonical version. Trunk is public when the provider is public. Non-trunk versions are visible to admins and members of the provider's organization.
|
|
2339
|
+
* @description Fetches one exact canonical version. Trunk is public when the provider is public. Non-trunk versions are visible to admins and members of the provider's organization.
|
|
2378
2340
|
*/
|
|
2379
2341
|
get: operations["GetProviderVersion"];
|
|
2380
2342
|
put?: never;
|
|
@@ -2719,7 +2681,7 @@ export interface paths {
|
|
|
2719
2681
|
};
|
|
2720
2682
|
/**
|
|
2721
2683
|
* Verification outcomes by day, device, and country
|
|
2722
|
-
* @description Organization-scoped creation cohorts in UTC. Outcomes are current at query time. Unknown device and country values have their own buckets.
|
|
2684
|
+
* @description Organization-scoped creation cohorts in UTC. Outcomes are current at query time. Unknown device and country values have their own buckets. A signed-in browser asking for HTML is redirected to the org's Dashboard (`GET /orgs/{orgId}`), which shows these analytics, with the same query.
|
|
2723
2685
|
*/
|
|
2724
2686
|
get: operations["GetOrgVerificationAnalytics"];
|
|
2725
2687
|
put?: never;
|
|
@@ -2742,16 +2704,32 @@ export interface paths {
|
|
|
2742
2704
|
/**
|
|
2743
2705
|
* Create a verification session
|
|
2744
2706
|
* @description Creates a verification session for an end-user to complete.
|
|
2707
|
+
*
|
|
2708
|
+
* **The response's `verificationUrl` is the one thing you need.** Send
|
|
2709
|
+
* your end user to it (redirect, link, or QR code): that is where they
|
|
2710
|
+
* verify. Everything else in the response is for tracking the session.
|
|
2711
|
+
*
|
|
2745
2712
|
* Authenticated by the consumer's `OrgToken`; the session is scoped to
|
|
2746
2713
|
* the resolved organization. The request carries no callback URLs —
|
|
2747
2714
|
* results are delivered to the org's pre-registered callback
|
|
2748
2715
|
* subscriptions.
|
|
2749
2716
|
*
|
|
2717
|
+
* `verificationClientUrl` picks where the user verifies. Omit it to use
|
|
2718
|
+
* the Reclaim Portal. The built-in clients are:
|
|
2719
|
+
*
|
|
2720
|
+
* | Client | `verificationClientUrl` |
|
|
2721
|
+
* | --- | --- |
|
|
2722
|
+
* | Reclaim Portal (default) | `https://build.reclaimprotocol.org/share/portals` |
|
|
2723
|
+
* | Verifier app | `https://build.reclaimprotocol.org/share/verifier-app` |
|
|
2724
|
+
* | Browser extension | `https://build.reclaimprotocol.org/share/reclaim-browser-extension` |
|
|
2725
|
+
* | Builder browser | `https://build.reclaimprotocol.org/share/builder` |
|
|
2726
|
+
* | In-app SDK | `https://build.reclaimprotocol.org/share/inapp-sdk` |
|
|
2727
|
+
*
|
|
2750
2728
|
* curl -X POST $BASE/verifications/sessions \
|
|
2751
2729
|
* -H "Authorization: Bearer $ORG_TOKEN" \
|
|
2752
2730
|
* -H 'Content-Type: application/json' \
|
|
2753
2731
|
* -d '{"providers":[{"providerId":"…","version":"^1.2.0"}],"context":{},
|
|
2754
|
-
* "verificationClientUrl":"https://
|
|
2732
|
+
* "verificationClientUrl":"https://build.reclaimprotocol.org/share/portals"}'
|
|
2755
2733
|
*
|
|
2756
2734
|
* Fails with `409 Conflict` if the organization has no callback
|
|
2757
2735
|
* subscription (there would be nowhere to deliver the result).
|
|
@@ -2766,6 +2744,118 @@ export interface paths {
|
|
|
2766
2744
|
patch?: never;
|
|
2767
2745
|
trace?: never;
|
|
2768
2746
|
};
|
|
2747
|
+
"/verifications/ai-sessions": {
|
|
2748
|
+
parameters: {
|
|
2749
|
+
query?: never;
|
|
2750
|
+
header?: never;
|
|
2751
|
+
path?: never;
|
|
2752
|
+
cookie?: never;
|
|
2753
|
+
};
|
|
2754
|
+
get?: never;
|
|
2755
|
+
put?: never;
|
|
2756
|
+
/**
|
|
2757
|
+
* Start an AI verification session from a prompt
|
|
2758
|
+
* @description Starts a verification from a plain-language prompt, such as "verify
|
|
2759
|
+
* I'm a student at Manipal University", instead of a list of providers.
|
|
2760
|
+
* Builder creates the session at once and returns it, as
|
|
2761
|
+
* `POST /verifications/sessions` does. Send the user to its
|
|
2762
|
+
* `verificationUrl`. In the background, Builder looks up the
|
|
2763
|
+
* `candidates` (pages the user opens and signs in to) and the
|
|
2764
|
+
* `dataPoints` to verify there, usually within a few seconds. Poll
|
|
2765
|
+
* `GET /verifications/ai-sessions/{sessionId}` until its `status` is
|
|
2766
|
+
* `ready` or `failed`. The share page at `verificationUrl` shows a
|
|
2767
|
+
* loading state meanwhile.
|
|
2768
|
+
*
|
|
2769
|
+
* Builder searches the provider catalog (public providers and your
|
|
2770
|
+
* organization's own providers) and the web. The web search finds a
|
|
2771
|
+
* portal the catalog lacks, or one that replaced a stale catalog page.
|
|
2772
|
+
* Builder caches a web result for a week, or for a day when it finds
|
|
2773
|
+
* nothing. A URL or domain in the prompt is a hint: pages on it rank
|
|
2774
|
+
* first.
|
|
2775
|
+
*
|
|
2776
|
+
* Deterministic checks run before any AI model. Builder rejects a
|
|
2777
|
+
* prompt that contains a password, card number, or Aadhaar number, that
|
|
2778
|
+
* contains instructions for the AI, or that makes a sensitive claim,
|
|
2779
|
+
* without calling a model. Builder withholds personal values the prompt
|
|
2780
|
+
* states, such as a name, email address, phone number, or student ID,
|
|
2781
|
+
* from the model and from the cache.
|
|
2782
|
+
*
|
|
2783
|
+
* Once the lookup is ready, the session's `context` holds the values
|
|
2784
|
+
* the prompt states, such as the user's name, merged with the `context`
|
|
2785
|
+
* you send. Your values take precedence.
|
|
2786
|
+
*
|
|
2787
|
+
* On `201`, the session has no providers: the AI agent works out how to
|
|
2788
|
+
* verify. The organization needs a callback subscription. The session
|
|
2789
|
+
* uses one verification from the quota pool of the
|
|
2790
|
+
* `verificationClientUrl` client. A prompt the checks above reject
|
|
2791
|
+
* creates no session and is free. If the lookup then fails (the prompt
|
|
2792
|
+
* isn't a request to verify something about the user, no login page
|
|
2793
|
+
* is found, or the model or web search stays unavailable), Builder
|
|
2794
|
+
* refunds the verification, ends the session with status `error`, and
|
|
2795
|
+
* sends the failure to your `verification_error` callbacks. Builder
|
|
2796
|
+
* caches lookups, so a repeated prompt resolves faster, even when it
|
|
2797
|
+
* names a different person.
|
|
2798
|
+
*
|
|
2799
|
+
* curl -X POST $BASE/verifications/ai-sessions \
|
|
2800
|
+
* -H "Authorization: Bearer $ORG_TOKEN" \
|
|
2801
|
+
* -H 'Content-Type: application/json' \
|
|
2802
|
+
* -d '{"prompt":"verify I am a student at Manipal University"}'
|
|
2803
|
+
*
|
|
2804
|
+
* Errors:
|
|
2805
|
+
*
|
|
2806
|
+
* - `400`: Builder rejects the prompt (for example, it targets an
|
|
2807
|
+
* internal host), `context` contains `attestationNonce` or
|
|
2808
|
+
* `attestationNonceData`, or `verificationClientUrl` isn't a
|
|
2809
|
+
* registered client.
|
|
2810
|
+
* - `409`: The organization has no callback subscription.
|
|
2811
|
+
* - `429` or `402`: The quota or credits are spent. The body has
|
|
2812
|
+
* `event: billing_required` and a terminal `sessionId`.
|
|
2813
|
+
*
|
|
2814
|
+
* A failed lookup isn't an error of this request: it shows in the
|
|
2815
|
+
* `error` of `GET /verifications/ai-sessions/{sessionId}`.
|
|
2816
|
+
*/
|
|
2817
|
+
post: operations["CreateAiVerificationSession"];
|
|
2818
|
+
delete?: never;
|
|
2819
|
+
options?: never;
|
|
2820
|
+
head?: never;
|
|
2821
|
+
patch?: never;
|
|
2822
|
+
trace?: never;
|
|
2823
|
+
};
|
|
2824
|
+
"/verifications/ai-sessions/{sessionId}": {
|
|
2825
|
+
parameters: {
|
|
2826
|
+
query?: never;
|
|
2827
|
+
header?: never;
|
|
2828
|
+
path?: never;
|
|
2829
|
+
cookie?: never;
|
|
2830
|
+
};
|
|
2831
|
+
/**
|
|
2832
|
+
* Get what an AI verification session's prompt resolved to
|
|
2833
|
+
* @description Returns the lookup that `POST /verifications/ai-sessions` started for
|
|
2834
|
+
* the session. `status` is `resolving` until it finishes, then `ready`
|
|
2835
|
+
* with the pages and data points it found, or `failed` with an
|
|
2836
|
+
* `error`. Poll every second or two while it's `resolving`.
|
|
2837
|
+
*
|
|
2838
|
+
* `candidates` lists the pages to open, best first, each with a
|
|
2839
|
+
* `source` of `catalog` or `web`. It usually has one page. It has
|
|
2840
|
+
* several (up to 3) only when their `confidence` values are within 0.1
|
|
2841
|
+
* of the best page's value. In that case, the user picks one on the
|
|
2842
|
+
* session's `verificationUrl`.
|
|
2843
|
+
*
|
|
2844
|
+
* The `OrgToken` must resolve to the session's organization. To track
|
|
2845
|
+
* the session's status, call `GET /verifications/sessions/{sessionId}`.
|
|
2846
|
+
*
|
|
2847
|
+
* curl $BASE/verifications/ai-sessions/$SESSION_ID \
|
|
2848
|
+
* -H "Authorization: Bearer $ORG_TOKEN"
|
|
2849
|
+
*/
|
|
2850
|
+
get: operations["GetAiVerificationSession"];
|
|
2851
|
+
put?: never;
|
|
2852
|
+
post?: never;
|
|
2853
|
+
delete?: never;
|
|
2854
|
+
options?: never;
|
|
2855
|
+
head?: never;
|
|
2856
|
+
patch?: never;
|
|
2857
|
+
trace?: never;
|
|
2858
|
+
};
|
|
2769
2859
|
"/verifications/sessions/{sessionId}": {
|
|
2770
2860
|
parameters: {
|
|
2771
2861
|
query?: never;
|
|
@@ -3059,8 +3149,8 @@ export interface paths {
|
|
|
3059
3149
|
cookie?: never;
|
|
3060
3150
|
};
|
|
3061
3151
|
/**
|
|
3062
|
-
* Get the stored
|
|
3063
|
-
* @description Returns the
|
|
3152
|
+
* Get the stored result(s) for a session
|
|
3153
|
+
* @description Returns the session's callback deliveries with their payloads — one item per callback subscription and event. Readable only by the consumer that created the session. The consumer's `OrgToken` must resolve to the session's organization. A recovery companion to push delivery, not a replacement for the callback: a signed result's `payload` (which can carry proofs) is kept only until its callback is delivered, or for 7 days while undelivered, then becomes `null`. When the organization enables encryption, a signed result is 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.
|
|
3064
3154
|
*/
|
|
3065
3155
|
get: operations["GetVerificationResult"];
|
|
3066
3156
|
put?: never;
|
|
@@ -3082,7 +3172,7 @@ export interface paths {
|
|
|
3082
3172
|
put?: never;
|
|
3083
3173
|
/**
|
|
3084
3174
|
* Re-enqueue callback delivery for a session
|
|
3085
|
-
* @description Re-enqueues delivery of a session's stored result to its callback subscriptions. Use this after `list_verification_deliveries` shows a `failed` or dead-lettered delivery, once the consumer's callback endpoint is reachable again and answers 2xx — it re-attempts every not-yet-delivered callback for the session. Usable by the session creator (authenticated by the consumer's `OrgToken`) to recover from a transient consumer-side outage.
|
|
3175
|
+
* @description Re-enqueues delivery of a session's stored result to its callback subscriptions. Use this after `list_verification_deliveries` shows a `failed` or dead-lettered delivery, once the consumer's callback endpoint is reachable again and answers 2xx — it re-attempts every not-yet-delivered callback for the session. Usable by the session creator (authenticated by the consumer's `OrgToken`) to recover from a transient consumer-side outage. A result left undelivered for 7 days is purged and can no longer be retried.
|
|
3086
3176
|
*/
|
|
3087
3177
|
post: operations["RetryVerificationCallback"];
|
|
3088
3178
|
delete?: never;
|
|
@@ -3122,7 +3212,7 @@ export interface paths {
|
|
|
3122
3212
|
put?: never;
|
|
3123
3213
|
/**
|
|
3124
3214
|
* Retry a dead-lettered callback (admin-only)
|
|
3125
|
-
* @description Admin only. Re-enqueues a specific DLQ entry for delivery.
|
|
3215
|
+
* @description Admin only. Re-enqueues a specific DLQ entry for delivery. 410 when the result was undelivered for 7 days and has been purged.
|
|
3126
3216
|
*/
|
|
3127
3217
|
post: operations["RetryCallbackDlq"];
|
|
3128
3218
|
delete?: never;
|
|
@@ -3264,6 +3354,64 @@ export interface components {
|
|
|
3264
3354
|
ProviderID: string;
|
|
3265
3355
|
/** Format: uuid */
|
|
3266
3356
|
OrgID: string;
|
|
3357
|
+
/** @description Body for `POST /verifications/ai-sessions`. */
|
|
3358
|
+
CreateAiVerificationSessionRequest: {
|
|
3359
|
+
/** @description What to verify, in plain language, such as "verify I'm a student at Manipal University". Builder rejects a prompt that contains credentials, card numbers, instructions for the AI, or a sensitive claim. */
|
|
3360
|
+
prompt: string;
|
|
3361
|
+
/** @description Values you already know, such as `{"fullName": "Asha Rao"}`. Builder merges them over the values the prompt states and returns the result in `context`. Must not contain `attestationNonce` or `attestationNonceData`; bind those after you create the session. Omit if you have none. */
|
|
3362
|
+
context?: {
|
|
3363
|
+
[key: string]: unknown;
|
|
3364
|
+
};
|
|
3365
|
+
/** @description Base URL of the registered verification client the user verifies with, as for `POST /verifications/sessions`. Builder charges this client's quota pool. If you omit it, Builder uses the default (`portals`) client. */
|
|
3366
|
+
verificationClientUrl?: string;
|
|
3367
|
+
/** @description ISO 3166-1 alpha-2 country code, such as `IN`. Builder searches the web from this country (Google's `gl` parameter), so portals for that country rank first. If you omit it, the search has no country preference. */
|
|
3368
|
+
geoLocation?: string;
|
|
3369
|
+
};
|
|
3370
|
+
/** @description The lookup `POST /verifications/ai-sessions` started for a session: its status, and once `ready`, the pages to open and the data points to verify there. */
|
|
3371
|
+
AiVerificationSession: {
|
|
3372
|
+
/**
|
|
3373
|
+
* Format: uuid
|
|
3374
|
+
* @description ID of the verification session. To track the session, call `GET /verifications/sessions/{sessionId}`.
|
|
3375
|
+
*/
|
|
3376
|
+
sessionId: string;
|
|
3377
|
+
/**
|
|
3378
|
+
* @description `resolving` while Builder looks up the pages and data points. `ready` when `candidates` and `dataPoints` are set. `failed` when the lookup failed: `error` says why, the session ended with status `error`, and its verification was refunded.
|
|
3379
|
+
* @enum {string}
|
|
3380
|
+
*/
|
|
3381
|
+
status: "resolving" | "ready" | "failed";
|
|
3382
|
+
/** @description Why the lookup failed. Only when `status` is `failed`. Its `status` is 422 when the prompt isn't a request to verify something about the user, 404 when no login page was found, and 503 when the AI model or web search stayed unavailable. */
|
|
3383
|
+
error?: components["schemas"]["Problem"];
|
|
3384
|
+
/** @description Only when `status` is `ready`. The fewest data points that prove the prompt's claim, required data points first. A data point for a value the prompt states is always required. */
|
|
3385
|
+
dataPoints?: {
|
|
3386
|
+
/** @description Short camelCase name, such as `username`. */
|
|
3387
|
+
name: string;
|
|
3388
|
+
/** @description What the value is and why it proves the claim. */
|
|
3389
|
+
description: string;
|
|
3390
|
+
/** @description If `true`, the claim can be proven without this value, as with `isOptional` on a provider's `ResponseMatch`. If absent, the data point is required. */
|
|
3391
|
+
isOptional?: boolean;
|
|
3392
|
+
}[];
|
|
3393
|
+
/** @description Values the signed-in account must show, such as `{"fullName": "Asha Rao"}`. Each key is the `dataPoints` name that the value pins. It combines the values the prompt states with the request's `context`. It's empty if neither has any. It's the session's `context`. If the prompt names a specific page, such as a post, `pageUrl` holds it: the page to open after the user logs in on the candidate's site. */
|
|
3394
|
+
context: {
|
|
3395
|
+
[key: string]: unknown;
|
|
3396
|
+
};
|
|
3397
|
+
/** @description Only when `status` is `ready`. Pages to open, best first. Each is the page that shows the data after the user signs in (it sends the user to sign in first), or else the sign-in page. Usually one page. Several pages appear only when the choice is ambiguous, such as a college with two or three student portals whose `confidence` values are within 0.1 of the best. In that case, the user picks one on the session's `verificationUrl`. At most one page per host. */
|
|
3398
|
+
candidates?: components["schemas"]["ResolvedLoginPage"][];
|
|
3399
|
+
};
|
|
3400
|
+
/** @description A page for the user to open and sign in to. */
|
|
3401
|
+
ResolvedLoginPage: {
|
|
3402
|
+
/**
|
|
3403
|
+
* Format: uri
|
|
3404
|
+
* @description URL of the page to open. For a `web` page, Builder removes the query and fragment.
|
|
3405
|
+
*/
|
|
3406
|
+
loginUrl: string;
|
|
3407
|
+
/** @description Estimated likelihood, from 0 to 1, that signing in here shows the claim. Candidates below 0.5 are never returned. */
|
|
3408
|
+
confidence: number;
|
|
3409
|
+
/**
|
|
3410
|
+
* @description Where the page came from. `catalog` is the page of a provider in the catalog (public, or your organization's own). `web` is a page that a web search found; it has no provider yet.
|
|
3411
|
+
* @enum {string}
|
|
3412
|
+
*/
|
|
3413
|
+
source: "catalog" | "web";
|
|
3414
|
+
};
|
|
3267
3415
|
/** @description A verification client id used as a filter. Hyphens are ignored. */
|
|
3268
3416
|
VerificationClientIDFilter: string;
|
|
3269
3417
|
/** @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. */
|
|
@@ -3391,11 +3539,9 @@ export interface components {
|
|
|
3391
3539
|
*/
|
|
3392
3540
|
EntityStatus: "ACTIVE" | "ARCHIVED";
|
|
3393
3541
|
/**
|
|
3394
|
-
* @description - `
|
|
3395
|
-
* `
|
|
3396
|
-
*
|
|
3397
|
-
* - `ORG`: Explicitly created via `POST /orgs`. Multiple
|
|
3398
|
-
* members, always ≥ 1 active `OWNER`.
|
|
3542
|
+
* @description - `ORG`: A user's organization: the default one made at sign-up,
|
|
3543
|
+
* or one created via `POST /orgs`. Multiple members, always ≥ 1
|
|
3544
|
+
* active `OWNER`.
|
|
3399
3545
|
*
|
|
3400
3546
|
* - `ANONYMOUS`: System-managed, member-less org auto-created to
|
|
3401
3547
|
* anchor an unaffiliated ETH credential's org-level settings
|
|
@@ -3404,7 +3550,7 @@ export interface components {
|
|
|
3404
3550
|
* created or named by clients; has no members.
|
|
3405
3551
|
* @enum {string}
|
|
3406
3552
|
*/
|
|
3407
|
-
OrganizationKind: "
|
|
3553
|
+
OrganizationKind: "ORG" | "ANONYMOUS";
|
|
3408
3554
|
/** @description A free-form label attached to an entity for grouping and filtering in listings. Must start and end with an alphanumeric character; only ASCII letters, digits, spaces, and hyphens are allowed between. */
|
|
3409
3555
|
Tag: string;
|
|
3410
3556
|
ActorMetadata: {
|
|
@@ -3413,7 +3559,7 @@ export interface components {
|
|
|
3413
3559
|
/** @description Free-form notes from actor describing this change */
|
|
3414
3560
|
notes?: string;
|
|
3415
3561
|
};
|
|
3416
|
-
/** @description A registered user of the platform. Every newly created user
|
|
3562
|
+
/** @description A registered user of the platform. Every newly created user gets a default organization, whose id is exposed here as `defaultOrgId`. */
|
|
3417
3563
|
User: {
|
|
3418
3564
|
id: components["schemas"]["UserID"];
|
|
3419
3565
|
/**
|
|
@@ -3435,13 +3581,13 @@ export interface components {
|
|
|
3435
3581
|
* @enum {string}
|
|
3436
3582
|
*/
|
|
3437
3583
|
role?: "user" | "admin";
|
|
3438
|
-
/** @description ID of the
|
|
3439
|
-
|
|
3584
|
+
/** @description ID of the organization created for the user at sign-up. It is a regular organization and counts toward the user's org-creation limit. */
|
|
3585
|
+
defaultOrgId: components["schemas"]["OrgID"];
|
|
3440
3586
|
createMetadata: components["schemas"]["ActorMetadata"];
|
|
3441
3587
|
updateMetadata: components["schemas"]["ActorMetadata"];
|
|
3442
3588
|
};
|
|
3443
3589
|
/**
|
|
3444
|
-
* @description Role a user holds in an organization. `OWNER` can invite, promote, demote, and remove members, and delete the org. `MEMBER` has read/write access to resources owned by the org but cannot manage membership.
|
|
3590
|
+
* @description Role a user holds in an organization. `OWNER` can invite, promote, demote, and remove members, and delete the org. `MEMBER` has read/write access to resources owned by the org but cannot manage membership.
|
|
3445
3591
|
* @enum {string}
|
|
3446
3592
|
*/
|
|
3447
3593
|
OrganizationMemberRole: "OWNER" | "MEMBER";
|
|
@@ -3476,12 +3622,12 @@ export interface components {
|
|
|
3476
3622
|
/** @description Timestamp the invite was accepted. Absent while `status` is `PENDING`. */
|
|
3477
3623
|
joinedAt?: components["schemas"]["Timestamp"];
|
|
3478
3624
|
};
|
|
3479
|
-
/** @description A workspace that owns providers and other resources. Every user gets
|
|
3625
|
+
/** @description A workspace that owns providers and other resources. Every user gets a default `ORG` organization on signup; more can be created up to the user's org-creation limit, and any can have multiple members. System-managed `ANONYMOUS` organizations have no members (see `OrganizationKind`). */
|
|
3480
3626
|
Organization: {
|
|
3481
3627
|
id: components["schemas"]["OrgID"];
|
|
3482
|
-
/** @description Display name of the organization.
|
|
3628
|
+
/** @description Display name of the organization. A user's default org starts with their name and may be renamed by an owner. */
|
|
3483
3629
|
name: string;
|
|
3484
|
-
/** @description Whether this is a user's
|
|
3630
|
+
/** @description Whether this is a user's org or a system-managed anonymous one. */
|
|
3485
3631
|
kind: components["schemas"]["OrganizationKind"];
|
|
3486
3632
|
/**
|
|
3487
3633
|
* Format: uri
|
|
@@ -3490,7 +3636,7 @@ export interface components {
|
|
|
3490
3636
|
iconUrl?: string;
|
|
3491
3637
|
/** @description Marker for system-managed singleton orgs. `'reclaim-staff'` identifies the auto-membership org that every `@reclaimprotocol.org` user is enrolled into on login (PRD-1 §3). Absent on normal user-created orgs. Names, status, and lifecycle of system-managed orgs are server-protected — clients cannot rename, archive, or delete them. */
|
|
3492
3638
|
readonly systemId?: string;
|
|
3493
|
-
/** @description All users with a role in this organization. `
|
|
3639
|
+
/** @description All users with a role in this organization. `ORG` orgs always contain at least one active `OWNER`; `ANONYMOUS` orgs have no members, so this array is empty for them. */
|
|
3494
3640
|
members: components["schemas"]["OrganizationMember"][];
|
|
3495
3641
|
/** @description Providers owned by this organization. */
|
|
3496
3642
|
providers?: components["schemas"]["ProviderListItem"][];
|
|
@@ -3770,6 +3916,11 @@ export interface components {
|
|
|
3770
3916
|
/** @default false */
|
|
3771
3917
|
canEncryptResult: boolean;
|
|
3772
3918
|
label?: string;
|
|
3919
|
+
/**
|
|
3920
|
+
* @description Set to true to replace an existing, different public key. Without it, the call returns 409 when the organization already has another key. Results encrypted to the old key can no longer be decrypted.
|
|
3921
|
+
* @default false
|
|
3922
|
+
*/
|
|
3923
|
+
replace: boolean;
|
|
3773
3924
|
};
|
|
3774
3925
|
/** @description Body for `PUT /orgs/{orgId}/keypair`. Carries the org's eth public key as a secp256k1 public JWK. */
|
|
3775
3926
|
OrgKeypairJwkRequest: {
|
|
@@ -3777,6 +3928,11 @@ export interface components {
|
|
|
3777
3928
|
/** @default false */
|
|
3778
3929
|
canEncryptResult: boolean;
|
|
3779
3930
|
label?: string;
|
|
3931
|
+
/**
|
|
3932
|
+
* @description Set to true to replace an existing, different public key. Without it, the call returns 409 when the organization already has another key. Results encrypted to the old key can no longer be decrypted.
|
|
3933
|
+
* @default false
|
|
3934
|
+
*/
|
|
3935
|
+
replace: boolean;
|
|
3780
3936
|
};
|
|
3781
3937
|
/** @description Response of `POST /orgs/{orgId}/token`. The plaintext `orgSecret` is shown **only once** here; the server stores only its HMAC. Use it as `Authorization: Bearer <orgSecret>` (the `OrgToken` scheme). An org may hold several keys; issuing a new one does not affect the others. */
|
|
3782
3938
|
OrgToken: {
|
|
@@ -5229,7 +5385,7 @@ export interface components {
|
|
|
5229
5385
|
webSettings: components["schemas"]["ProviderWebSettings"];
|
|
5230
5386
|
requiredContext?: components["schemas"]["ProviderRequiredContext"];
|
|
5231
5387
|
};
|
|
5232
|
-
/** @description Body for `POST /orgs` — just a name. Every org is created keyless, like
|
|
5388
|
+
/** @description Body for `POST /orgs` — just a name. Every org is created keyless, like each user's default org; its Ethereum (secp256k1) key pair is published separately via `PUT /orgs/{orgId}/keypair`, which is also where `canEncryptResult` is set. Creation deliberately collects nothing else so it never blocks on generating and safeguarding a private key. */
|
|
5233
5389
|
CreateOrgRequest: {
|
|
5234
5390
|
name: string;
|
|
5235
5391
|
};
|
|
@@ -5736,7 +5892,7 @@ export interface components {
|
|
|
5736
5892
|
resolvedVersion: string;
|
|
5737
5893
|
/** Format: uri */
|
|
5738
5894
|
initialUrl: string;
|
|
5739
|
-
/** @description
|
|
5895
|
+
/** @description Effective AI-agent preference: the session's choice, else whether the version is an `llm` provider. When true, the Builder verification page runs the AI authoring agent instead of the structured recipe. */
|
|
5740
5896
|
preferAiAgent: boolean;
|
|
5741
5897
|
geoLocation?: string;
|
|
5742
5898
|
jsUserScripts?: string;
|
|
@@ -5786,7 +5942,7 @@ export interface components {
|
|
|
5786
5942
|
preferredLocale?: string;
|
|
5787
5943
|
/** @description When the organization-bound legacy TEE nonce context was first stored. The nonce data itself is present in `context` as `attestationNonce` and `attestationNonceData`. */
|
|
5788
5944
|
teeNonceBoundAt?: components["schemas"]["Timestamp"];
|
|
5789
|
-
/** @description
|
|
5945
|
+
/** @description The creator's AI-agent preference. When true, the Builder verification page runs the AI authoring agent instead of the structured recipe. */
|
|
5790
5946
|
preferAiAgent?: boolean;
|
|
5791
5947
|
/** @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. */
|
|
5792
5948
|
diagnostics: boolean;
|
|
@@ -5810,7 +5966,7 @@ export interface components {
|
|
|
5810
5966
|
* @description Id of the registered verification client whose base URL was used (see `verification_clients`).
|
|
5811
5967
|
*/
|
|
5812
5968
|
verificationClientId: string;
|
|
5813
|
-
/** @description Ready-to-share
|
|
5969
|
+
/** @description The URL to send your end user to: this is where they verify. Ready-to-share: 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. */
|
|
5814
5970
|
verificationUrl: string;
|
|
5815
5971
|
createdAt: components["schemas"]["Timestamp"];
|
|
5816
5972
|
/** @description When the session stops being completable. After this, a still- `pending` session becomes `expired` on the next sweep and the end-user can no longer finish it. */
|
|
@@ -5841,13 +5997,20 @@ export interface components {
|
|
|
5841
5997
|
context: {
|
|
5842
5998
|
[key: string]: unknown;
|
|
5843
5999
|
};
|
|
5844
|
-
/**
|
|
6000
|
+
/**
|
|
6001
|
+
* @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. The built-in clients are `{origin}/share/{name}`, listed in the examples.
|
|
6002
|
+
* @example https://build.reclaimprotocol.org/share/portals
|
|
6003
|
+
* @example https://build.reclaimprotocol.org/share/verifier-app
|
|
6004
|
+
* @example https://build.reclaimprotocol.org/share/reclaim-browser-extension
|
|
6005
|
+
* @example https://build.reclaimprotocol.org/share/builder
|
|
6006
|
+
* @example https://build.reclaimprotocol.org/share/inapp-sdk
|
|
6007
|
+
*/
|
|
5845
6008
|
verificationClientUrl?: string;
|
|
5846
6009
|
/** @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. */
|
|
5847
6010
|
themeId?: components["schemas"]["ThemeID"];
|
|
5848
6011
|
/** @description Optional locale override for this verification session. It takes precedence over the organization theme's preferred locale. */
|
|
5849
6012
|
preferredLocale?: string;
|
|
5850
|
-
/** @description
|
|
6013
|
+
/** @description When true, the Builder verification page runs the AI authoring agent instead of the providers' structured recipes. A proven recipe is published only for the provider's own organization; for any other provider it is submitted for admin review. Omit it to run the stored recipes. */
|
|
5851
6014
|
preferAiAgent?: boolean;
|
|
5852
6015
|
/** @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. */
|
|
5853
6016
|
diagnostics?: boolean;
|
|
@@ -6304,6 +6467,31 @@ export interface components {
|
|
|
6304
6467
|
export type $defs = Record<string, never>;
|
|
6305
6468
|
export interface operations {
|
|
6306
6469
|
Index: {
|
|
6470
|
+
parameters: {
|
|
6471
|
+
query?: {
|
|
6472
|
+
/** @description Free-text query matched against website domain, data points, brand title, and description. Restores the search box and results on a shared/bookmarked link. */
|
|
6473
|
+
q?: string;
|
|
6474
|
+
/** @description Narrow to websites with at least one visible provider carrying ANY of these tags. Repeat to pass several (OR-combined). */
|
|
6475
|
+
tag?: string[];
|
|
6476
|
+
};
|
|
6477
|
+
header?: never;
|
|
6478
|
+
path?: never;
|
|
6479
|
+
cookie?: never;
|
|
6480
|
+
};
|
|
6481
|
+
requestBody?: never;
|
|
6482
|
+
responses: {
|
|
6483
|
+
200: components["responses"]["HTMLResponse"];
|
|
6484
|
+
/** @description Signed in; redirects to the Dashboard. */
|
|
6485
|
+
302: {
|
|
6486
|
+
headers: {
|
|
6487
|
+
[name: string]: unknown;
|
|
6488
|
+
};
|
|
6489
|
+
content?: never;
|
|
6490
|
+
};
|
|
6491
|
+
default: components["responses"]["ProblemResponse"];
|
|
6492
|
+
};
|
|
6493
|
+
};
|
|
6494
|
+
Discover: {
|
|
6307
6495
|
parameters: {
|
|
6308
6496
|
query?: {
|
|
6309
6497
|
/** @description Free-text query matched against website domain, data points, brand title, and description. Restores the search box and results on a shared/bookmarked link. */
|
|
@@ -6672,40 +6860,6 @@ export interface operations {
|
|
|
6672
6860
|
default: components["responses"]["ProblemResponse"];
|
|
6673
6861
|
};
|
|
6674
6862
|
};
|
|
6675
|
-
SiteBuildRepair: {
|
|
6676
|
-
parameters: {
|
|
6677
|
-
query: {
|
|
6678
|
-
/** @description The failing sandbox session whose analytics seed the prompt. */
|
|
6679
|
-
sessionId: components["schemas"]["SessionID"];
|
|
6680
|
-
dataPoints?: string[];
|
|
6681
|
-
mode?: components["schemas"]["ResolveMode"];
|
|
6682
|
-
provided?: string[];
|
|
6683
|
-
/** @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. */
|
|
6684
|
-
pins?: {
|
|
6685
|
-
[key: string]: string;
|
|
6686
|
-
};
|
|
6687
|
-
exclude?: components["schemas"]["ProviderID"][];
|
|
6688
|
-
};
|
|
6689
|
-
header?: never;
|
|
6690
|
-
path: {
|
|
6691
|
-
domain: string;
|
|
6692
|
-
};
|
|
6693
|
-
cookie?: never;
|
|
6694
|
-
};
|
|
6695
|
-
requestBody?: never;
|
|
6696
|
-
responses: {
|
|
6697
|
-
/** @description The repair wizard fragment. */
|
|
6698
|
-
200: {
|
|
6699
|
-
headers: {
|
|
6700
|
-
[name: string]: unknown;
|
|
6701
|
-
};
|
|
6702
|
-
content: {
|
|
6703
|
-
"text/html": components["schemas"]["HtmlContent"];
|
|
6704
|
-
};
|
|
6705
|
-
};
|
|
6706
|
-
default: components["responses"]["ProblemResponse"];
|
|
6707
|
-
};
|
|
6708
|
-
};
|
|
6709
6863
|
SiteBuildAlternative: {
|
|
6710
6864
|
parameters: {
|
|
6711
6865
|
query: {
|
|
@@ -6747,49 +6901,22 @@ export interface operations {
|
|
|
6747
6901
|
default: components["responses"]["ProblemResponse"];
|
|
6748
6902
|
};
|
|
6749
6903
|
};
|
|
6750
|
-
|
|
6904
|
+
OpenIntegrate: {
|
|
6751
6905
|
parameters: {
|
|
6752
|
-
query?:
|
|
6753
|
-
/** @description Website the user wanted to verify data from. */
|
|
6754
|
-
domain?: string;
|
|
6755
|
-
/** @description Specific data point the user could not find. */
|
|
6756
|
-
dataPoint?: string;
|
|
6757
|
-
};
|
|
6906
|
+
query?: never;
|
|
6758
6907
|
header?: never;
|
|
6759
6908
|
path?: never;
|
|
6760
6909
|
cookie?: never;
|
|
6761
6910
|
};
|
|
6762
6911
|
requestBody?: never;
|
|
6763
6912
|
responses: {
|
|
6764
|
-
|
|
6765
|
-
|
|
6766
|
-
|
|
6767
|
-
|
|
6768
|
-
DiscoverAgentWizard: {
|
|
6769
|
-
parameters: {
|
|
6770
|
-
query?: never;
|
|
6771
|
-
header?: never;
|
|
6772
|
-
path?: never;
|
|
6773
|
-
cookie?: never;
|
|
6774
|
-
};
|
|
6775
|
-
requestBody: {
|
|
6776
|
-
content: {
|
|
6777
|
-
"application/x-www-form-urlencoded": {
|
|
6778
|
-
/** @description The wizard's ready-to-paste task prompt. */
|
|
6779
|
-
basePrompt: string;
|
|
6780
|
-
/** @description Prefix of the wizard's element ids, so copy targets stay unique. */
|
|
6781
|
-
idPrefix: string;
|
|
6782
|
-
/** @description Picked coding agent; unknown values fall back to the first. */
|
|
6783
|
-
agent?: string;
|
|
6784
|
-
/** @description What the user is building, appended to the prompt. */
|
|
6785
|
-
building?: string;
|
|
6786
|
-
/** @description Label for `building` in the prompt. Defaults to "What I'm building". */
|
|
6787
|
-
lead?: string;
|
|
6913
|
+
/** @description Redirect to the Integrate page, or to sign-in. */
|
|
6914
|
+
302: {
|
|
6915
|
+
headers: {
|
|
6916
|
+
[name: string]: unknown;
|
|
6788
6917
|
};
|
|
6918
|
+
content?: never;
|
|
6789
6919
|
};
|
|
6790
|
-
};
|
|
6791
|
-
responses: {
|
|
6792
|
-
200: components["responses"]["HTMLResponse"];
|
|
6793
6920
|
default: components["responses"]["ProblemResponse"];
|
|
6794
6921
|
};
|
|
6795
6922
|
};
|
|
@@ -7071,7 +7198,7 @@ export interface operations {
|
|
|
7071
7198
|
AdminUsers: {
|
|
7072
7199
|
parameters: {
|
|
7073
7200
|
query?: {
|
|
7074
|
-
/** @description Matches email, name, user id, or
|
|
7201
|
+
/** @description Matches email, name, user id, or default organization id (hyphens optional in ids). */
|
|
7075
7202
|
q?: string;
|
|
7076
7203
|
};
|
|
7077
7204
|
header?: never;
|
|
@@ -8075,6 +8202,14 @@ export interface operations {
|
|
|
8075
8202
|
api?: "2";
|
|
8076
8203
|
/** @description Backend-derived echo of the session's `diagnostics` field, carried through to the launched destination unchanged. See the same parameter on `VerificationPage`. */
|
|
8077
8204
|
diag?: "1";
|
|
8205
|
+
/** @description Added to the session's `launchOptions` if it has none. */
|
|
8206
|
+
redirectUrl?: string;
|
|
8207
|
+
/** @description JSON `VerificationLaunchRedirectOptions`. Added to the session's `launchOptions` if it has none. */
|
|
8208
|
+
redirectUrlOptions?: string;
|
|
8209
|
+
/** @description Added to the session's `launchOptions` if it has none. */
|
|
8210
|
+
cancelRedirectUrl?: string;
|
|
8211
|
+
/** @description JSON `VerificationLaunchRedirectOptions`. Added to the session's `launchOptions` if it has none. */
|
|
8212
|
+
cancelRedirectUrlOptions?: string;
|
|
8078
8213
|
};
|
|
8079
8214
|
header?: never;
|
|
8080
8215
|
path: {
|
|
@@ -8241,7 +8376,7 @@ export interface operations {
|
|
|
8241
8376
|
"text/html": components["schemas"]["HtmlContent"];
|
|
8242
8377
|
};
|
|
8243
8378
|
};
|
|
8244
|
-
/** @description The new
|
|
8379
|
+
/** @description The new repair session. */
|
|
8245
8380
|
201: {
|
|
8246
8381
|
headers: {
|
|
8247
8382
|
[name: string]: unknown;
|
|
@@ -8253,28 +8388,6 @@ export interface operations {
|
|
|
8253
8388
|
default: components["responses"]["ProblemResponse"];
|
|
8254
8389
|
};
|
|
8255
8390
|
};
|
|
8256
|
-
ActivateFixWithAiRepair: {
|
|
8257
|
-
parameters: {
|
|
8258
|
-
query?: never;
|
|
8259
|
-
header?: never;
|
|
8260
|
-
path: {
|
|
8261
|
-
sessionId: components["schemas"]["SessionID"];
|
|
8262
|
-
};
|
|
8263
|
-
cookie?: never;
|
|
8264
|
-
};
|
|
8265
|
-
requestBody?: never;
|
|
8266
|
-
responses: {
|
|
8267
|
-
/** @description The repair was queued or was already active. */
|
|
8268
|
-
204: {
|
|
8269
|
-
headers: {
|
|
8270
|
-
[name: string]: unknown;
|
|
8271
|
-
};
|
|
8272
|
-
content?: never;
|
|
8273
|
-
};
|
|
8274
|
-
409: components["responses"]["ProblemResponse"];
|
|
8275
|
-
default: components["responses"]["ProblemResponse"];
|
|
8276
|
-
};
|
|
8277
|
-
};
|
|
8278
8391
|
JwksJson: {
|
|
8279
8392
|
parameters: {
|
|
8280
8393
|
query?: never;
|
|
@@ -8748,9 +8861,11 @@ export interface operations {
|
|
|
8748
8861
|
/** @description Integrate tab only. Which integration path to show: a coding agent over MCP, the client package, or plain HTTP. */
|
|
8749
8862
|
track?: "agent" | "sdk" | "http";
|
|
8750
8863
|
/** @description Integrate tab, agent track only. Which coding agent's install command to show. */
|
|
8751
|
-
agent?: "claude" | "cursor" | "opencode" | "codex" | "others";
|
|
8752
|
-
/** @description
|
|
8753
|
-
|
|
8864
|
+
agent?: "claude" | "copilot" | "cursor" | "omp" | "opencode" | "codex" | "antigravity" | "others";
|
|
8865
|
+
/** @description Integrate tab, agent track only. What users prove, as typed into the prompt's goal field; kept when another agent is picked. */
|
|
8866
|
+
goal?: string;
|
|
8867
|
+
/** @description Integrate tab: the providers to show in the examples in place of placeholder ids, for example when arriving from a provider page or a build page. Repeat to pass several. Dashboard tab: scopes the report to sessions that ran this provider (the first one); options come from `GET /orgs/{orgId}/providers/used`. */
|
|
8868
|
+
providerId?: components["schemas"]["ProviderID"][];
|
|
8754
8869
|
/** @description Integrate tab, HTTP track only. Which Verification Client the create-session example targets. `auto` (the default) leaves `verificationClientUrl` out. */
|
|
8755
8870
|
client?: "auto" | "portals" | "verifier-app" | "reclaim-browser-extension" | "builder" | "inapp-sdk";
|
|
8756
8871
|
/** @description Dashboard tab only. Start of the reporting period; defaults to 30 days before `to`. */
|
|
@@ -8766,7 +8881,7 @@ export interface operations {
|
|
|
8766
8881
|
/** @description Providers tab only. Renders the New provider dialog already open, so a link from another page can land on it. */
|
|
8767
8882
|
newProvider?: boolean;
|
|
8768
8883
|
/** @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. */
|
|
8769
|
-
billing?: "success" | "cancelled" | "changed" | "credits";
|
|
8884
|
+
billing?: "success" | "cancelled" | "changed" | "credits" | "card";
|
|
8770
8885
|
};
|
|
8771
8886
|
header?: never;
|
|
8772
8887
|
path: {
|
|
@@ -8840,31 +8955,6 @@ export interface operations {
|
|
|
8840
8955
|
default: components["responses"]["ProblemResponse"];
|
|
8841
8956
|
};
|
|
8842
8957
|
};
|
|
8843
|
-
ConvertOrgToRegular: {
|
|
8844
|
-
parameters: {
|
|
8845
|
-
query?: never;
|
|
8846
|
-
header?: never;
|
|
8847
|
-
path: {
|
|
8848
|
-
orgId: components["schemas"]["OrgID"];
|
|
8849
|
-
};
|
|
8850
|
-
cookie?: never;
|
|
8851
|
-
};
|
|
8852
|
-
requestBody?: never;
|
|
8853
|
-
responses: {
|
|
8854
|
-
/** @description Converted */
|
|
8855
|
-
200: {
|
|
8856
|
-
headers: {
|
|
8857
|
-
[name: string]: unknown;
|
|
8858
|
-
};
|
|
8859
|
-
content: {
|
|
8860
|
-
"application/json": components["schemas"]["Organization"];
|
|
8861
|
-
};
|
|
8862
|
-
};
|
|
8863
|
-
403: components["responses"]["ForbiddenResponse"];
|
|
8864
|
-
409: components["responses"]["ProblemResponse"];
|
|
8865
|
-
default: components["responses"]["ProblemResponse"];
|
|
8866
|
-
};
|
|
8867
|
-
};
|
|
8868
8958
|
SearchOrgMembers: {
|
|
8869
8959
|
parameters: {
|
|
8870
8960
|
query?: {
|
|
@@ -9251,6 +9341,7 @@ export interface operations {
|
|
|
9251
9341
|
};
|
|
9252
9342
|
400: components["responses"]["ProblemResponse"];
|
|
9253
9343
|
403: components["responses"]["ForbiddenResponse"];
|
|
9344
|
+
409: components["responses"]["ProblemResponse"];
|
|
9254
9345
|
default: components["responses"]["ProblemResponse"];
|
|
9255
9346
|
};
|
|
9256
9347
|
};
|
|
@@ -9659,6 +9750,33 @@ export interface operations {
|
|
|
9659
9750
|
default: components["responses"]["ProblemResponse"];
|
|
9660
9751
|
};
|
|
9661
9752
|
};
|
|
9753
|
+
CreateCardSetupSession: {
|
|
9754
|
+
parameters: {
|
|
9755
|
+
query?: never;
|
|
9756
|
+
header?: never;
|
|
9757
|
+
path: {
|
|
9758
|
+
orgId: components["schemas"]["OrgID"];
|
|
9759
|
+
};
|
|
9760
|
+
cookie?: never;
|
|
9761
|
+
};
|
|
9762
|
+
requestBody?: never;
|
|
9763
|
+
responses: {
|
|
9764
|
+
/** @description Checkout session created */
|
|
9765
|
+
200: {
|
|
9766
|
+
headers: {
|
|
9767
|
+
[name: string]: unknown;
|
|
9768
|
+
};
|
|
9769
|
+
content: {
|
|
9770
|
+
"application/json": {
|
|
9771
|
+
/** Format: uri */
|
|
9772
|
+
url: string;
|
|
9773
|
+
};
|
|
9774
|
+
};
|
|
9775
|
+
};
|
|
9776
|
+
403: components["responses"]["ForbiddenResponse"];
|
|
9777
|
+
default: components["responses"]["ProblemResponse"];
|
|
9778
|
+
};
|
|
9779
|
+
};
|
|
9662
9780
|
CancelBillingSubscription: {
|
|
9663
9781
|
parameters: {
|
|
9664
9782
|
query?: never;
|
|
@@ -10855,10 +10973,16 @@ export interface operations {
|
|
|
10855
10973
|
[name: string]: unknown;
|
|
10856
10974
|
};
|
|
10857
10975
|
content: {
|
|
10858
|
-
"text/html": components["schemas"]["HtmlContent"];
|
|
10859
10976
|
"application/json": components["schemas"]["VerificationAnalytics"];
|
|
10860
10977
|
};
|
|
10861
10978
|
};
|
|
10979
|
+
/** @description A browser; redirects to the org's Dashboard. */
|
|
10980
|
+
302: {
|
|
10981
|
+
headers: {
|
|
10982
|
+
[name: string]: unknown;
|
|
10983
|
+
};
|
|
10984
|
+
content?: never;
|
|
10985
|
+
};
|
|
10862
10986
|
403: components["responses"]["ForbiddenResponse"];
|
|
10863
10987
|
default: components["responses"]["ProblemResponse"];
|
|
10864
10988
|
};
|
|
@@ -10924,6 +11048,90 @@ export interface operations {
|
|
|
10924
11048
|
default: components["responses"]["ProblemResponse"];
|
|
10925
11049
|
};
|
|
10926
11050
|
};
|
|
11051
|
+
CreateAiVerificationSession: {
|
|
11052
|
+
parameters: {
|
|
11053
|
+
query?: never;
|
|
11054
|
+
header?: never;
|
|
11055
|
+
path?: never;
|
|
11056
|
+
cookie?: never;
|
|
11057
|
+
};
|
|
11058
|
+
requestBody: {
|
|
11059
|
+
content: {
|
|
11060
|
+
"application/json": components["schemas"]["CreateAiVerificationSessionRequest"];
|
|
11061
|
+
};
|
|
11062
|
+
};
|
|
11063
|
+
responses: {
|
|
11064
|
+
/** @description Session created */
|
|
11065
|
+
201: {
|
|
11066
|
+
headers: {
|
|
11067
|
+
[name: string]: unknown;
|
|
11068
|
+
};
|
|
11069
|
+
content: {
|
|
11070
|
+
"application/json": components["schemas"]["VerificationSession"];
|
|
11071
|
+
};
|
|
11072
|
+
};
|
|
11073
|
+
/** @description Overage is paused: the organization is past its plan allowance, and its prepaid credits and credit-exhaustion allowance are spent (`event: billing_required`). */
|
|
11074
|
+
402: {
|
|
11075
|
+
headers: {
|
|
11076
|
+
[name: string]: unknown;
|
|
11077
|
+
};
|
|
11078
|
+
content: {
|
|
11079
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
11080
|
+
};
|
|
11081
|
+
};
|
|
11082
|
+
/** @description The organization has no callback subscription. */
|
|
11083
|
+
409: {
|
|
11084
|
+
headers: {
|
|
11085
|
+
[name: string]: unknown;
|
|
11086
|
+
};
|
|
11087
|
+
content: {
|
|
11088
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
11089
|
+
};
|
|
11090
|
+
};
|
|
11091
|
+
/** @description The verification quota is exceeded (`event: billing_required` with a terminal `sessionId`). */
|
|
11092
|
+
429: {
|
|
11093
|
+
headers: {
|
|
11094
|
+
[name: string]: unknown;
|
|
11095
|
+
};
|
|
11096
|
+
content: {
|
|
11097
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
11098
|
+
};
|
|
11099
|
+
};
|
|
11100
|
+
default: components["responses"]["ProblemResponse"];
|
|
11101
|
+
};
|
|
11102
|
+
};
|
|
11103
|
+
GetAiVerificationSession: {
|
|
11104
|
+
parameters: {
|
|
11105
|
+
query?: never;
|
|
11106
|
+
header?: never;
|
|
11107
|
+
path: {
|
|
11108
|
+
sessionId: components["schemas"]["SessionID"];
|
|
11109
|
+
};
|
|
11110
|
+
cookie?: never;
|
|
11111
|
+
};
|
|
11112
|
+
requestBody?: never;
|
|
11113
|
+
responses: {
|
|
11114
|
+
/** @description Ok */
|
|
11115
|
+
200: {
|
|
11116
|
+
headers: {
|
|
11117
|
+
[name: string]: unknown;
|
|
11118
|
+
};
|
|
11119
|
+
content: {
|
|
11120
|
+
"application/json": components["schemas"]["AiVerificationSession"];
|
|
11121
|
+
};
|
|
11122
|
+
};
|
|
11123
|
+
/** @description No session with this ID, or the session wasn't created by `POST /verifications/ai-sessions`. */
|
|
11124
|
+
404: {
|
|
11125
|
+
headers: {
|
|
11126
|
+
[name: string]: unknown;
|
|
11127
|
+
};
|
|
11128
|
+
content: {
|
|
11129
|
+
"application/problem+json": components["schemas"]["Problem"];
|
|
11130
|
+
};
|
|
11131
|
+
};
|
|
11132
|
+
default: components["responses"]["ProblemResponse"];
|
|
11133
|
+
};
|
|
11134
|
+
};
|
|
10927
11135
|
GetVerificationSession: {
|
|
10928
11136
|
parameters: {
|
|
10929
11137
|
query?: never;
|
|
@@ -11269,8 +11477,8 @@ export interface operations {
|
|
|
11269
11477
|
/** Format: uuid */
|
|
11270
11478
|
subscriptionId: string;
|
|
11271
11479
|
event: components["schemas"]["VerificationEvent"];
|
|
11272
|
-
/** @description The
|
|
11273
|
-
payload: string;
|
|
11480
|
+
/** @description The payload, as raw text. For a signed result: an ECIES ciphertext (base64url) wrapping the signed result JWS when the org's `canEncryptResult` is enabled, else the plaintext signed JWS JSON. For an event notification: `{event, eventData}` JSON. `null` once a signed result was delivered, or after 7 days undelivered. */
|
|
11481
|
+
payload: string | null;
|
|
11274
11482
|
deliveryStatus: components["schemas"]["CallbackDeliveryStatus"];
|
|
11275
11483
|
createdAt: components["schemas"]["Timestamp"];
|
|
11276
11484
|
}[];
|
|
@@ -11347,6 +11555,7 @@ export interface operations {
|
|
|
11347
11555
|
};
|
|
11348
11556
|
403: components["responses"]["ForbiddenResponse"];
|
|
11349
11557
|
404: components["responses"]["ProblemResponse"];
|
|
11558
|
+
410: components["responses"]["ProblemResponse"];
|
|
11350
11559
|
default: components["responses"]["ProblemResponse"];
|
|
11351
11560
|
};
|
|
11352
11561
|
};
|