@totalis/hip4-client 0.0.0-stage → 0.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1903 -0
- package/LICENSE +202 -0
- package/README.md +143 -2
- package/dist/api-keys.d.ts +118 -0
- package/dist/api-keys.js +104 -0
- package/dist/audience-contract.d.ts +52 -0
- package/dist/audience-contract.js +1 -0
- package/dist/base.d.ts +41 -0
- package/dist/base.js +60 -0
- package/dist/client.d.ts +16 -0
- package/dist/client.js +15 -0
- package/dist/controller.d.ts +53 -0
- package/dist/controller.js +63 -0
- package/dist/errors.d.ts +3 -0
- package/dist/errors.js +3 -0
- package/dist/flow-errors.d.ts +62 -0
- package/dist/flow-errors.js +70 -0
- package/dist/generated/account-read.d.ts +2015 -0
- package/dist/generated/account-read.js +1 -0
- package/dist/generated/api-keys.d.ts +1303 -0
- package/dist/generated/api-keys.js +1 -0
- package/dist/generated/browse.d.ts +965 -0
- package/dist/generated/browse.js +1 -0
- package/dist/generated/client.d.ts +104 -0
- package/dist/generated/client.js +1 -0
- package/dist/generated/errors.d.ts +467 -0
- package/dist/generated/errors.js +1792 -0
- package/dist/generated/maker.d.ts +47 -0
- package/dist/generated/maker.js +1 -0
- package/dist/generated/openapi.d.ts +10867 -0
- package/dist/generated/openapi.js +1 -0
- package/dist/generated/operator.d.ts +7 -0
- package/dist/generated/operator.js +1 -0
- package/dist/generated/realtime.d.ts +1486 -0
- package/dist/generated/realtime.js +1 -0
- package/dist/generated/vault-abi.d.ts +49 -0
- package/dist/generated/vault-abi.js +70 -0
- package/dist/generated/version.d.ts +24 -0
- package/dist/generated/version.js +183 -0
- package/dist/hypercore.d.ts +111 -0
- package/dist/hypercore.js +132 -0
- package/dist/maker.d.ts +206 -0
- package/dist/maker.js +608 -0
- package/dist/money.d.ts +59 -0
- package/dist/money.js +66 -0
- package/dist/operator.d.ts +4 -0
- package/dist/operator.js +4 -0
- package/dist/pagination.d.ts +20 -0
- package/dist/pagination.js +27 -0
- package/dist/partner.d.ts +71 -0
- package/dist/partner.js +66 -0
- package/dist/realtime.d.ts +19 -0
- package/dist/realtime.js +10 -0
- package/dist/request.d.ts +115 -0
- package/dist/request.js +190 -0
- package/dist/signer.d.ts +51 -0
- package/dist/signer.js +90 -0
- package/dist/stream.d.ts +142 -0
- package/dist/stream.js +331 -0
- package/dist/totalis.d.ts +719 -0
- package/dist/totalis.js +1251 -0
- package/dist/typed-data.d.ts +330 -0
- package/dist/typed-data.js +340 -0
- package/dist/ui.d.ts +54 -0
- package/dist/ui.js +77 -0
- package/dist/wallet-session.d.ts +52 -0
- package/dist/wallet-session.js +63 -0
- package/examples/browser-wallet.html +69 -0
- package/examples/browser-wallet.mjs +57 -0
- package/examples/node-bot.mjs +57 -0
- package/examples/onboard.mjs +132 -0
- package/examples/partner-frontend.mjs +44 -0
- package/examples/partner-server.mjs +22 -0
- package/package.json +105 -4
|
@@ -0,0 +1,1303 @@
|
|
|
1
|
+
export type paths = {
|
|
2
|
+
readonly "/v1/me/api-keys": {
|
|
3
|
+
readonly parameters: {
|
|
4
|
+
readonly query?: never;
|
|
5
|
+
readonly header?: never;
|
|
6
|
+
readonly path?: never;
|
|
7
|
+
readonly cookie?: never;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* List your API keys
|
|
11
|
+
* @description Lists every key of the session's account, oldest first, as metadata without secrets.
|
|
12
|
+
*/
|
|
13
|
+
readonly get: operations["listPersonalApiKeys"];
|
|
14
|
+
readonly put?: never;
|
|
15
|
+
/**
|
|
16
|
+
* Create an API key
|
|
17
|
+
* @description Issues a scoped `ttk_` key for the session's account from a request your account wallet signed, and returns its secret this once.
|
|
18
|
+
*/
|
|
19
|
+
readonly post: operations["createPersonalApiKey"];
|
|
20
|
+
readonly delete?: never;
|
|
21
|
+
readonly options?: never;
|
|
22
|
+
readonly head?: never;
|
|
23
|
+
readonly patch?: never;
|
|
24
|
+
readonly trace?: never;
|
|
25
|
+
};
|
|
26
|
+
readonly "/v1/me/api-keys/{key_id}": {
|
|
27
|
+
readonly parameters: {
|
|
28
|
+
readonly query?: never;
|
|
29
|
+
readonly header?: never;
|
|
30
|
+
readonly path?: never;
|
|
31
|
+
readonly cookie?: never;
|
|
32
|
+
};
|
|
33
|
+
readonly get?: never;
|
|
34
|
+
readonly put?: never;
|
|
35
|
+
readonly post?: never;
|
|
36
|
+
/**
|
|
37
|
+
* Revoke an API key
|
|
38
|
+
* @description Revokes a key of the session's account at once, with any key it is rotating to or from, and answers 204 again for a key already revoked.
|
|
39
|
+
*/
|
|
40
|
+
readonly delete: operations["revokePersonalApiKey"];
|
|
41
|
+
readonly options?: never;
|
|
42
|
+
readonly head?: never;
|
|
43
|
+
readonly patch?: never;
|
|
44
|
+
readonly trace?: never;
|
|
45
|
+
};
|
|
46
|
+
readonly "/v1/me/api-keys/{key_id}/rotations": {
|
|
47
|
+
readonly parameters: {
|
|
48
|
+
readonly query?: never;
|
|
49
|
+
readonly header?: never;
|
|
50
|
+
readonly path?: never;
|
|
51
|
+
readonly cookie?: never;
|
|
52
|
+
};
|
|
53
|
+
readonly get?: never;
|
|
54
|
+
readonly put?: never;
|
|
55
|
+
/**
|
|
56
|
+
* Rotate an API key
|
|
57
|
+
* @description Issues a replacement with the same label and scopes from a freshly signed `ROTATE` challenge, while the old key keeps working until its `overlap_until`.
|
|
58
|
+
*/
|
|
59
|
+
readonly post: operations["rotatePersonalApiKey"];
|
|
60
|
+
readonly delete?: never;
|
|
61
|
+
readonly options?: never;
|
|
62
|
+
readonly head?: never;
|
|
63
|
+
readonly patch?: never;
|
|
64
|
+
readonly trace?: never;
|
|
65
|
+
};
|
|
66
|
+
readonly "/v1/me/api-key-challenges": {
|
|
67
|
+
readonly parameters: {
|
|
68
|
+
readonly query?: never;
|
|
69
|
+
readonly header?: never;
|
|
70
|
+
readonly path?: never;
|
|
71
|
+
readonly cookie?: never;
|
|
72
|
+
};
|
|
73
|
+
readonly get?: never;
|
|
74
|
+
readonly put?: never;
|
|
75
|
+
/**
|
|
76
|
+
* Create an API-key challenge
|
|
77
|
+
* @description Returns the EIP-4361 message your account wallet signs with `personal_sign` to create or rotate one key, bound to that exact request and usable once within 5 minutes.
|
|
78
|
+
*/
|
|
79
|
+
readonly post: operations["createPersonalApiKeyChallenge"];
|
|
80
|
+
readonly delete?: never;
|
|
81
|
+
readonly options?: never;
|
|
82
|
+
readonly head?: never;
|
|
83
|
+
readonly patch?: never;
|
|
84
|
+
readonly trace?: never;
|
|
85
|
+
};
|
|
86
|
+
readonly "/v1/makers/{maker_id}/api-keys": {
|
|
87
|
+
readonly parameters: {
|
|
88
|
+
readonly query?: never;
|
|
89
|
+
readonly header?: never;
|
|
90
|
+
readonly path?: never;
|
|
91
|
+
readonly cookie?: never;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* List a maker's API keys
|
|
95
|
+
* @description Lists every key of the maker, oldest first, as metadata without secrets.
|
|
96
|
+
*/
|
|
97
|
+
readonly get: operations["listMakerApiKeys"];
|
|
98
|
+
readonly put?: never;
|
|
99
|
+
/**
|
|
100
|
+
* Create a maker API key
|
|
101
|
+
* @description Issues a scoped `ttk_` key for the maker from a request its controller signed, and returns its secret this once.
|
|
102
|
+
*/
|
|
103
|
+
readonly post: operations["createMakerApiKey"];
|
|
104
|
+
readonly delete?: never;
|
|
105
|
+
readonly options?: never;
|
|
106
|
+
readonly head?: never;
|
|
107
|
+
readonly patch?: never;
|
|
108
|
+
readonly trace?: never;
|
|
109
|
+
};
|
|
110
|
+
readonly "/v1/makers/{maker_id}/api-keys/{key_id}": {
|
|
111
|
+
readonly parameters: {
|
|
112
|
+
readonly query?: never;
|
|
113
|
+
readonly header?: never;
|
|
114
|
+
readonly path?: never;
|
|
115
|
+
readonly cookie?: never;
|
|
116
|
+
};
|
|
117
|
+
readonly get?: never;
|
|
118
|
+
readonly put?: never;
|
|
119
|
+
readonly post?: never;
|
|
120
|
+
/**
|
|
121
|
+
* Revoke a maker API key
|
|
122
|
+
* @description Revokes a key of the maker at once, with any key it is rotating to or from, and answers 204 again for a key already revoked.
|
|
123
|
+
*/
|
|
124
|
+
readonly delete: operations["revokeMakerApiKey"];
|
|
125
|
+
readonly options?: never;
|
|
126
|
+
readonly head?: never;
|
|
127
|
+
readonly patch?: never;
|
|
128
|
+
readonly trace?: never;
|
|
129
|
+
};
|
|
130
|
+
readonly "/v1/makers/{maker_id}/api-keys/{key_id}/rotations": {
|
|
131
|
+
readonly parameters: {
|
|
132
|
+
readonly query?: never;
|
|
133
|
+
readonly header?: never;
|
|
134
|
+
readonly path?: never;
|
|
135
|
+
readonly cookie?: never;
|
|
136
|
+
};
|
|
137
|
+
readonly get?: never;
|
|
138
|
+
readonly put?: never;
|
|
139
|
+
/**
|
|
140
|
+
* Rotate a maker API key
|
|
141
|
+
* @description Issues a replacement with the same label and scopes from a freshly signed `ROTATE` challenge, while the old key keeps working until its `overlap_until`.
|
|
142
|
+
*/
|
|
143
|
+
readonly post: operations["rotateMakerApiKey"];
|
|
144
|
+
readonly delete?: never;
|
|
145
|
+
readonly options?: never;
|
|
146
|
+
readonly head?: never;
|
|
147
|
+
readonly patch?: never;
|
|
148
|
+
readonly trace?: never;
|
|
149
|
+
};
|
|
150
|
+
readonly "/v1/operator/api-keys": {
|
|
151
|
+
readonly parameters: {
|
|
152
|
+
readonly query?: never;
|
|
153
|
+
readonly header?: never;
|
|
154
|
+
readonly path?: never;
|
|
155
|
+
readonly cookie?: never;
|
|
156
|
+
};
|
|
157
|
+
readonly get: operations["listOperatorApiKeys"];
|
|
158
|
+
readonly put?: never;
|
|
159
|
+
readonly post: operations["createOperatorApiKey"];
|
|
160
|
+
readonly delete?: never;
|
|
161
|
+
readonly options?: never;
|
|
162
|
+
readonly head?: never;
|
|
163
|
+
readonly patch?: never;
|
|
164
|
+
readonly trace?: never;
|
|
165
|
+
};
|
|
166
|
+
readonly "/v1/operator/api-keys/{key_id}": {
|
|
167
|
+
readonly parameters: {
|
|
168
|
+
readonly query?: never;
|
|
169
|
+
readonly header?: never;
|
|
170
|
+
readonly path?: never;
|
|
171
|
+
readonly cookie?: never;
|
|
172
|
+
};
|
|
173
|
+
readonly get?: never;
|
|
174
|
+
readonly put?: never;
|
|
175
|
+
readonly post?: never;
|
|
176
|
+
readonly delete: operations["revokeOperatorApiKey"];
|
|
177
|
+
readonly options?: never;
|
|
178
|
+
readonly head?: never;
|
|
179
|
+
readonly patch?: never;
|
|
180
|
+
readonly trace?: never;
|
|
181
|
+
};
|
|
182
|
+
readonly "/v1/operator/api-keys/{key_id}/rotations": {
|
|
183
|
+
readonly parameters: {
|
|
184
|
+
readonly query?: never;
|
|
185
|
+
readonly header?: never;
|
|
186
|
+
readonly path?: never;
|
|
187
|
+
readonly cookie?: never;
|
|
188
|
+
};
|
|
189
|
+
readonly get?: never;
|
|
190
|
+
readonly put?: never;
|
|
191
|
+
readonly post: operations["rotateOperatorApiKey"];
|
|
192
|
+
readonly delete?: never;
|
|
193
|
+
readonly options?: never;
|
|
194
|
+
readonly head?: never;
|
|
195
|
+
readonly patch?: never;
|
|
196
|
+
readonly trace?: never;
|
|
197
|
+
};
|
|
198
|
+
readonly "/v1/makers/{maker_id}/api-key-challenges": {
|
|
199
|
+
readonly parameters: {
|
|
200
|
+
readonly query?: never;
|
|
201
|
+
readonly header?: never;
|
|
202
|
+
readonly path?: never;
|
|
203
|
+
readonly cookie?: never;
|
|
204
|
+
};
|
|
205
|
+
readonly get?: never;
|
|
206
|
+
readonly put?: never;
|
|
207
|
+
/**
|
|
208
|
+
* Create a maker API-key challenge
|
|
209
|
+
* @description Returns the EIP-4361 message the maker's controller signs with `personal_sign` to create or rotate one maker key, bound to that exact request and usable once within 5 minutes.
|
|
210
|
+
*/
|
|
211
|
+
readonly post: operations["createMakerApiKeyChallenge"];
|
|
212
|
+
readonly delete?: never;
|
|
213
|
+
readonly options?: never;
|
|
214
|
+
readonly head?: never;
|
|
215
|
+
readonly patch?: never;
|
|
216
|
+
readonly trace?: never;
|
|
217
|
+
};
|
|
218
|
+
readonly "/v1/me/api-key-capabilities": {
|
|
219
|
+
readonly parameters: {
|
|
220
|
+
readonly query?: never;
|
|
221
|
+
readonly header?: never;
|
|
222
|
+
readonly path?: never;
|
|
223
|
+
readonly cookie?: never;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* List issuable scopes
|
|
227
|
+
* @description Returns the scopes a new key for the session's account may hold now and the wallet that must sign it, as advice that issuance checks again.
|
|
228
|
+
*/
|
|
229
|
+
readonly get: operations["getPersonalApiKeyCapabilities"];
|
|
230
|
+
readonly put?: never;
|
|
231
|
+
readonly post?: never;
|
|
232
|
+
readonly delete?: never;
|
|
233
|
+
readonly options?: never;
|
|
234
|
+
readonly head?: never;
|
|
235
|
+
readonly patch?: never;
|
|
236
|
+
readonly trace?: never;
|
|
237
|
+
};
|
|
238
|
+
readonly "/v1/makers/{maker_id}/api-key-capabilities": {
|
|
239
|
+
readonly parameters: {
|
|
240
|
+
readonly query?: never;
|
|
241
|
+
readonly header?: never;
|
|
242
|
+
readonly path?: never;
|
|
243
|
+
readonly cookie?: never;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* List a maker's issuable scopes
|
|
247
|
+
* @description Returns the scopes a new key for the maker may hold now and the controller that must sign it, as advice that issuance checks again.
|
|
248
|
+
*/
|
|
249
|
+
readonly get: operations["getMakerApiKeyCapabilities"];
|
|
250
|
+
readonly put?: never;
|
|
251
|
+
readonly post?: never;
|
|
252
|
+
readonly delete?: never;
|
|
253
|
+
readonly options?: never;
|
|
254
|
+
readonly head?: never;
|
|
255
|
+
readonly patch?: never;
|
|
256
|
+
readonly trace?: never;
|
|
257
|
+
};
|
|
258
|
+
};
|
|
259
|
+
export type webhooks = Record<string, never>;
|
|
260
|
+
export type components = {
|
|
261
|
+
schemas: {
|
|
262
|
+
/**
|
|
263
|
+
* @description Maximum items in one page. A page may hold fewer, even none, while has_more is true.
|
|
264
|
+
* @default 50
|
|
265
|
+
*/
|
|
266
|
+
readonly PageLimit: number;
|
|
267
|
+
/** @description Opaque list cursor. Send a previous response's next_cursor back unchanged; never build or parse one. */
|
|
268
|
+
readonly PageCursor: string;
|
|
269
|
+
/** Format: date-time */
|
|
270
|
+
readonly Timestamp: string;
|
|
271
|
+
/** Format: uuid */
|
|
272
|
+
readonly Uuid: string;
|
|
273
|
+
/** Format: uint64-decimal */
|
|
274
|
+
readonly UInt64String: string;
|
|
275
|
+
readonly NonZeroUInt64String: components["schemas"]["UInt64String"] & unknown;
|
|
276
|
+
readonly LowercaseNonZeroAddress: string;
|
|
277
|
+
/** @description The one account a key acts for: a personal account or a maker vault. A key never spans accounts. */
|
|
278
|
+
readonly Account: {
|
|
279
|
+
/**
|
|
280
|
+
* @description The account kind: `PARTICIPANT` for a personal account.
|
|
281
|
+
* @constant
|
|
282
|
+
*/
|
|
283
|
+
readonly kind: "PARTICIPANT";
|
|
284
|
+
/** @description The personal account's ID. */
|
|
285
|
+
readonly id: components["schemas"]["Uuid"];
|
|
286
|
+
} | {
|
|
287
|
+
/**
|
|
288
|
+
* @description The account kind: `MAKER` for a maker vault.
|
|
289
|
+
* @constant
|
|
290
|
+
*/
|
|
291
|
+
readonly kind: "MAKER";
|
|
292
|
+
/** @description The on-chain maker ID, as a decimal string. */
|
|
293
|
+
readonly id: components["schemas"]["NonZeroUInt64String"];
|
|
294
|
+
/**
|
|
295
|
+
* @description The HyperEVM chain of the maker's vault: 999 mainnet, 998 testnet.
|
|
296
|
+
* @enum {string}
|
|
297
|
+
*/
|
|
298
|
+
readonly chain_id: "998" | "999";
|
|
299
|
+
/** @description The Totalis vault contract the maker is registered in. */
|
|
300
|
+
readonly vault_address: components["schemas"]["LowercaseNonZeroAddress"];
|
|
301
|
+
} | {
|
|
302
|
+
/**
|
|
303
|
+
* @description The account kind: `OPERATOR`, never issued.
|
|
304
|
+
* @constant
|
|
305
|
+
*/
|
|
306
|
+
readonly kind: "OPERATOR";
|
|
307
|
+
/** @description The operator's ID. */
|
|
308
|
+
readonly id: components["schemas"]["Uuid"];
|
|
309
|
+
};
|
|
310
|
+
readonly KeyLabel: string;
|
|
311
|
+
/**
|
|
312
|
+
* @description One permission a key can hold. Each operation lists the scopes it requires, and a key holds only scopes that apply to its account, as the capabilities routes list. `operations:read` is reserved and never issued; `maker:access:read` is no longer issued and has no effect on a key that still carries it.
|
|
313
|
+
* @enum {string}
|
|
314
|
+
*/
|
|
315
|
+
readonly Scope: "identity:read" | "account:read" | "account:stream" | "rfq:read" | "rfq:write" | "quote:write" | "quote:read" | "replay:read" | "vault:read" | "vault:write" | "quote:accept" | "position:cashout" | "funding:deposit" | "funding:withdraw" | "sponsorship:use" | "maker:access:read" | "operations:read" | "operations:submit";
|
|
316
|
+
/** @description Replay needs a feed the key can read: account:stream or rfq:read for a personal account, vault:read, quote:read or rfq:read for a maker. */
|
|
317
|
+
readonly ScopeList: readonly components["schemas"]["Scope"][] & unknown & unknown & unknown;
|
|
318
|
+
readonly KeyMetadata: {
|
|
319
|
+
/** @description Key ID; the secret embeds it, and the key routes take it as `key_id`. */
|
|
320
|
+
readonly id: components["schemas"]["Uuid"];
|
|
321
|
+
/** @description The one account the key acts for. */
|
|
322
|
+
readonly account: components["schemas"]["Account"];
|
|
323
|
+
/**
|
|
324
|
+
* @description The deployment the key works in; a key never works in another.
|
|
325
|
+
* @enum {unknown}
|
|
326
|
+
*/
|
|
327
|
+
readonly environment: "development" | "staging" | "production";
|
|
328
|
+
/** @description Your name for the key, 1 to 80 characters. */
|
|
329
|
+
readonly label: components["schemas"]["KeyLabel"];
|
|
330
|
+
/** @description Permissions the key holds; each operation lists the scopes it requires. */
|
|
331
|
+
readonly scopes: components["schemas"]["ScopeList"];
|
|
332
|
+
/**
|
|
333
|
+
* @description `ACTIVE`; `ROTATING` once a rotation replaced it, until `overlap_until`; `EXPIRED` past its deadline; or `REVOKED`.
|
|
334
|
+
* @enum {unknown}
|
|
335
|
+
*/
|
|
336
|
+
readonly status: "ACTIVE" | "ROTATING" | "EXPIRED" | "REVOKED";
|
|
337
|
+
/** @description When the key was issued. */
|
|
338
|
+
readonly created_at: components["schemas"]["Timestamp"];
|
|
339
|
+
/** @description Null means no scheduled expiry. Revocation, overlap deadlines and current authority still apply. */
|
|
340
|
+
readonly expires_at: components["schemas"]["Timestamp"] | null;
|
|
341
|
+
/** @description When the key last authenticated a request, or null if never. */
|
|
342
|
+
readonly last_used_at: components["schemas"]["Timestamp"] | null;
|
|
343
|
+
/** @description When the key was revoked, or null. */
|
|
344
|
+
readonly revoked_at: components["schemas"]["Timestamp"] | null;
|
|
345
|
+
/** @description The key this one replaced in a rotation, or null for a newly created key. */
|
|
346
|
+
readonly rotated_from: components["schemas"]["Uuid"] | null;
|
|
347
|
+
/** @description While `ROTATING`, when this replaced key stops working; otherwise null. */
|
|
348
|
+
readonly overlap_until: components["schemas"]["Timestamp"] | null;
|
|
349
|
+
} & (unknown & unknown & unknown & unknown & unknown & unknown);
|
|
350
|
+
/** @description Opaque cursor for the next page, or null when has_more is false. */
|
|
351
|
+
readonly NextCursor: string | null;
|
|
352
|
+
readonly KeyList: {
|
|
353
|
+
/** @description Keys of the account, oldest first, revoked and expired ones included. */
|
|
354
|
+
readonly items: readonly components["schemas"]["KeyMetadata"][];
|
|
355
|
+
/** @description Send as `cursor` for the next page; null on the last page. */
|
|
356
|
+
readonly next_cursor: components["schemas"]["NextCursor"];
|
|
357
|
+
/** @description Whether another page follows. */
|
|
358
|
+
readonly has_more: boolean;
|
|
359
|
+
};
|
|
360
|
+
readonly PersonalKeyMetadata: components["schemas"]["KeyMetadata"] & {
|
|
361
|
+
/** @description The account the key acts for. */
|
|
362
|
+
readonly account?: {
|
|
363
|
+
/**
|
|
364
|
+
* @description The account kind: `PARTICIPANT` for a personal account.
|
|
365
|
+
* @constant
|
|
366
|
+
*/
|
|
367
|
+
readonly kind?: "PARTICIPANT";
|
|
368
|
+
};
|
|
369
|
+
};
|
|
370
|
+
readonly PersonalKeyList: components["schemas"]["KeyList"] & {
|
|
371
|
+
/** @description Keys of the account, oldest first. */
|
|
372
|
+
readonly items?: unknown;
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* @description Stable HTTP error code. Each code has one HTTP status and one retry value.
|
|
376
|
+
* @enum {string}
|
|
377
|
+
*/
|
|
378
|
+
readonly ErrorCode: "INVALID_REQUEST" | "INVALID_QUERY" | "INVALID_CURSOR" | "INVALID_IDEMPOTENCY_KEY" | "ORIGIN_REQUIRED" | "SUBPROTOCOL_REQUIRED" | "UNSUPPORTED_BROWSE_CONTRACT" | "UNAUTHENTICATED" | "FORBIDDEN" | "ORIGIN_NOT_ALLOWED" | "ACCESS_REQUIRED" | "SIGN_IN_REQUIRED" | "NOT_FOUND" | "IDENTITY_NOT_FOUND" | "QUOTE_NOT_FOUND" | "INVITE_CODE_NOT_FOUND" | "IDEMPOTENCY_KEY_REUSED" | "STATE_CONFLICT" | "INVITE_CODE_EXHAUSTED" | "STALE_CURSOR" | "CURSOR_EXPIRED" | "CURSOR_RESET" | "RECURRING_DEFINITION_CONFLICT" | "EMBEDDED_WALLET_CONFLICT" | "SECRET_UNAVAILABLE" | "ROTATION_IN_PROGRESS" | "TELEMETRY_CONFLICT" | "RFQ_NOT_CANCELLABLE" | "RFQ_NOT_OPEN" | "RFQ_GENERATION_STALE" | "RFQ_GENERATION_IN_FLIGHT" | "QUOTE_EXPIRED" | "QUOTE_CANCELLED" | "QUOTE_REPLACED" | "QUOTE_SIGNER_CHANGED" | "QUOTE_CAPACITY_EXCEEDED" | "CORE_ACCOUNT_NOT_READY" | "CORE_ACCOUNT_ACTIVATION_REQUIRED" | "CORE_EXIT_ABANDONED" | "CORE_MOVE_IN_FLIGHT" | "ACCEPTANCE_IN_FLIGHT" | "USERNAME_TAKEN" | "USERNAME_ALREADY_SET" | "USERNAME_REQUIRED" | "INVALID_SIGNATURE" | "WALLET_CONTRACT_UNSUPPORTED" | "WRONG_AUTHORITY" | "KEY_LIMIT_REACHED" | "USERNAME_NOT_ALLOWED" | "FOLLOW_SELF" | "FOLLOW_LIMIT_REACHED" | "RATE_LIMITED" | "CONNECTION_LIMIT" | "RFQ_INTENT_LIMIT" | "QUOTE_EXPOSURE_LIMIT" | "DEPENDENCY_STALE" | "AUTHORIZATION_UNAVAILABLE" | "SOURCE_UNAVAILABLE" | "CONTRACT_UNAVAILABLE" | "MARKET_DATA_UNAVAILABLE" | "BROWSE_UNAVAILABLE" | "FINANCIAL_ACTIONS_DISABLED" | "CORE_EXIT_UNAVAILABLE" | "COLLATERAL_REDUCTION_UNAVAILABLE" | "SPONSORSHIP_UNAVAILABLE" | "CONTRACT_SIGNATURE_OVERLOADED" | "QUOTE_EXPOSURE_STALE" | "COMBO_AUTOMATIC_DISABLED" | "GAS_PRICE_ABOVE_CEILING" | "EMBEDDED_WALLET_UNAVAILABLE" | "CONNECTION_DRAIN";
|
|
379
|
+
readonly FieldViolation: {
|
|
380
|
+
/**
|
|
381
|
+
* @description REQUIRED: the input is missing. INVALID: it is present but malformed or out of range. UNEXPECTED: the input is not accepted here.
|
|
382
|
+
* @enum {string}
|
|
383
|
+
*/
|
|
384
|
+
readonly code: "REQUIRED" | "INVALID" | "UNEXPECTED";
|
|
385
|
+
/** @description JSON pointer into the body, or into the query parameters as one flat object for requests without a body, for example /legs/0/stake or /limit. */
|
|
386
|
+
readonly field: string;
|
|
387
|
+
};
|
|
388
|
+
/**
|
|
389
|
+
* @description NEVER: stop. BACKOFF: resend the same request with the same Idempotency-Key after Retry-After. REFRESH: re-read state, then send a new request with a new Idempotency-Key.
|
|
390
|
+
* @enum {string}
|
|
391
|
+
*/
|
|
392
|
+
readonly Retry: "NEVER" | "BACKOFF" | "REFRESH";
|
|
393
|
+
readonly ErrorDetail: {
|
|
394
|
+
/** @description Stable registered code; branch on this, not on message or status. */
|
|
395
|
+
readonly code: components["schemas"]["ErrorCode"];
|
|
396
|
+
/** @description Each invalid input by JSON pointer; empty when the error is not about a specific input. */
|
|
397
|
+
readonly field_violations: readonly components["schemas"]["FieldViolation"][];
|
|
398
|
+
/** @description Human-readable; may change without notice. */
|
|
399
|
+
readonly message: string;
|
|
400
|
+
/**
|
|
401
|
+
* Format: uuid
|
|
402
|
+
* @description UUIDv7 of this request, also returned in the X-Request-ID header. Quote it when reporting a problem.
|
|
403
|
+
*/
|
|
404
|
+
readonly request_id: string;
|
|
405
|
+
/** @description What the caller should do next; fixed by the registry for each code. */
|
|
406
|
+
readonly retry: components["schemas"]["Retry"];
|
|
407
|
+
};
|
|
408
|
+
readonly Error: {
|
|
409
|
+
/** @description The one error this request failed with. */
|
|
410
|
+
readonly error: components["schemas"]["ErrorDetail"];
|
|
411
|
+
};
|
|
412
|
+
/**
|
|
413
|
+
* @description 0 means Forever (no expiry); 1–90 sets a finite lifetime in days. Omission defaults to 30.
|
|
414
|
+
* @default 30
|
|
415
|
+
*/
|
|
416
|
+
readonly KeyExpiryDays: number;
|
|
417
|
+
readonly ContractSignature: string;
|
|
418
|
+
/** @description The account owner's personal_sign or ERC-1271 signature over the exact challenge message. For a maker the owner is its controller; for a personal account, its account wallet. */
|
|
419
|
+
readonly OwnerProof: {
|
|
420
|
+
/** @description The `challenge_id` of the challenge that was signed. */
|
|
421
|
+
readonly challenge_id: components["schemas"]["Uuid"];
|
|
422
|
+
/** @description The owner's signature over the challenge's `message`, exactly as returned. */
|
|
423
|
+
readonly signature: components["schemas"]["ContractSignature"];
|
|
424
|
+
};
|
|
425
|
+
/** @description The same shape for a personal account and a maker. proof is the owner's signature over the issue_key challenge for exactly this request without proof. */
|
|
426
|
+
readonly CreateKeyRequest: {
|
|
427
|
+
/** @description Your name for the key, 1 to 80 characters. */
|
|
428
|
+
readonly label: components["schemas"]["KeyLabel"];
|
|
429
|
+
/** @description Permissions the key holds; each must apply to the account, as the capabilities route lists. */
|
|
430
|
+
readonly scopes: components["schemas"]["ScopeList"];
|
|
431
|
+
/** @description Lifetime in days, 1 to 90, or 0 for no expiry; 30 when omitted. */
|
|
432
|
+
readonly expires_in_days?: components["schemas"]["KeyExpiryDays"];
|
|
433
|
+
/** @description The account owner's signature over the challenge for exactly this request without `proof`. */
|
|
434
|
+
readonly proof: components["schemas"]["OwnerProof"];
|
|
435
|
+
};
|
|
436
|
+
readonly IssuedKey: {
|
|
437
|
+
/** @description The new key's metadata. */
|
|
438
|
+
readonly key: components["schemas"]["KeyMetadata"] & {
|
|
439
|
+
/**
|
|
440
|
+
* @description Always `ACTIVE` for a new key.
|
|
441
|
+
* @constant
|
|
442
|
+
*/
|
|
443
|
+
readonly status?: "ACTIVE";
|
|
444
|
+
/** @description Always null for a new key. */
|
|
445
|
+
readonly last_used_at?: null;
|
|
446
|
+
/** @description Always null for a new key. */
|
|
447
|
+
readonly revoked_at?: null;
|
|
448
|
+
/** @description Always null for a new key. */
|
|
449
|
+
readonly overlap_until?: null;
|
|
450
|
+
};
|
|
451
|
+
/** @description The `ttk_` secret, shown only in this response; a retry of the same request answers `SECRET_UNAVAILABLE`, so store it now. */
|
|
452
|
+
readonly secret: string;
|
|
453
|
+
};
|
|
454
|
+
readonly PersonalIssuedKey: components["schemas"]["IssuedKey"] & {
|
|
455
|
+
/** @description The new key's metadata. */
|
|
456
|
+
readonly key?: components["schemas"]["PersonalKeyMetadata"];
|
|
457
|
+
};
|
|
458
|
+
readonly CreatedKey: components["schemas"]["IssuedKey"] & {
|
|
459
|
+
/** @description The new key's metadata. */
|
|
460
|
+
readonly key?: {
|
|
461
|
+
/** @description Always null for a created key. */
|
|
462
|
+
readonly rotated_from?: null;
|
|
463
|
+
};
|
|
464
|
+
};
|
|
465
|
+
readonly PersonalCreatedKey: components["schemas"]["PersonalIssuedKey"] & components["schemas"]["CreatedKey"];
|
|
466
|
+
/** @default 3600 */
|
|
467
|
+
readonly RotationOverlapSeconds: number;
|
|
468
|
+
/** @description Every rotation needs a fresh owner proof over exactly this request without proof. The replacement inherits the predecessor's account, label and scopes. */
|
|
469
|
+
readonly RotateKeyRequest: {
|
|
470
|
+
/** @description How long the old key keeps working after the rotation, 0 to 86400 seconds; 3600 when omitted. */
|
|
471
|
+
readonly overlap_seconds?: components["schemas"]["RotationOverlapSeconds"];
|
|
472
|
+
/** @description The replacement's lifetime in days, 1 to 90, or 0 for no expiry; 30 when omitted. */
|
|
473
|
+
readonly expires_in_days?: components["schemas"]["KeyExpiryDays"];
|
|
474
|
+
/** @description The account owner's signature over the challenge for exactly this request without `proof`. */
|
|
475
|
+
readonly proof: components["schemas"]["OwnerProof"];
|
|
476
|
+
};
|
|
477
|
+
readonly RotatedKey: components["schemas"]["IssuedKey"] & {
|
|
478
|
+
/** @description The replacement key's metadata. */
|
|
479
|
+
readonly key?: {
|
|
480
|
+
/** @description The rotated key, the `key_id` in the path. */
|
|
481
|
+
readonly rotated_from?: components["schemas"]["Uuid"];
|
|
482
|
+
};
|
|
483
|
+
};
|
|
484
|
+
readonly PersonalRotatedKey: components["schemas"]["PersonalIssuedKey"] & components["schemas"]["RotatedKey"];
|
|
485
|
+
/** @description The exact key request the account owner signs. Scopes must apply to the account. */
|
|
486
|
+
readonly UnsignedCreateKeyRequest: {
|
|
487
|
+
/** @description Your name for the key, 1 to 80 characters. */
|
|
488
|
+
readonly label: components["schemas"]["KeyLabel"];
|
|
489
|
+
/** @description Permissions the key holds; each must apply to the account, as the capabilities route lists. */
|
|
490
|
+
readonly scopes: components["schemas"]["ScopeList"];
|
|
491
|
+
/** @description Lifetime in days, 1 to 90, or 0 for no expiry; 30 when omitted. */
|
|
492
|
+
readonly expires_in_days?: components["schemas"]["KeyExpiryDays"];
|
|
493
|
+
};
|
|
494
|
+
/** @description The exact rotation request the account owner signs; the replacement inherits the old key's account, label and scopes. */
|
|
495
|
+
readonly UnsignedRotateKeyRequest: {
|
|
496
|
+
/** @description How long the old key keeps working after the rotation, 0 to 86400 seconds; 3600 when omitted. */
|
|
497
|
+
readonly overlap_seconds?: components["schemas"]["RotationOverlapSeconds"];
|
|
498
|
+
/** @description The replacement's lifetime in days, 1 to 90, or 0 for no expiry; 30 when omitted. */
|
|
499
|
+
readonly expires_in_days?: components["schemas"]["KeyExpiryDays"];
|
|
500
|
+
};
|
|
501
|
+
readonly KeyChallengeRequest: {
|
|
502
|
+
/**
|
|
503
|
+
* @description `CREATE` for a new key.
|
|
504
|
+
* @constant
|
|
505
|
+
*/
|
|
506
|
+
readonly action: "CREATE";
|
|
507
|
+
/** @description The exact create request, without `proof`, that the owner signs. */
|
|
508
|
+
readonly request: components["schemas"]["UnsignedCreateKeyRequest"];
|
|
509
|
+
} | {
|
|
510
|
+
/**
|
|
511
|
+
* @description `ROTATE` to replace a key.
|
|
512
|
+
* @constant
|
|
513
|
+
*/
|
|
514
|
+
readonly action: "ROTATE";
|
|
515
|
+
/** @description The key to rotate. */
|
|
516
|
+
readonly key_id: components["schemas"]["Uuid"];
|
|
517
|
+
/** @description The exact rotation request, without `proof`, that the owner signs. */
|
|
518
|
+
readonly request: components["schemas"]["UnsignedRotateKeyRequest"];
|
|
519
|
+
};
|
|
520
|
+
/** @description An EIP-4361 (SIWE) message with purpose=issue_key. Its resources bind the environment, vault, account, owner version (makers), action, key (rotation) and the request digest. */
|
|
521
|
+
readonly KeyChallenge: {
|
|
522
|
+
/** @description Send back as `proof.challenge_id`. */
|
|
523
|
+
readonly challenge_id: components["schemas"]["Uuid"];
|
|
524
|
+
/** @description The address that must sign: the account wallet for a personal account, the controller for a maker. */
|
|
525
|
+
readonly owner: components["schemas"]["LowercaseNonZeroAddress"];
|
|
526
|
+
/** @description The EIP-4361 message to sign with `personal_sign`, exactly as returned; check its URI, account, action and key before signing. */
|
|
527
|
+
readonly message: string;
|
|
528
|
+
/** @description When the challenge stops being accepted, 5 minutes after issue. */
|
|
529
|
+
readonly expires_at: components["schemas"]["Timestamp"];
|
|
530
|
+
};
|
|
531
|
+
readonly MakerKeyMetadata: components["schemas"]["KeyMetadata"] & {
|
|
532
|
+
/** @description The account the key acts for. */
|
|
533
|
+
readonly account?: {
|
|
534
|
+
/**
|
|
535
|
+
* @description The account kind: `MAKER` for a maker vault.
|
|
536
|
+
* @constant
|
|
537
|
+
*/
|
|
538
|
+
readonly kind?: "MAKER";
|
|
539
|
+
};
|
|
540
|
+
};
|
|
541
|
+
readonly MakerKeyList: components["schemas"]["KeyList"] & {
|
|
542
|
+
/** @description Keys of the account, oldest first. */
|
|
543
|
+
readonly items?: unknown;
|
|
544
|
+
};
|
|
545
|
+
readonly MakerIssuedKey: components["schemas"]["IssuedKey"] & {
|
|
546
|
+
/** @description The new key's metadata. */
|
|
547
|
+
readonly key?: components["schemas"]["MakerKeyMetadata"];
|
|
548
|
+
};
|
|
549
|
+
readonly MakerCreatedKey: components["schemas"]["MakerIssuedKey"] & components["schemas"]["CreatedKey"];
|
|
550
|
+
readonly MakerRotatedKey: components["schemas"]["MakerIssuedKey"] & components["schemas"]["RotatedKey"];
|
|
551
|
+
readonly OperatorKeyMetadata: components["schemas"]["KeyMetadata"] & {
|
|
552
|
+
readonly account?: {
|
|
553
|
+
/** @constant */
|
|
554
|
+
readonly kind?: "OPERATOR";
|
|
555
|
+
};
|
|
556
|
+
};
|
|
557
|
+
readonly OperatorKeyList: components["schemas"]["KeyList"] & {
|
|
558
|
+
readonly items?: unknown;
|
|
559
|
+
};
|
|
560
|
+
/** @description Issuance disabled: no reviewed operator diagnostics route exists. A future contract must introduce an explicit operator scope allowlist before issuance. */
|
|
561
|
+
readonly OperatorCreateKeyRequest: unknown;
|
|
562
|
+
readonly OperatorIssuedKey: components["schemas"]["IssuedKey"] & {
|
|
563
|
+
readonly key?: components["schemas"]["OperatorKeyMetadata"];
|
|
564
|
+
};
|
|
565
|
+
readonly OperatorCreatedKey: components["schemas"]["OperatorIssuedKey"] & components["schemas"]["CreatedKey"];
|
|
566
|
+
readonly OperatorRotatedKey: components["schemas"]["OperatorIssuedKey"] & components["schemas"]["RotatedKey"];
|
|
567
|
+
/** @description Advisory, no-store snapshot of the scopes a new key for this account may hold and the owner whose signature issues it. Scope dependencies still apply. Issuance revalidates current authority and consumes the owner's proof; discovery is never an authorization lease. */
|
|
568
|
+
readonly KeyCapabilities: {
|
|
569
|
+
/** @description The account a new key would act for. */
|
|
570
|
+
readonly account: components["schemas"]["Account"];
|
|
571
|
+
/**
|
|
572
|
+
* @description The deployment a new key would work in.
|
|
573
|
+
* @enum {unknown}
|
|
574
|
+
*/
|
|
575
|
+
readonly environment: "development" | "staging" | "production";
|
|
576
|
+
/** @description The address that signs issuance: the account wallet for a personal account, the controller for a maker. */
|
|
577
|
+
readonly owner: components["schemas"]["LowercaseNonZeroAddress"];
|
|
578
|
+
/** @description Scopes a new key for this account may hold now. */
|
|
579
|
+
readonly scopes: readonly components["schemas"]["Scope"][];
|
|
580
|
+
/** @description When this snapshot was taken. */
|
|
581
|
+
readonly as_of: components["schemas"]["Timestamp"];
|
|
582
|
+
};
|
|
583
|
+
};
|
|
584
|
+
responses: {
|
|
585
|
+
/** @description Lifecycle error; `code` is one of the operation's x-totalis-errors */
|
|
586
|
+
readonly Error: {
|
|
587
|
+
headers: {
|
|
588
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
589
|
+
readonly [name: string]: unknown;
|
|
590
|
+
};
|
|
591
|
+
content: {
|
|
592
|
+
readonly "application/json": components["schemas"]["Error"];
|
|
593
|
+
};
|
|
594
|
+
};
|
|
595
|
+
/** @description Key-management quota exhausted; resend after Retry-After */
|
|
596
|
+
readonly RateLimited: {
|
|
597
|
+
headers: {
|
|
598
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
599
|
+
readonly "Retry-After": components["headers"]["RetryAfter"];
|
|
600
|
+
readonly [name: string]: unknown;
|
|
601
|
+
};
|
|
602
|
+
content: {
|
|
603
|
+
readonly "application/json": components["schemas"]["Error"];
|
|
604
|
+
};
|
|
605
|
+
};
|
|
606
|
+
/** @description Credential authority unavailable or its chain projection stale; resend after Retry-After */
|
|
607
|
+
readonly Unavailable: {
|
|
608
|
+
headers: {
|
|
609
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
610
|
+
readonly "Retry-After": components["headers"]["RetryAfter"];
|
|
611
|
+
readonly [name: string]: unknown;
|
|
612
|
+
};
|
|
613
|
+
content: {
|
|
614
|
+
readonly "application/json": components["schemas"]["Error"];
|
|
615
|
+
};
|
|
616
|
+
};
|
|
617
|
+
};
|
|
618
|
+
parameters: {
|
|
619
|
+
/**
|
|
620
|
+
* @description Maximum items per page, 1 to 200, default 50. A page may hold fewer, even none, while has_more is true.
|
|
621
|
+
* @example 50
|
|
622
|
+
*/
|
|
623
|
+
readonly Limit: components["schemas"]["PageLimit"];
|
|
624
|
+
/**
|
|
625
|
+
* @description Omit for the first page; then send the previous response's next_cursor unchanged.
|
|
626
|
+
* @example eyJ2IjoxLCJzIjoiMTIzNDUifQ
|
|
627
|
+
*/
|
|
628
|
+
readonly Cursor: components["schemas"]["PageCursor"];
|
|
629
|
+
/**
|
|
630
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
631
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
632
|
+
*/
|
|
633
|
+
readonly IdempotencyKey: string;
|
|
634
|
+
/**
|
|
635
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
636
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
637
|
+
*/
|
|
638
|
+
readonly KeyId: components["schemas"]["Uuid"];
|
|
639
|
+
/**
|
|
640
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
641
|
+
* @example 3
|
|
642
|
+
*/
|
|
643
|
+
readonly MakerId: components["schemas"]["NonZeroUInt64String"];
|
|
644
|
+
};
|
|
645
|
+
requestBodies: never;
|
|
646
|
+
headers: {
|
|
647
|
+
/** @description Never cache API-key management responses. */
|
|
648
|
+
readonly CacheControlNoStore: "no-store";
|
|
649
|
+
/** @description Seconds to wait before resending the same request. */
|
|
650
|
+
readonly RetryAfter: number;
|
|
651
|
+
};
|
|
652
|
+
pathItems: never;
|
|
653
|
+
};
|
|
654
|
+
export type $defs = Record<string, never>;
|
|
655
|
+
export interface operations {
|
|
656
|
+
readonly listPersonalApiKeys: {
|
|
657
|
+
readonly parameters: {
|
|
658
|
+
readonly query?: {
|
|
659
|
+
/**
|
|
660
|
+
* @description Maximum items per page, 1 to 200, default 50. A page may hold fewer, even none, while has_more is true.
|
|
661
|
+
* @example 50
|
|
662
|
+
*/
|
|
663
|
+
readonly limit?: components["parameters"]["Limit"];
|
|
664
|
+
/**
|
|
665
|
+
* @description Omit for the first page; then send the previous response's next_cursor unchanged.
|
|
666
|
+
* @example eyJ2IjoxLCJzIjoiMTIzNDUifQ
|
|
667
|
+
*/
|
|
668
|
+
readonly cursor?: components["parameters"]["Cursor"];
|
|
669
|
+
};
|
|
670
|
+
readonly header?: never;
|
|
671
|
+
readonly path?: never;
|
|
672
|
+
readonly cookie?: never;
|
|
673
|
+
};
|
|
674
|
+
readonly requestBody?: never;
|
|
675
|
+
readonly responses: {
|
|
676
|
+
/** @description One page of key metadata, never a secret. */
|
|
677
|
+
readonly 200: {
|
|
678
|
+
headers: {
|
|
679
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
680
|
+
readonly [name: string]: unknown;
|
|
681
|
+
};
|
|
682
|
+
content: {
|
|
683
|
+
readonly "application/json": components["schemas"]["PersonalKeyList"];
|
|
684
|
+
};
|
|
685
|
+
};
|
|
686
|
+
readonly 400: components["responses"]["Error"];
|
|
687
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
688
|
+
readonly 401: components["responses"]["Error"];
|
|
689
|
+
/** @description A missing, repeated or unregistered `Origin`. */
|
|
690
|
+
readonly 403: components["responses"]["Error"];
|
|
691
|
+
readonly 404: components["responses"]["Error"];
|
|
692
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
693
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
694
|
+
};
|
|
695
|
+
};
|
|
696
|
+
readonly createPersonalApiKey: {
|
|
697
|
+
readonly parameters: {
|
|
698
|
+
readonly query?: never;
|
|
699
|
+
readonly header: {
|
|
700
|
+
/**
|
|
701
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
702
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
703
|
+
*/
|
|
704
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
705
|
+
};
|
|
706
|
+
readonly path?: never;
|
|
707
|
+
readonly cookie?: never;
|
|
708
|
+
};
|
|
709
|
+
readonly requestBody: {
|
|
710
|
+
readonly content: {
|
|
711
|
+
readonly "application/json": components["schemas"]["CreateKeyRequest"];
|
|
712
|
+
};
|
|
713
|
+
};
|
|
714
|
+
readonly responses: {
|
|
715
|
+
/** @description The new key and its secret, shown only in this response. */
|
|
716
|
+
readonly 201: {
|
|
717
|
+
headers: {
|
|
718
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
719
|
+
readonly [name: string]: unknown;
|
|
720
|
+
};
|
|
721
|
+
content: {
|
|
722
|
+
readonly "application/json": components["schemas"]["PersonalCreatedKey"];
|
|
723
|
+
};
|
|
724
|
+
};
|
|
725
|
+
readonly 400: components["responses"]["Error"];
|
|
726
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
727
|
+
readonly 401: components["responses"]["Error"];
|
|
728
|
+
/** @description A missing, repeated or unregistered `Origin`, or a `proof` that is not the owner's signature of an unexpired, unused challenge for exactly this request. */
|
|
729
|
+
readonly 403: components["responses"]["Error"];
|
|
730
|
+
readonly 404: components["responses"]["Error"];
|
|
731
|
+
readonly 409: components["responses"]["Error"];
|
|
732
|
+
readonly 422: components["responses"]["Error"];
|
|
733
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
734
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
735
|
+
};
|
|
736
|
+
};
|
|
737
|
+
readonly revokePersonalApiKey: {
|
|
738
|
+
readonly parameters: {
|
|
739
|
+
readonly query?: never;
|
|
740
|
+
readonly header?: never;
|
|
741
|
+
readonly path: {
|
|
742
|
+
/**
|
|
743
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
744
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
745
|
+
*/
|
|
746
|
+
readonly key_id: components["parameters"]["KeyId"];
|
|
747
|
+
};
|
|
748
|
+
readonly cookie?: never;
|
|
749
|
+
};
|
|
750
|
+
readonly requestBody?: never;
|
|
751
|
+
readonly responses: {
|
|
752
|
+
/** @description Revoked or already revoked */
|
|
753
|
+
readonly 204: {
|
|
754
|
+
headers: {
|
|
755
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
756
|
+
readonly [name: string]: unknown;
|
|
757
|
+
};
|
|
758
|
+
content?: never;
|
|
759
|
+
};
|
|
760
|
+
readonly 400: components["responses"]["Error"];
|
|
761
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
762
|
+
readonly 401: components["responses"]["Error"];
|
|
763
|
+
/** @description A missing, repeated or unregistered `Origin`. */
|
|
764
|
+
readonly 403: components["responses"]["Error"];
|
|
765
|
+
readonly 404: components["responses"]["Error"];
|
|
766
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
767
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
768
|
+
};
|
|
769
|
+
};
|
|
770
|
+
readonly rotatePersonalApiKey: {
|
|
771
|
+
readonly parameters: {
|
|
772
|
+
readonly query?: never;
|
|
773
|
+
readonly header: {
|
|
774
|
+
/**
|
|
775
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
776
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
777
|
+
*/
|
|
778
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
779
|
+
};
|
|
780
|
+
readonly path: {
|
|
781
|
+
/**
|
|
782
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
783
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
784
|
+
*/
|
|
785
|
+
readonly key_id: components["parameters"]["KeyId"];
|
|
786
|
+
};
|
|
787
|
+
readonly cookie?: never;
|
|
788
|
+
};
|
|
789
|
+
readonly requestBody: {
|
|
790
|
+
readonly content: {
|
|
791
|
+
readonly "application/json": components["schemas"]["RotateKeyRequest"];
|
|
792
|
+
};
|
|
793
|
+
};
|
|
794
|
+
readonly responses: {
|
|
795
|
+
/** @description The replacement key and its secret, shown only in this response. */
|
|
796
|
+
readonly 201: {
|
|
797
|
+
headers: {
|
|
798
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
799
|
+
readonly [name: string]: unknown;
|
|
800
|
+
};
|
|
801
|
+
content: {
|
|
802
|
+
readonly "application/json": components["schemas"]["PersonalRotatedKey"];
|
|
803
|
+
};
|
|
804
|
+
};
|
|
805
|
+
readonly 400: components["responses"]["Error"];
|
|
806
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
807
|
+
readonly 401: components["responses"]["Error"];
|
|
808
|
+
/** @description A missing, repeated or unregistered `Origin`, or a `proof` that is not the owner's signature of an unexpired, unused challenge for exactly this request. */
|
|
809
|
+
readonly 403: components["responses"]["Error"];
|
|
810
|
+
readonly 404: components["responses"]["Error"];
|
|
811
|
+
readonly 409: components["responses"]["Error"];
|
|
812
|
+
readonly 422: components["responses"]["Error"];
|
|
813
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
814
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
815
|
+
};
|
|
816
|
+
};
|
|
817
|
+
readonly createPersonalApiKeyChallenge: {
|
|
818
|
+
readonly parameters: {
|
|
819
|
+
readonly query?: never;
|
|
820
|
+
readonly header: {
|
|
821
|
+
/**
|
|
822
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
823
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
824
|
+
*/
|
|
825
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
826
|
+
};
|
|
827
|
+
readonly path?: never;
|
|
828
|
+
readonly cookie?: never;
|
|
829
|
+
};
|
|
830
|
+
readonly requestBody: {
|
|
831
|
+
readonly content: {
|
|
832
|
+
readonly "application/json": components["schemas"]["KeyChallengeRequest"];
|
|
833
|
+
};
|
|
834
|
+
};
|
|
835
|
+
readonly responses: {
|
|
836
|
+
/** @description Five-minute, one-use SIWE challenge (purpose=issue_key) the account owner signs for the exact key request */
|
|
837
|
+
readonly 201: {
|
|
838
|
+
headers: {
|
|
839
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
840
|
+
readonly [name: string]: unknown;
|
|
841
|
+
};
|
|
842
|
+
content: {
|
|
843
|
+
readonly "application/json": components["schemas"]["KeyChallenge"];
|
|
844
|
+
};
|
|
845
|
+
};
|
|
846
|
+
readonly 400: components["responses"]["Error"];
|
|
847
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
848
|
+
readonly 401: components["responses"]["Error"];
|
|
849
|
+
/** @description A missing, repeated or unregistered `Origin`. */
|
|
850
|
+
readonly 403: components["responses"]["Error"];
|
|
851
|
+
readonly 404: components["responses"]["Error"];
|
|
852
|
+
readonly 409: components["responses"]["Error"];
|
|
853
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
854
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
855
|
+
};
|
|
856
|
+
};
|
|
857
|
+
readonly listMakerApiKeys: {
|
|
858
|
+
readonly parameters: {
|
|
859
|
+
readonly query?: {
|
|
860
|
+
/**
|
|
861
|
+
* @description Maximum items per page, 1 to 200, default 50. A page may hold fewer, even none, while has_more is true.
|
|
862
|
+
* @example 50
|
|
863
|
+
*/
|
|
864
|
+
readonly limit?: components["parameters"]["Limit"];
|
|
865
|
+
/**
|
|
866
|
+
* @description Omit for the first page; then send the previous response's next_cursor unchanged.
|
|
867
|
+
* @example eyJ2IjoxLCJzIjoiMTIzNDUifQ
|
|
868
|
+
*/
|
|
869
|
+
readonly cursor?: components["parameters"]["Cursor"];
|
|
870
|
+
};
|
|
871
|
+
readonly header?: never;
|
|
872
|
+
readonly path: {
|
|
873
|
+
/**
|
|
874
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
875
|
+
* @example 3
|
|
876
|
+
*/
|
|
877
|
+
readonly maker_id: components["parameters"]["MakerId"];
|
|
878
|
+
};
|
|
879
|
+
readonly cookie?: never;
|
|
880
|
+
};
|
|
881
|
+
readonly requestBody?: never;
|
|
882
|
+
readonly responses: {
|
|
883
|
+
/** @description One page of key metadata, never a secret. */
|
|
884
|
+
readonly 200: {
|
|
885
|
+
headers: {
|
|
886
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
887
|
+
readonly [name: string]: unknown;
|
|
888
|
+
};
|
|
889
|
+
content: {
|
|
890
|
+
readonly "application/json": components["schemas"]["MakerKeyList"];
|
|
891
|
+
};
|
|
892
|
+
};
|
|
893
|
+
readonly 400: components["responses"]["Error"];
|
|
894
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
895
|
+
readonly 401: components["responses"]["Error"];
|
|
896
|
+
/** @description A missing, repeated or unregistered `Origin`, or a session whose wallet is not the maker's current controller. */
|
|
897
|
+
readonly 403: components["responses"]["Error"];
|
|
898
|
+
readonly 404: components["responses"]["Error"];
|
|
899
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
900
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
901
|
+
};
|
|
902
|
+
};
|
|
903
|
+
readonly createMakerApiKey: {
|
|
904
|
+
readonly parameters: {
|
|
905
|
+
readonly query?: never;
|
|
906
|
+
readonly header: {
|
|
907
|
+
/**
|
|
908
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
909
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
910
|
+
*/
|
|
911
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
912
|
+
};
|
|
913
|
+
readonly path: {
|
|
914
|
+
/**
|
|
915
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
916
|
+
* @example 3
|
|
917
|
+
*/
|
|
918
|
+
readonly maker_id: components["parameters"]["MakerId"];
|
|
919
|
+
};
|
|
920
|
+
readonly cookie?: never;
|
|
921
|
+
};
|
|
922
|
+
readonly requestBody: {
|
|
923
|
+
readonly content: {
|
|
924
|
+
readonly "application/json": components["schemas"]["CreateKeyRequest"];
|
|
925
|
+
};
|
|
926
|
+
};
|
|
927
|
+
readonly responses: {
|
|
928
|
+
/** @description The new key and its secret, shown only in this response. */
|
|
929
|
+
readonly 201: {
|
|
930
|
+
headers: {
|
|
931
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
932
|
+
readonly [name: string]: unknown;
|
|
933
|
+
};
|
|
934
|
+
content: {
|
|
935
|
+
readonly "application/json": components["schemas"]["MakerCreatedKey"];
|
|
936
|
+
};
|
|
937
|
+
};
|
|
938
|
+
readonly 400: components["responses"]["Error"];
|
|
939
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
940
|
+
readonly 401: components["responses"]["Error"];
|
|
941
|
+
/** @description A missing, repeated or unregistered `Origin`, or a session whose wallet is not the maker's current controller, or a `proof` that is not the owner's signature of an unexpired, unused challenge for exactly this request. */
|
|
942
|
+
readonly 403: components["responses"]["Error"];
|
|
943
|
+
readonly 404: components["responses"]["Error"];
|
|
944
|
+
readonly 409: components["responses"]["Error"];
|
|
945
|
+
readonly 422: components["responses"]["Error"];
|
|
946
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
947
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
948
|
+
};
|
|
949
|
+
};
|
|
950
|
+
readonly revokeMakerApiKey: {
|
|
951
|
+
readonly parameters: {
|
|
952
|
+
readonly query?: never;
|
|
953
|
+
readonly header?: never;
|
|
954
|
+
readonly path: {
|
|
955
|
+
/**
|
|
956
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
957
|
+
* @example 3
|
|
958
|
+
*/
|
|
959
|
+
readonly maker_id: components["parameters"]["MakerId"];
|
|
960
|
+
/**
|
|
961
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
962
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
963
|
+
*/
|
|
964
|
+
readonly key_id: components["parameters"]["KeyId"];
|
|
965
|
+
};
|
|
966
|
+
readonly cookie?: never;
|
|
967
|
+
};
|
|
968
|
+
readonly requestBody?: never;
|
|
969
|
+
readonly responses: {
|
|
970
|
+
/** @description Revoked or already revoked */
|
|
971
|
+
readonly 204: {
|
|
972
|
+
headers: {
|
|
973
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
974
|
+
readonly [name: string]: unknown;
|
|
975
|
+
};
|
|
976
|
+
content?: never;
|
|
977
|
+
};
|
|
978
|
+
readonly 400: components["responses"]["Error"];
|
|
979
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
980
|
+
readonly 401: components["responses"]["Error"];
|
|
981
|
+
/** @description A missing, repeated or unregistered `Origin`, or a session whose wallet is not the maker's current controller. */
|
|
982
|
+
readonly 403: components["responses"]["Error"];
|
|
983
|
+
readonly 404: components["responses"]["Error"];
|
|
984
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
985
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
986
|
+
};
|
|
987
|
+
};
|
|
988
|
+
readonly rotateMakerApiKey: {
|
|
989
|
+
readonly parameters: {
|
|
990
|
+
readonly query?: never;
|
|
991
|
+
readonly header: {
|
|
992
|
+
/**
|
|
993
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
994
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
995
|
+
*/
|
|
996
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
997
|
+
};
|
|
998
|
+
readonly path: {
|
|
999
|
+
/**
|
|
1000
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
1001
|
+
* @example 3
|
|
1002
|
+
*/
|
|
1003
|
+
readonly maker_id: components["parameters"]["MakerId"];
|
|
1004
|
+
/**
|
|
1005
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
1006
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
1007
|
+
*/
|
|
1008
|
+
readonly key_id: components["parameters"]["KeyId"];
|
|
1009
|
+
};
|
|
1010
|
+
readonly cookie?: never;
|
|
1011
|
+
};
|
|
1012
|
+
readonly requestBody: {
|
|
1013
|
+
readonly content: {
|
|
1014
|
+
readonly "application/json": components["schemas"]["RotateKeyRequest"];
|
|
1015
|
+
};
|
|
1016
|
+
};
|
|
1017
|
+
readonly responses: {
|
|
1018
|
+
/** @description The replacement key and its secret, shown only in this response. */
|
|
1019
|
+
readonly 201: {
|
|
1020
|
+
headers: {
|
|
1021
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1022
|
+
readonly [name: string]: unknown;
|
|
1023
|
+
};
|
|
1024
|
+
content: {
|
|
1025
|
+
readonly "application/json": components["schemas"]["MakerRotatedKey"];
|
|
1026
|
+
};
|
|
1027
|
+
};
|
|
1028
|
+
readonly 400: components["responses"]["Error"];
|
|
1029
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
1030
|
+
readonly 401: components["responses"]["Error"];
|
|
1031
|
+
/** @description A missing, repeated or unregistered `Origin`, or a session whose wallet is not the maker's current controller, or a `proof` that is not the owner's signature of an unexpired, unused challenge for exactly this request. */
|
|
1032
|
+
readonly 403: components["responses"]["Error"];
|
|
1033
|
+
readonly 404: components["responses"]["Error"];
|
|
1034
|
+
readonly 409: components["responses"]["Error"];
|
|
1035
|
+
readonly 422: components["responses"]["Error"];
|
|
1036
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1037
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1038
|
+
};
|
|
1039
|
+
};
|
|
1040
|
+
readonly listOperatorApiKeys: {
|
|
1041
|
+
readonly parameters: {
|
|
1042
|
+
readonly query?: {
|
|
1043
|
+
/**
|
|
1044
|
+
* @description Maximum items per page, 1 to 200, default 50. A page may hold fewer, even none, while has_more is true.
|
|
1045
|
+
* @example 50
|
|
1046
|
+
*/
|
|
1047
|
+
readonly limit?: components["parameters"]["Limit"];
|
|
1048
|
+
/**
|
|
1049
|
+
* @description Omit for the first page; then send the previous response's next_cursor unchanged.
|
|
1050
|
+
* @example eyJ2IjoxLCJzIjoiMTIzNDUifQ
|
|
1051
|
+
*/
|
|
1052
|
+
readonly cursor?: components["parameters"]["Cursor"];
|
|
1053
|
+
};
|
|
1054
|
+
readonly header?: never;
|
|
1055
|
+
readonly path?: never;
|
|
1056
|
+
readonly cookie?: never;
|
|
1057
|
+
};
|
|
1058
|
+
readonly requestBody?: never;
|
|
1059
|
+
readonly responses: {
|
|
1060
|
+
/** @description Metadata only */
|
|
1061
|
+
readonly 200: {
|
|
1062
|
+
headers: {
|
|
1063
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1064
|
+
readonly [name: string]: unknown;
|
|
1065
|
+
};
|
|
1066
|
+
content: {
|
|
1067
|
+
readonly "application/json": components["schemas"]["OperatorKeyList"];
|
|
1068
|
+
};
|
|
1069
|
+
};
|
|
1070
|
+
readonly 400: components["responses"]["Error"];
|
|
1071
|
+
readonly 401: components["responses"]["Error"];
|
|
1072
|
+
readonly 403: components["responses"]["Error"];
|
|
1073
|
+
readonly 404: components["responses"]["Error"];
|
|
1074
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1075
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1076
|
+
};
|
|
1077
|
+
};
|
|
1078
|
+
readonly createOperatorApiKey: {
|
|
1079
|
+
readonly parameters: {
|
|
1080
|
+
readonly query?: never;
|
|
1081
|
+
readonly header: {
|
|
1082
|
+
/**
|
|
1083
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
1084
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
1085
|
+
*/
|
|
1086
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
1087
|
+
};
|
|
1088
|
+
readonly path?: never;
|
|
1089
|
+
readonly cookie?: never;
|
|
1090
|
+
};
|
|
1091
|
+
readonly requestBody: {
|
|
1092
|
+
readonly content: {
|
|
1093
|
+
readonly "application/json": components["schemas"]["OperatorCreateKeyRequest"];
|
|
1094
|
+
};
|
|
1095
|
+
};
|
|
1096
|
+
readonly responses: {
|
|
1097
|
+
/** @description Secret returned once; Cache-Control: no-store */
|
|
1098
|
+
readonly 201: {
|
|
1099
|
+
headers: {
|
|
1100
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1101
|
+
readonly [name: string]: unknown;
|
|
1102
|
+
};
|
|
1103
|
+
content: {
|
|
1104
|
+
readonly "application/json": components["schemas"]["OperatorCreatedKey"];
|
|
1105
|
+
};
|
|
1106
|
+
};
|
|
1107
|
+
readonly 400: components["responses"]["Error"];
|
|
1108
|
+
readonly 401: components["responses"]["Error"];
|
|
1109
|
+
readonly 403: components["responses"]["Error"];
|
|
1110
|
+
readonly 404: components["responses"]["Error"];
|
|
1111
|
+
readonly 409: components["responses"]["Error"];
|
|
1112
|
+
readonly 422: components["responses"]["Error"];
|
|
1113
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1114
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1115
|
+
};
|
|
1116
|
+
};
|
|
1117
|
+
readonly revokeOperatorApiKey: {
|
|
1118
|
+
readonly parameters: {
|
|
1119
|
+
readonly query?: never;
|
|
1120
|
+
readonly header?: never;
|
|
1121
|
+
readonly path: {
|
|
1122
|
+
/**
|
|
1123
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
1124
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
1125
|
+
*/
|
|
1126
|
+
readonly key_id: components["parameters"]["KeyId"];
|
|
1127
|
+
};
|
|
1128
|
+
readonly cookie?: never;
|
|
1129
|
+
};
|
|
1130
|
+
readonly requestBody?: never;
|
|
1131
|
+
readonly responses: {
|
|
1132
|
+
/** @description Revoked or already revoked */
|
|
1133
|
+
readonly 204: {
|
|
1134
|
+
headers: {
|
|
1135
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1136
|
+
readonly [name: string]: unknown;
|
|
1137
|
+
};
|
|
1138
|
+
content?: never;
|
|
1139
|
+
};
|
|
1140
|
+
readonly 400: components["responses"]["Error"];
|
|
1141
|
+
readonly 401: components["responses"]["Error"];
|
|
1142
|
+
readonly 403: components["responses"]["Error"];
|
|
1143
|
+
readonly 404: components["responses"]["Error"];
|
|
1144
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1145
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1146
|
+
};
|
|
1147
|
+
};
|
|
1148
|
+
readonly rotateOperatorApiKey: {
|
|
1149
|
+
readonly parameters: {
|
|
1150
|
+
readonly query?: never;
|
|
1151
|
+
readonly header: {
|
|
1152
|
+
/**
|
|
1153
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
1154
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
1155
|
+
*/
|
|
1156
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
1157
|
+
};
|
|
1158
|
+
readonly path: {
|
|
1159
|
+
/**
|
|
1160
|
+
* @description ID of a key on this account, from the key list or the create response.
|
|
1161
|
+
* @example 01995000-0000-7000-8000-000000000001
|
|
1162
|
+
*/
|
|
1163
|
+
readonly key_id: components["parameters"]["KeyId"];
|
|
1164
|
+
};
|
|
1165
|
+
readonly cookie?: never;
|
|
1166
|
+
};
|
|
1167
|
+
readonly requestBody: {
|
|
1168
|
+
readonly content: {
|
|
1169
|
+
readonly "application/json": components["schemas"]["RotateKeyRequest"];
|
|
1170
|
+
};
|
|
1171
|
+
};
|
|
1172
|
+
readonly responses: {
|
|
1173
|
+
/** @description Secret returned once; Cache-Control: no-store */
|
|
1174
|
+
readonly 201: {
|
|
1175
|
+
headers: {
|
|
1176
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1177
|
+
readonly [name: string]: unknown;
|
|
1178
|
+
};
|
|
1179
|
+
content: {
|
|
1180
|
+
readonly "application/json": components["schemas"]["OperatorRotatedKey"];
|
|
1181
|
+
};
|
|
1182
|
+
};
|
|
1183
|
+
readonly 400: components["responses"]["Error"];
|
|
1184
|
+
readonly 401: components["responses"]["Error"];
|
|
1185
|
+
readonly 403: components["responses"]["Error"];
|
|
1186
|
+
readonly 404: components["responses"]["Error"];
|
|
1187
|
+
readonly 409: components["responses"]["Error"];
|
|
1188
|
+
readonly 422: components["responses"]["Error"];
|
|
1189
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1190
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1191
|
+
};
|
|
1192
|
+
};
|
|
1193
|
+
readonly createMakerApiKeyChallenge: {
|
|
1194
|
+
readonly parameters: {
|
|
1195
|
+
readonly query?: never;
|
|
1196
|
+
readonly header: {
|
|
1197
|
+
/**
|
|
1198
|
+
* @description Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns `409 IDEMPOTENCY_KEY_REUSED`.
|
|
1199
|
+
* @example 0198a6f6-82a5-7abc-9f2a-4f0fb437493e
|
|
1200
|
+
*/
|
|
1201
|
+
readonly "Idempotency-Key": components["parameters"]["IdempotencyKey"];
|
|
1202
|
+
};
|
|
1203
|
+
readonly path: {
|
|
1204
|
+
/**
|
|
1205
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
1206
|
+
* @example 3
|
|
1207
|
+
*/
|
|
1208
|
+
readonly maker_id: components["parameters"]["MakerId"];
|
|
1209
|
+
};
|
|
1210
|
+
readonly cookie?: never;
|
|
1211
|
+
};
|
|
1212
|
+
readonly requestBody: {
|
|
1213
|
+
readonly content: {
|
|
1214
|
+
readonly "application/json": components["schemas"]["KeyChallengeRequest"];
|
|
1215
|
+
};
|
|
1216
|
+
};
|
|
1217
|
+
readonly responses: {
|
|
1218
|
+
/** @description Five-minute, one-use SIWE challenge (purpose=issue_key) the account owner signs for the exact key request */
|
|
1219
|
+
readonly 201: {
|
|
1220
|
+
headers: {
|
|
1221
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1222
|
+
readonly [name: string]: unknown;
|
|
1223
|
+
};
|
|
1224
|
+
content: {
|
|
1225
|
+
readonly "application/json": components["schemas"]["KeyChallenge"];
|
|
1226
|
+
};
|
|
1227
|
+
};
|
|
1228
|
+
readonly 400: components["responses"]["Error"];
|
|
1229
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
1230
|
+
readonly 401: components["responses"]["Error"];
|
|
1231
|
+
/** @description A missing, repeated or unregistered `Origin`, or a session whose wallet is not the maker's current controller. */
|
|
1232
|
+
readonly 403: components["responses"]["Error"];
|
|
1233
|
+
readonly 404: components["responses"]["Error"];
|
|
1234
|
+
readonly 409: components["responses"]["Error"];
|
|
1235
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1236
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1237
|
+
};
|
|
1238
|
+
};
|
|
1239
|
+
readonly getPersonalApiKeyCapabilities: {
|
|
1240
|
+
readonly parameters: {
|
|
1241
|
+
readonly query?: never;
|
|
1242
|
+
readonly header?: never;
|
|
1243
|
+
readonly path?: never;
|
|
1244
|
+
readonly cookie?: never;
|
|
1245
|
+
};
|
|
1246
|
+
readonly requestBody?: never;
|
|
1247
|
+
readonly responses: {
|
|
1248
|
+
/** @description Current key capability snapshot */
|
|
1249
|
+
readonly 200: {
|
|
1250
|
+
headers: {
|
|
1251
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1252
|
+
readonly [name: string]: unknown;
|
|
1253
|
+
};
|
|
1254
|
+
content: {
|
|
1255
|
+
readonly "application/json": components["schemas"]["KeyCapabilities"];
|
|
1256
|
+
};
|
|
1257
|
+
};
|
|
1258
|
+
readonly 400: components["responses"]["Error"];
|
|
1259
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
1260
|
+
readonly 401: components["responses"]["Error"];
|
|
1261
|
+
/** @description A missing, repeated or unregistered `Origin`. */
|
|
1262
|
+
readonly 403: components["responses"]["Error"];
|
|
1263
|
+
readonly 404: components["responses"]["Error"];
|
|
1264
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1265
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1266
|
+
};
|
|
1267
|
+
};
|
|
1268
|
+
readonly getMakerApiKeyCapabilities: {
|
|
1269
|
+
readonly parameters: {
|
|
1270
|
+
readonly query?: never;
|
|
1271
|
+
readonly header?: never;
|
|
1272
|
+
readonly path: {
|
|
1273
|
+
/**
|
|
1274
|
+
* @description On-chain maker ID, as a decimal string. The credential must be authorized for this maker.
|
|
1275
|
+
* @example 3
|
|
1276
|
+
*/
|
|
1277
|
+
readonly maker_id: components["parameters"]["MakerId"];
|
|
1278
|
+
};
|
|
1279
|
+
readonly cookie?: never;
|
|
1280
|
+
};
|
|
1281
|
+
readonly requestBody?: never;
|
|
1282
|
+
readonly responses: {
|
|
1283
|
+
/** @description Current key capability snapshot */
|
|
1284
|
+
readonly 200: {
|
|
1285
|
+
headers: {
|
|
1286
|
+
readonly "Cache-Control": components["headers"]["CacheControlNoStore"];
|
|
1287
|
+
readonly [name: string]: unknown;
|
|
1288
|
+
};
|
|
1289
|
+
content: {
|
|
1290
|
+
readonly "application/json": components["schemas"]["KeyCapabilities"];
|
|
1291
|
+
};
|
|
1292
|
+
};
|
|
1293
|
+
readonly 400: components["responses"]["Error"];
|
|
1294
|
+
/** @description No session, or an API key (`ttk_`), which never manages keys. */
|
|
1295
|
+
readonly 401: components["responses"]["Error"];
|
|
1296
|
+
/** @description A missing, repeated or unregistered `Origin`, or a session whose wallet is not the maker's current controller. */
|
|
1297
|
+
readonly 403: components["responses"]["Error"];
|
|
1298
|
+
readonly 404: components["responses"]["Error"];
|
|
1299
|
+
readonly 429: components["responses"]["RateLimited"];
|
|
1300
|
+
readonly 503: components["responses"]["Unavailable"];
|
|
1301
|
+
};
|
|
1302
|
+
};
|
|
1303
|
+
}
|