@stable_sea/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -0
- package/dist/client.d.ts +47 -0
- package/dist/client.js +42 -0
- package/dist/gen/schema.d.ts +1861 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/webhooks.d.ts +5 -0
- package/dist/webhooks.js +30 -0
- package/package.json +46 -0
|
@@ -0,0 +1,1861 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was auto-generated by openapi-typescript.
|
|
3
|
+
* Do not make direct changes to the file.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export interface paths {
|
|
7
|
+
"/v1/accounts": {
|
|
8
|
+
parameters: {
|
|
9
|
+
query?: never;
|
|
10
|
+
header?: never;
|
|
11
|
+
path?: never;
|
|
12
|
+
cookie?: never;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* List accounts
|
|
16
|
+
* @description Lists the business this credential belongs to. One credential addresses exactly one business, so the list always holds exactly one account and has_more is always false. The account id is what every other resource on this API points at.
|
|
17
|
+
*/
|
|
18
|
+
get: operations["accounts.list"];
|
|
19
|
+
put?: never;
|
|
20
|
+
post?: never;
|
|
21
|
+
delete?: never;
|
|
22
|
+
options?: never;
|
|
23
|
+
head?: never;
|
|
24
|
+
patch?: never;
|
|
25
|
+
trace?: never;
|
|
26
|
+
};
|
|
27
|
+
"/v1/accounts/{id}": {
|
|
28
|
+
parameters: {
|
|
29
|
+
query?: never;
|
|
30
|
+
header?: never;
|
|
31
|
+
path?: never;
|
|
32
|
+
cookie?: never;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Retrieve an account
|
|
36
|
+
* @description Retrieves the business this credential belongs to. Any id other than the caller's own account is answered as not found, whether or not it names a real account elsewhere.
|
|
37
|
+
*/
|
|
38
|
+
get: operations["accounts.retrieve"];
|
|
39
|
+
put?: never;
|
|
40
|
+
post?: never;
|
|
41
|
+
delete?: never;
|
|
42
|
+
options?: never;
|
|
43
|
+
head?: never;
|
|
44
|
+
patch?: never;
|
|
45
|
+
trace?: never;
|
|
46
|
+
};
|
|
47
|
+
"/v1/api_clients/current": {
|
|
48
|
+
parameters: {
|
|
49
|
+
query?: never;
|
|
50
|
+
header?: never;
|
|
51
|
+
path?: never;
|
|
52
|
+
cookie?: never;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Retrieve the current API client
|
|
56
|
+
* @description Returns the API client the presented credential identifies. Any authenticated credential may introspect itself, whatever scopes it holds.
|
|
57
|
+
*/
|
|
58
|
+
get: operations["api_clients.current.get"];
|
|
59
|
+
put?: never;
|
|
60
|
+
post?: never;
|
|
61
|
+
delete?: never;
|
|
62
|
+
options?: never;
|
|
63
|
+
head?: never;
|
|
64
|
+
patch?: never;
|
|
65
|
+
trace?: never;
|
|
66
|
+
};
|
|
67
|
+
"/v1/balances": {
|
|
68
|
+
parameters: {
|
|
69
|
+
query?: never;
|
|
70
|
+
header?: never;
|
|
71
|
+
path?: never;
|
|
72
|
+
cookie?: never;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* List balances
|
|
76
|
+
* @description Lists what the business holds, one row per (chain, source, asset, segregated rail).
|
|
77
|
+
*
|
|
78
|
+
* ROWS ARE NOT AGGREGATED PER ASSET. A business holding USDC on two chains, or holding both a spendable and a rail-locked USDC balance, sees a row for each. segregated_rail is what tells them apart: absent means spendable, and a present value means the balance can be held and withdrawn over that rail only. Summing the rows for one asset gives the total holding; only the rows themselves say which part of it is spendable.
|
|
79
|
+
*
|
|
80
|
+
* PENDING IS GROSS AND DIRECTIONAL. pending_incoming_native and pending_outgoing_native are two independent non-negative figures and are never netted against one another. A bucket with 3000 leaving and 500 arriving reports both; there is no single net number, because it would hide the withdrawal that is reducing what the business can spend. What IS netted, inside each figure, is a single movement's pass-through legs: a purchase that credits and debits the same account within one movement counts once, not twice in both directions.
|
|
81
|
+
*
|
|
82
|
+
* UNPRICED ASSETS CARRY NO DOLLAR FIGURE. When we hold no USD rate for an asset at created_ts, balance_usd, pending_incoming_usd and pending_outgoing_usd are omitted rather than reported as 0. Treat an absent field as "not valued", never as zero value.
|
|
83
|
+
*
|
|
84
|
+
* IDS ARE STABLE. A balance id is derived from (business, chain, source, asset, segregated rail), so the same bucket keeps the same id across reads even as its figures move. Two sweeps can be diffed row by row, and any row can be re-read with the retrieve.
|
|
85
|
+
*
|
|
86
|
+
* PAGING. limit defaults to 10 and may not exceed 100; a larger value is rejected rather than reduced, so has_more always answers the question you asked. starting_after and ending_before each take a balance id and cannot be combined. Rows are ordered by chain, then source, then asset, then rail — a stable order, not a chronological one. has_more reports whether more rows exist in the direction this page was taken. A cursor that names no current row is rejected rather than ignored: a bucket that has emptied since you saw it is gone from the list, and paging from it would silently restart at the beginning.
|
|
87
|
+
*
|
|
88
|
+
* FRESHNESS. Every figure is as of created_ts, which is the instant the ledger was cut and the assets were priced. It is a live read: there is no cache and no lag.
|
|
89
|
+
*/
|
|
90
|
+
get: operations["balances.list"];
|
|
91
|
+
put?: never;
|
|
92
|
+
post?: never;
|
|
93
|
+
delete?: never;
|
|
94
|
+
options?: never;
|
|
95
|
+
head?: never;
|
|
96
|
+
patch?: never;
|
|
97
|
+
trace?: never;
|
|
98
|
+
};
|
|
99
|
+
"/v1/balances/{id}": {
|
|
100
|
+
parameters: {
|
|
101
|
+
query?: never;
|
|
102
|
+
header?: never;
|
|
103
|
+
path?: never;
|
|
104
|
+
cookie?: never;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Retrieve a balance
|
|
108
|
+
* @description Retrieves one balance by id.
|
|
109
|
+
*
|
|
110
|
+
* A balance is ONE (chain, source, asset, segregated rail) bucket, not an asset total. Its id is derived from that key, so it is stable across reads and can be stored and re-read.
|
|
111
|
+
*
|
|
112
|
+
* FIGURES. balance_native is settled; pending_incoming_native and pending_outgoing_native are the in-flight legs, reported separately and never netted against one another. What IS netted, inside each figure, is a single movement's pass-through legs: a purchase that credits and debits the same account within one movement counts once, not twice in both directions. The _usd fields are omitted entirely when we hold no rate for the asset at created_ts — absent means "not valued", never zero.
|
|
113
|
+
*
|
|
114
|
+
* SCOPING. Any balance this credential's business holds may be retrieved, and nothing else. An id that names no bucket, one belonging to another business, and one whose bucket has emptied since you saw it are answered identically.
|
|
115
|
+
*/
|
|
116
|
+
get: operations["balances.get"];
|
|
117
|
+
put?: never;
|
|
118
|
+
post?: never;
|
|
119
|
+
delete?: never;
|
|
120
|
+
options?: never;
|
|
121
|
+
head?: never;
|
|
122
|
+
patch?: never;
|
|
123
|
+
trace?: never;
|
|
124
|
+
};
|
|
125
|
+
"/v1/event_types": {
|
|
126
|
+
parameters: {
|
|
127
|
+
query?: never;
|
|
128
|
+
header?: never;
|
|
129
|
+
path?: never;
|
|
130
|
+
cookie?: never;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* List event types
|
|
134
|
+
* @description Returns every event type this API can publish. The set is closed: a type not listed here is refused by webhook endpoint registration. The list is identical for every caller and is not paged.
|
|
135
|
+
*/
|
|
136
|
+
get: operations["event_types.catalog"];
|
|
137
|
+
put?: never;
|
|
138
|
+
post?: never;
|
|
139
|
+
delete?: never;
|
|
140
|
+
options?: never;
|
|
141
|
+
head?: never;
|
|
142
|
+
patch?: never;
|
|
143
|
+
trace?: never;
|
|
144
|
+
};
|
|
145
|
+
"/v1/events": {
|
|
146
|
+
parameters: {
|
|
147
|
+
query?: never;
|
|
148
|
+
header?: never;
|
|
149
|
+
path?: never;
|
|
150
|
+
cookie?: never;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* List events
|
|
154
|
+
* @description Lists the events recorded for the platform, newest first.
|
|
155
|
+
*
|
|
156
|
+
* SCOPING. The response covers every event this credential recorded, so one cursor sweep reconciles everything. There is no narrower scope to ask for: one credential addresses one business.
|
|
157
|
+
*
|
|
158
|
+
* FRESHNESS. An event becomes listable 60 seconds after its created_ts. Inside that window it can be retrieved by id but is not returned here. Once a page has been served, the range it covers is complete and final: no older event can appear behind a cursor that has already passed it. Retrieval by id is not lagged.
|
|
159
|
+
*
|
|
160
|
+
* PAGING. limit defaults to 10 and may not exceed 100; a larger value is rejected rather than reduced, so has_more always answers the question you asked. starting_after and ending_before each take an event id and cannot be combined. Pages are newest-first in both directions — ending_before returns the events immediately newer than the cursor, still ordered newest first. has_more reports whether more LISTABLE events exist in the direction this page was taken (older ones under starting_after, newer ones under ending_before); it is not a statement about the stream as a whole. Paging with ending_before from an event recorded moments ago can therefore return an empty page with has_more false while newer events exist but have not yet cleared the freshness window above.
|
|
161
|
+
*
|
|
162
|
+
* RETENTION. An event remains listable for at least 90 days after it is recorded.
|
|
163
|
+
*/
|
|
164
|
+
get: operations["events.list"];
|
|
165
|
+
put?: never;
|
|
166
|
+
post?: never;
|
|
167
|
+
delete?: never;
|
|
168
|
+
options?: never;
|
|
169
|
+
head?: never;
|
|
170
|
+
patch?: never;
|
|
171
|
+
trace?: never;
|
|
172
|
+
};
|
|
173
|
+
"/v1/events/{id}": {
|
|
174
|
+
parameters: {
|
|
175
|
+
query?: never;
|
|
176
|
+
header?: never;
|
|
177
|
+
path?: never;
|
|
178
|
+
cookie?: never;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Retrieve an event
|
|
182
|
+
* @description Retrieves one recorded event by id.
|
|
183
|
+
*
|
|
184
|
+
* FRESHNESS. Retrieval is not lagged: an event is readable as soon as it is recorded, including during the 60 seconds before it becomes listable.
|
|
185
|
+
*
|
|
186
|
+
* SCOPING. Any event this credential recorded may be retrieved, and nothing else. An id that names no event, one belonging to another business, and one recorded in the other environment are answered identically.
|
|
187
|
+
*
|
|
188
|
+
* RETENTION. An event remains retrievable for at least 90 days after it is recorded.
|
|
189
|
+
*/
|
|
190
|
+
get: operations["events.get"];
|
|
191
|
+
put?: never;
|
|
192
|
+
post?: never;
|
|
193
|
+
delete?: never;
|
|
194
|
+
options?: never;
|
|
195
|
+
head?: never;
|
|
196
|
+
patch?: never;
|
|
197
|
+
trace?: never;
|
|
198
|
+
};
|
|
199
|
+
"/v1/orders": {
|
|
200
|
+
parameters: {
|
|
201
|
+
query?: never;
|
|
202
|
+
header?: never;
|
|
203
|
+
path?: never;
|
|
204
|
+
cookie?: never;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* List orders
|
|
208
|
+
* @description Returns the business's fund orders, newest first. An order is placed by POST /v1/orders and executed asynchronously, so poll here to follow one through executing to filled or failed. A failed order carries a failure_code naming why.
|
|
209
|
+
*/
|
|
210
|
+
get: operations["orders.list"];
|
|
211
|
+
put?: never;
|
|
212
|
+
/**
|
|
213
|
+
* Place a fund order
|
|
214
|
+
* @description Records a fund order for the authenticated business and returns it as pending. Placement is not execution: the order is executed asynchronously against the same authorization checks and the same trading engine the product uses, and the quoted price is verified against the NAV the trade runs at. Poll the order to follow it through executing to filled or failed.
|
|
215
|
+
*
|
|
216
|
+
* An order can fail at execution for reasons a placement cannot foresee. An express order in particular draws on a shared reserve whose liquidity is not promised by the quote, and a quoted price that has drifted from the NAV the trade executes at is refused rather than filled. A failed order names the reason; an express refusal can be re-placed as standard against the same unexpired quote.
|
|
217
|
+
*
|
|
218
|
+
* Orders execute on the deployment that accepted them, so a credential is refused with environment_not_served when its environment is not the one this host runs orders for — use the host that matches the credential. The refusal is returned before the order exists, so no idempotency key is consumed and nothing is left pending.
|
|
219
|
+
*/
|
|
220
|
+
post: operations["orders.create"];
|
|
221
|
+
delete?: never;
|
|
222
|
+
options?: never;
|
|
223
|
+
head?: never;
|
|
224
|
+
patch?: never;
|
|
225
|
+
trace?: never;
|
|
226
|
+
};
|
|
227
|
+
"/v1/orders/{id}": {
|
|
228
|
+
parameters: {
|
|
229
|
+
query?: never;
|
|
230
|
+
header?: never;
|
|
231
|
+
path?: never;
|
|
232
|
+
cookie?: never;
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* Retrieve an order
|
|
236
|
+
* @description Returns one of the business's own fund orders. An id belonging to another business is not found, the same as an id that does not exist.
|
|
237
|
+
*/
|
|
238
|
+
get: operations["orders.get"];
|
|
239
|
+
put?: never;
|
|
240
|
+
post?: never;
|
|
241
|
+
delete?: never;
|
|
242
|
+
options?: never;
|
|
243
|
+
head?: never;
|
|
244
|
+
patch?: never;
|
|
245
|
+
trace?: never;
|
|
246
|
+
};
|
|
247
|
+
"/v1/quotes": {
|
|
248
|
+
parameters: {
|
|
249
|
+
query?: never;
|
|
250
|
+
header?: never;
|
|
251
|
+
path?: never;
|
|
252
|
+
cookie?: never;
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* Price a fund trade
|
|
256
|
+
* @description Prices one fund trade so it can be echoed into an order. A fund order is bound to the price the caller was quoted, so this is the only way to obtain one. The quote is computed, not stored: it has no id and cannot be retrieved afterwards.
|
|
257
|
+
*
|
|
258
|
+
* The express block states the TERMS of the express pathway — its commission, its per-order ceiling and what it would deliver — and is not a statement that express is available. Express settlement draws on a shared reserve, so an express order can be refused at execution even when a quote carried these terms. There is deliberately no availability flag: a reserve reading taken now would warrant nothing about the reserve when the order executes.
|
|
259
|
+
*
|
|
260
|
+
* A refused express order can be re-placed with settlement "standard" against this same quote while it is unexpired. The price is the same either way; express changes only the commission and the delivered quantity.
|
|
261
|
+
*/
|
|
262
|
+
get: operations["quotes.quote"];
|
|
263
|
+
put?: never;
|
|
264
|
+
post?: never;
|
|
265
|
+
delete?: never;
|
|
266
|
+
options?: never;
|
|
267
|
+
head?: never;
|
|
268
|
+
patch?: never;
|
|
269
|
+
trace?: never;
|
|
270
|
+
};
|
|
271
|
+
"/v1/securities": {
|
|
272
|
+
parameters: {
|
|
273
|
+
query?: never;
|
|
274
|
+
header?: never;
|
|
275
|
+
path?: never;
|
|
276
|
+
cookie?: never;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* List securities
|
|
280
|
+
* @description Returns every fund available on this API. The list is identical for every caller and is not paged. A fund appearing here is not by itself an assurance that a given account may trade it.
|
|
281
|
+
*/
|
|
282
|
+
get: operations["securities.catalog"];
|
|
283
|
+
put?: never;
|
|
284
|
+
post?: never;
|
|
285
|
+
delete?: never;
|
|
286
|
+
options?: never;
|
|
287
|
+
head?: never;
|
|
288
|
+
patch?: never;
|
|
289
|
+
trace?: never;
|
|
290
|
+
};
|
|
291
|
+
"/v1/statements": {
|
|
292
|
+
parameters: {
|
|
293
|
+
query?: never;
|
|
294
|
+
header?: never;
|
|
295
|
+
path?: never;
|
|
296
|
+
cookie?: never;
|
|
297
|
+
};
|
|
298
|
+
/**
|
|
299
|
+
* List statements
|
|
300
|
+
* @description Returns the business's monthly statements, newest period first. A period that has been corrected appears once, as its current document. Statements are metadata here: the document body is not part of this response.
|
|
301
|
+
*/
|
|
302
|
+
get: operations["statements.list"];
|
|
303
|
+
put?: never;
|
|
304
|
+
post?: never;
|
|
305
|
+
delete?: never;
|
|
306
|
+
options?: never;
|
|
307
|
+
head?: never;
|
|
308
|
+
patch?: never;
|
|
309
|
+
trace?: never;
|
|
310
|
+
};
|
|
311
|
+
"/v1/statements/{id}": {
|
|
312
|
+
parameters: {
|
|
313
|
+
query?: never;
|
|
314
|
+
header?: never;
|
|
315
|
+
path?: never;
|
|
316
|
+
cookie?: never;
|
|
317
|
+
};
|
|
318
|
+
/**
|
|
319
|
+
* Retrieve a statement
|
|
320
|
+
* @description Returns one statement by id. A statement that has been corrected still resolves, and carries superseded_by naming the document that replaced it.
|
|
321
|
+
*/
|
|
322
|
+
get: operations["statements.retrieve"];
|
|
323
|
+
put?: never;
|
|
324
|
+
post?: never;
|
|
325
|
+
delete?: never;
|
|
326
|
+
options?: never;
|
|
327
|
+
head?: never;
|
|
328
|
+
patch?: never;
|
|
329
|
+
trace?: never;
|
|
330
|
+
};
|
|
331
|
+
"/v1/transactions": {
|
|
332
|
+
parameters: {
|
|
333
|
+
query?: never;
|
|
334
|
+
header?: never;
|
|
335
|
+
path?: never;
|
|
336
|
+
cookie?: never;
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* List transactions
|
|
340
|
+
* @description Lists the business's money movements, newest first.
|
|
341
|
+
*
|
|
342
|
+
* SCOPING. The response covers every movement booked for this credential's business, so one cursor sweep reconciles everything. There is no narrower scope to ask for: one credential addresses one business.
|
|
343
|
+
*
|
|
344
|
+
* WHAT A ROW IS. One row is one MOVEMENT — the whole operation, not its ledger legs. asset_changes carries its signed net effect on the business's own holdings, one entry per asset: negative left, positive arrived. Amounts are net of the ledger's fees and taxes, on the same basis /v1/balances reports. Legs that touch accounts /v1/balances does not report are left out — a payout's beneficiary side, a bank account, a whitelisted withdrawal address — and so are legs that failed, which never reached a balance.
|
|
345
|
+
*
|
|
346
|
+
* RECONCILING AGAINST /v1/balances. Sum an asset's amounts across EVERY transaction, with no filter on status, and the total is the movement in that asset's settled balance. Do not restrict the sum to completed transactions: asset_changes reports what has SETTLED, which is not the same fact as the movement's status. A movement whose legs are still in flight reports no change at all, even one already marked processing; a movement that FAILED after part of it settled reports the part that settled, because that money really moved.
|
|
347
|
+
*
|
|
348
|
+
* STATUS. pending means no leg has been picked up yet. processing means at least one leg is in flight. completed means every leg settled, and completed_ts is the instant the last one did. failed means the movement terminated without settling, and failed_ts is when. The two non-terminal states are reported separately because they call for opposite responses: a movement nothing has touched may be worth chasing, one already in flight must be left alone.
|
|
349
|
+
*
|
|
350
|
+
* PAGING. limit defaults to 10 and may not exceed 100; a larger value is rejected rather than reduced, so has_more always answers the question you asked. starting_after and ending_before each take a transaction id and cannot be combined. Pages are newest-first in both directions — ending_before returns the transactions immediately newer than the cursor, still ordered newest first. has_more reports whether more transactions exist in the direction this page was taken (older ones under starting_after, newer ones under ending_before); it is not a statement about the history as a whole. A cursor that names no readable transaction is rejected rather than ignored, because paging from it would silently restart at the beginning.
|
|
351
|
+
*
|
|
352
|
+
* PAGING IS STABLE UNDER NEW ACTIVITY. The order is (created_ts, id), both of which are fixed when a movement is opened and never change afterwards — not when it settles, not when it fails. A movement booked while you are paging therefore lands at a position the order already defines: sweeping older with starting_after can neither skip a row nor repeat one, because new movements land NEWER than every cursor you hold. Paging the other way with ending_before deliberately can surface a movement you have not seen — that is what asking for newer rows means — so a sweep that walks forward and back across the same boundary may see one row twice. Reconcile on the transaction id.
|
|
353
|
+
*
|
|
354
|
+
* FRESHNESS. There is no lag and no cache: a movement is listable as soon as it is booked, and its status is read live on every request. A row you fetched earlier can therefore come back with a later status; its id, created_ts and type will not have moved.
|
|
355
|
+
*/
|
|
356
|
+
get: operations["transactions.list"];
|
|
357
|
+
put?: never;
|
|
358
|
+
post?: never;
|
|
359
|
+
delete?: never;
|
|
360
|
+
options?: never;
|
|
361
|
+
head?: never;
|
|
362
|
+
patch?: never;
|
|
363
|
+
trace?: never;
|
|
364
|
+
};
|
|
365
|
+
"/v1/transactions/{id}": {
|
|
366
|
+
parameters: {
|
|
367
|
+
query?: never;
|
|
368
|
+
header?: never;
|
|
369
|
+
path?: never;
|
|
370
|
+
cookie?: never;
|
|
371
|
+
};
|
|
372
|
+
/**
|
|
373
|
+
* Retrieve a transaction
|
|
374
|
+
* @description Retrieves one transaction by id.
|
|
375
|
+
*
|
|
376
|
+
* A transaction is one MOVEMENT — the whole operation, not its ledger legs. Its id is stable for the life of the movement, so it can be stored and re-read as the movement progresses.
|
|
377
|
+
*
|
|
378
|
+
* FIGURES. asset_changes is the signed net effect on the business's OWN SETTLED holdings, one entry per asset: negative left, positive arrived. Amounts are net of the ledger's fees and taxes, on the same basis /v1/balances reports. Legs touching accounts /v1/balances does not report are left out, and so are legs that failed — a failed leg never reached a balance.
|
|
379
|
+
*
|
|
380
|
+
* IT REPORTS WHAT SETTLED, NOT WHAT THE STATUS SAYS. A movement still in flight reports no change at all, because none of its legs has reached a balance yet. A movement that failed after part of it settled reports the part that settled. One whose every leg failed reports no change. Sum an asset's amounts across every transaction — with no filter on status — to reconcile against /v1/balances.
|
|
381
|
+
*
|
|
382
|
+
* STATUS. The four states are pending, processing, completed and failed. completed_ts and failed_ts are mutually exclusive, and neither is present while the movement is in flight.
|
|
383
|
+
*
|
|
384
|
+
* SCOPING. Any transaction booked for this credential's business may be retrieved, and nothing else. An id that names no movement and one belonging to another business are answered identically.
|
|
385
|
+
*/
|
|
386
|
+
get: operations["transactions.get"];
|
|
387
|
+
put?: never;
|
|
388
|
+
post?: never;
|
|
389
|
+
delete?: never;
|
|
390
|
+
options?: never;
|
|
391
|
+
head?: never;
|
|
392
|
+
patch?: never;
|
|
393
|
+
trace?: never;
|
|
394
|
+
};
|
|
395
|
+
"/v1/webhook_endpoints": {
|
|
396
|
+
parameters: {
|
|
397
|
+
query?: never;
|
|
398
|
+
header?: never;
|
|
399
|
+
path?: never;
|
|
400
|
+
cookie?: never;
|
|
401
|
+
};
|
|
402
|
+
/**
|
|
403
|
+
* List webhook endpoints
|
|
404
|
+
* @description Lists webhook endpoints without their signing secrets, newest first. limit defaults to 10 and may not exceed 100. starting_after and ending_before are mutually exclusive.
|
|
405
|
+
*/
|
|
406
|
+
get: operations["webhook_endpoints.list"];
|
|
407
|
+
put?: never;
|
|
408
|
+
/**
|
|
409
|
+
* Create a webhook endpoint
|
|
410
|
+
* @description Registers one HTTPS webhook endpoint for the authenticated business. The signing secret is returned only by this response and its encrypted idempotent replay.
|
|
411
|
+
*/
|
|
412
|
+
post: operations["webhook_endpoints.create"];
|
|
413
|
+
delete?: never;
|
|
414
|
+
options?: never;
|
|
415
|
+
head?: never;
|
|
416
|
+
patch?: never;
|
|
417
|
+
trace?: never;
|
|
418
|
+
};
|
|
419
|
+
"/v1/webhook_endpoints/{id}": {
|
|
420
|
+
parameters: {
|
|
421
|
+
query?: never;
|
|
422
|
+
header?: never;
|
|
423
|
+
path?: never;
|
|
424
|
+
cookie?: never;
|
|
425
|
+
};
|
|
426
|
+
/**
|
|
427
|
+
* Retrieve a webhook endpoint
|
|
428
|
+
* @description Retrieves one webhook endpoint without its signing secret.
|
|
429
|
+
*/
|
|
430
|
+
get: operations["webhook_endpoints.get"];
|
|
431
|
+
put?: never;
|
|
432
|
+
/**
|
|
433
|
+
* Update a webhook endpoint
|
|
434
|
+
* @description Updates supplied webhook endpoint configuration while preserving its signing secret, API version, and enabled state.
|
|
435
|
+
*/
|
|
436
|
+
post: operations["webhook_endpoints.update"];
|
|
437
|
+
delete?: never;
|
|
438
|
+
options?: never;
|
|
439
|
+
head?: never;
|
|
440
|
+
patch?: never;
|
|
441
|
+
trace?: never;
|
|
442
|
+
};
|
|
443
|
+
"/v1/webhook_endpoints/{id}/deliveries": {
|
|
444
|
+
parameters: {
|
|
445
|
+
query?: never;
|
|
446
|
+
header?: never;
|
|
447
|
+
path?: never;
|
|
448
|
+
cookie?: never;
|
|
449
|
+
};
|
|
450
|
+
/**
|
|
451
|
+
* List webhook deliveries
|
|
452
|
+
* @description Lists secret-free delivery health for an endpoint, newest first. limit defaults to 10 and may not exceed 100. starting_after and ending_before are mutually exclusive.
|
|
453
|
+
*/
|
|
454
|
+
get: operations["webhook_deliveries.list"];
|
|
455
|
+
put?: never;
|
|
456
|
+
post?: never;
|
|
457
|
+
delete?: never;
|
|
458
|
+
options?: never;
|
|
459
|
+
head?: never;
|
|
460
|
+
patch?: never;
|
|
461
|
+
trace?: never;
|
|
462
|
+
};
|
|
463
|
+
"/v1/webhook_endpoints/{id}/deliveries/{event_id}": {
|
|
464
|
+
parameters: {
|
|
465
|
+
query?: never;
|
|
466
|
+
header?: never;
|
|
467
|
+
path?: never;
|
|
468
|
+
cookie?: never;
|
|
469
|
+
};
|
|
470
|
+
/**
|
|
471
|
+
* Retrieve a webhook delivery
|
|
472
|
+
* @description Retrieves delivery health for one endpoint and event.
|
|
473
|
+
*/
|
|
474
|
+
get: operations["webhook_deliveries.get"];
|
|
475
|
+
put?: never;
|
|
476
|
+
post?: never;
|
|
477
|
+
delete?: never;
|
|
478
|
+
options?: never;
|
|
479
|
+
head?: never;
|
|
480
|
+
patch?: never;
|
|
481
|
+
trace?: never;
|
|
482
|
+
};
|
|
483
|
+
"/v1/webhook_endpoints/{id}/deliveries/{event_id}/replay": {
|
|
484
|
+
parameters: {
|
|
485
|
+
query?: never;
|
|
486
|
+
header?: never;
|
|
487
|
+
path?: never;
|
|
488
|
+
cookie?: never;
|
|
489
|
+
};
|
|
490
|
+
get?: never;
|
|
491
|
+
put?: never;
|
|
492
|
+
/**
|
|
493
|
+
* Replay a webhook delivery
|
|
494
|
+
* @description Requeues one dead webhook delivery using its original event and endpoint revision, with a new three-day retry window.
|
|
495
|
+
*/
|
|
496
|
+
post: operations["webhook_deliveries.replay"];
|
|
497
|
+
delete?: never;
|
|
498
|
+
options?: never;
|
|
499
|
+
head?: never;
|
|
500
|
+
patch?: never;
|
|
501
|
+
trace?: never;
|
|
502
|
+
};
|
|
503
|
+
"/v1/webhook_endpoints/{id}/disable": {
|
|
504
|
+
parameters: {
|
|
505
|
+
query?: never;
|
|
506
|
+
header?: never;
|
|
507
|
+
path?: never;
|
|
508
|
+
cookie?: never;
|
|
509
|
+
};
|
|
510
|
+
get?: never;
|
|
511
|
+
put?: never;
|
|
512
|
+
/**
|
|
513
|
+
* Disable a webhook endpoint
|
|
514
|
+
* @description Disables a webhook endpoint so future events are not materialized for delivery. Repeating the operation is safe.
|
|
515
|
+
*/
|
|
516
|
+
post: operations["webhook_endpoints.disable"];
|
|
517
|
+
delete?: never;
|
|
518
|
+
options?: never;
|
|
519
|
+
head?: never;
|
|
520
|
+
patch?: never;
|
|
521
|
+
trace?: never;
|
|
522
|
+
};
|
|
523
|
+
"/v1/webhook_endpoints/{id}/rotate_secret": {
|
|
524
|
+
parameters: {
|
|
525
|
+
query?: never;
|
|
526
|
+
header?: never;
|
|
527
|
+
path?: never;
|
|
528
|
+
cookie?: never;
|
|
529
|
+
};
|
|
530
|
+
get?: never;
|
|
531
|
+
put?: never;
|
|
532
|
+
/**
|
|
533
|
+
* Rotate a webhook endpoint signing secret
|
|
534
|
+
* @description Issues a replacement signing secret for this endpoint. The secret is returned only by this response and its encrypted idempotent replay.
|
|
535
|
+
*/
|
|
536
|
+
post: operations["webhook_endpoints.rotate_secret"];
|
|
537
|
+
delete?: never;
|
|
538
|
+
options?: never;
|
|
539
|
+
head?: never;
|
|
540
|
+
patch?: never;
|
|
541
|
+
trace?: never;
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
export type webhooks = Record<string, never>;
|
|
545
|
+
export interface components {
|
|
546
|
+
schemas: {
|
|
547
|
+
APIClient: {
|
|
548
|
+
api_version: string;
|
|
549
|
+
/** Format: date-time */
|
|
550
|
+
created_ts: string;
|
|
551
|
+
id: string;
|
|
552
|
+
livemode: boolean;
|
|
553
|
+
metadata?: components["schemas"]["Metadata"];
|
|
554
|
+
object: string;
|
|
555
|
+
scopes: string[];
|
|
556
|
+
};
|
|
557
|
+
/** @enum {string} */
|
|
558
|
+
APIVersion: "2026-07-23";
|
|
559
|
+
Account: {
|
|
560
|
+
/** @description The product areas enabled for this business. A credential's scopes are intersected against this set, so an area absent here is refused whatever the key was minted with. */
|
|
561
|
+
capabilities: string[];
|
|
562
|
+
/**
|
|
563
|
+
* Format: date-time
|
|
564
|
+
* @description When this business's first API credential was issued in this environment -- the moment its API account came into existence. It is NOT the date the business signed up on the web app. Until the first key is rotated this equals the credential's own created_ts on /v1/api_clients/current; after a rotation that one moves and this one does not.
|
|
565
|
+
*/
|
|
566
|
+
created_ts: string;
|
|
567
|
+
/** @description The account id. Constant for the life of a credential. */
|
|
568
|
+
id: string;
|
|
569
|
+
/** @description Whether the credential reading this account is a live key. */
|
|
570
|
+
livemode: boolean;
|
|
571
|
+
/** @enum {string} */
|
|
572
|
+
object: "account";
|
|
573
|
+
};
|
|
574
|
+
AccountList: {
|
|
575
|
+
data: components["schemas"]["Account"][];
|
|
576
|
+
has_more: boolean;
|
|
577
|
+
/** @enum {string} */
|
|
578
|
+
object: "list";
|
|
579
|
+
};
|
|
580
|
+
Balance: {
|
|
581
|
+
/** @description The asset symbol, in the ledger's own casing (USDC, BTC, WTGXX, SOL:USDC). */
|
|
582
|
+
asset: string;
|
|
583
|
+
/** @description The settled balance, in the asset's own units. */
|
|
584
|
+
balance_native: string;
|
|
585
|
+
/** @description The settled balance valued in USD. ABSENT when we hold no rate for this asset at created_ts — the field is omitted rather than reported as 0, which would be an invented number. */
|
|
586
|
+
balance_usd?: string;
|
|
587
|
+
/**
|
|
588
|
+
* @description The network this holding sits on. off_chain is the chain-agnostic omnibus balance; unknown means the chain could not be attributed, and the holding is reported anyway rather than dropped.
|
|
589
|
+
* @enum {string}
|
|
590
|
+
*/
|
|
591
|
+
chain: "off_chain" | "ethereum" | "arbitrum" | "base" | "stellar" | "unknown";
|
|
592
|
+
/**
|
|
593
|
+
* Format: date-time
|
|
594
|
+
* @description The instant the ledger was cut and the assets were priced. Every figure below is as of this instant.
|
|
595
|
+
*/
|
|
596
|
+
created_ts: string;
|
|
597
|
+
/** @description The balance id. Derived from (business, chain, source, asset, segregated rail), so it is stable across reads and safe to diff against. */
|
|
598
|
+
id: string;
|
|
599
|
+
/** @description Always true. A balance is a fact about real custodied money; there is no test ledger. */
|
|
600
|
+
livemode: boolean;
|
|
601
|
+
/** @enum {string} */
|
|
602
|
+
object: "balance";
|
|
603
|
+
/** @description Value on its way IN to this bucket and not yet settled, in the asset's own units. Never netted against pending_outgoing_native. A single movement's pass-through legs ARE netted inside this figure: an account credited and debited within one movement counts once, not twice in both directions. */
|
|
604
|
+
pending_incoming_native: string;
|
|
605
|
+
/** @description pending_incoming_native valued in USD. ABSENT when we hold no rate for this asset at created_ts. */
|
|
606
|
+
pending_incoming_usd?: string;
|
|
607
|
+
/** @description Value on its way OUT of this bucket and not yet settled, in the asset's own units. Never netted against pending_incoming_native. A single movement's pass-through legs ARE netted inside this figure: an account credited and debited within one movement counts once, not twice in both directions. */
|
|
608
|
+
pending_outgoing_native: string;
|
|
609
|
+
/** @description pending_outgoing_native valued in USD. ABSENT when we hold no rate for this asset at created_ts. */
|
|
610
|
+
pending_outgoing_usd?: string;
|
|
611
|
+
/** @description The rail this balance is locked to, when it is locked to one. ABSENT MEANS SPENDABLE. A present value (onchain_stellar today) means the value can be held and withdrawn over that rail only, and is not fungible with the spendable balance in the same asset. */
|
|
612
|
+
segregated_rail?: string;
|
|
613
|
+
/**
|
|
614
|
+
* @description The custodian holding this balance.
|
|
615
|
+
* @enum {string}
|
|
616
|
+
*/
|
|
617
|
+
source: "custody";
|
|
618
|
+
};
|
|
619
|
+
BalanceList: {
|
|
620
|
+
data: components["schemas"]["Balance"][];
|
|
621
|
+
has_more: boolean;
|
|
622
|
+
/** @enum {string} */
|
|
623
|
+
object: "list";
|
|
624
|
+
};
|
|
625
|
+
Decimal: string;
|
|
626
|
+
Error: {
|
|
627
|
+
error: {
|
|
628
|
+
/** @description Legal values/transitions on an illegal-transition conflict. */
|
|
629
|
+
allowed?: string[];
|
|
630
|
+
/** @description Credential ID issued by a duplicate credential-mint request. */
|
|
631
|
+
api_client_id?: string;
|
|
632
|
+
/** @description Stable machine-readable error code (present on 4xx, absent on 5xx). */
|
|
633
|
+
code?: string;
|
|
634
|
+
/** @description Per-field validation breakdown. */
|
|
635
|
+
errors?: {
|
|
636
|
+
/** @description Field-level error code. */
|
|
637
|
+
code?: string;
|
|
638
|
+
/** @description Human-readable detail for this field. */
|
|
639
|
+
detail?: string;
|
|
640
|
+
/** @description RFC 6901 JSON Pointer to the offending field. */
|
|
641
|
+
pointer?: string;
|
|
642
|
+
}[];
|
|
643
|
+
/** @description Human-readable message. Not a contract; branch on code/type. */
|
|
644
|
+
message?: string;
|
|
645
|
+
/** @description RFC 6901 JSON Pointer to the first offending field (validation errors). */
|
|
646
|
+
param?: string;
|
|
647
|
+
/** @description Correlates with the Request-Id response header. */
|
|
648
|
+
request_id?: string;
|
|
649
|
+
/**
|
|
650
|
+
* @description Error class. One of a closed enum.
|
|
651
|
+
* @enum {string}
|
|
652
|
+
*/
|
|
653
|
+
type: "invalid_request_error" | "authentication_error" | "permission_error" | "idempotency_error" | "rate_limit_error" | "api_error";
|
|
654
|
+
};
|
|
655
|
+
};
|
|
656
|
+
Event: {
|
|
657
|
+
account?: string;
|
|
658
|
+
api_version: components["schemas"]["APIVersion"];
|
|
659
|
+
/** Format: date-time */
|
|
660
|
+
created_ts: string;
|
|
661
|
+
data: {
|
|
662
|
+
object: components["schemas"]["ResourceReference"];
|
|
663
|
+
};
|
|
664
|
+
id: string;
|
|
665
|
+
livemode: boolean;
|
|
666
|
+
/** @enum {string} */
|
|
667
|
+
object: "event";
|
|
668
|
+
type: string;
|
|
669
|
+
};
|
|
670
|
+
EventList: {
|
|
671
|
+
data: components["schemas"]["Event"][];
|
|
672
|
+
has_more: boolean;
|
|
673
|
+
/** @enum {string} */
|
|
674
|
+
object: "list";
|
|
675
|
+
};
|
|
676
|
+
EventType: {
|
|
677
|
+
description: string;
|
|
678
|
+
/** @enum {string} */
|
|
679
|
+
object: "event_type";
|
|
680
|
+
/** @description The event type, e.g. transaction.created. */
|
|
681
|
+
type: string;
|
|
682
|
+
};
|
|
683
|
+
EventTypeCatalog: {
|
|
684
|
+
data: components["schemas"]["EventType"][];
|
|
685
|
+
/** @enum {string} */
|
|
686
|
+
object: "list";
|
|
687
|
+
};
|
|
688
|
+
/** @enum {string} */
|
|
689
|
+
EventTypeName: "order.updated" | "transaction.created" | "transaction.updated";
|
|
690
|
+
List: {
|
|
691
|
+
data: components["schemas"]["Resource"][];
|
|
692
|
+
has_more: boolean;
|
|
693
|
+
/** @enum {string} */
|
|
694
|
+
object: "list";
|
|
695
|
+
};
|
|
696
|
+
/** @description Customer metadata. Sensitive data is forbidden. */
|
|
697
|
+
Metadata: {
|
|
698
|
+
[key: string]: string;
|
|
699
|
+
};
|
|
700
|
+
Order: {
|
|
701
|
+
amount: string;
|
|
702
|
+
/** Format: date-time */
|
|
703
|
+
created_ts: string;
|
|
704
|
+
/** @enum {string} */
|
|
705
|
+
direction: "buy" | "sell";
|
|
706
|
+
failure_code?: string;
|
|
707
|
+
/** @description The order id. Stable for the life of the order and safe to store. */
|
|
708
|
+
id: string;
|
|
709
|
+
livemode: boolean;
|
|
710
|
+
/** @enum {string} */
|
|
711
|
+
object: "order";
|
|
712
|
+
quoted_price: string;
|
|
713
|
+
/** @enum {string} */
|
|
714
|
+
settlement: "standard" | "instant";
|
|
715
|
+
/** @enum {string} */
|
|
716
|
+
state: "pending" | "executing" | "filled" | "failed";
|
|
717
|
+
symbol: string;
|
|
718
|
+
};
|
|
719
|
+
OrderCreateInput: {
|
|
720
|
+
/** @description The trade size as a decimal string: USD on a buy, shares on a sell. Must be positive. */
|
|
721
|
+
amount: string;
|
|
722
|
+
/**
|
|
723
|
+
* @description Which side to trade.
|
|
724
|
+
* @enum {string}
|
|
725
|
+
*/
|
|
726
|
+
direction: "buy" | "sell";
|
|
727
|
+
/** @description The price_per_unit from GET /v1/quotes. Execution verifies it against the NAV the trade runs at, so a stale echo is refused rather than filled. */
|
|
728
|
+
quoted_price: string;
|
|
729
|
+
/**
|
|
730
|
+
* @description Settlement mode. Express (instant) carries a commission the standard path does not; see the express terms on GET /v1/quotes. Express draws on a shared reserve, so an express order can be refused at execution and the order reaches a failed state naming why — re-place it as standard against the same unexpired quote.
|
|
731
|
+
* @enum {string}
|
|
732
|
+
*/
|
|
733
|
+
settlement: "standard" | "instant";
|
|
734
|
+
/** @description The fund ticker to trade, e.g. WTGXX. */
|
|
735
|
+
symbol: string;
|
|
736
|
+
};
|
|
737
|
+
OrderList: {
|
|
738
|
+
data: components["schemas"]["Order"][];
|
|
739
|
+
has_more: boolean;
|
|
740
|
+
/** @enum {string} */
|
|
741
|
+
object: "list";
|
|
742
|
+
};
|
|
743
|
+
Quote: {
|
|
744
|
+
amount_usd: string;
|
|
745
|
+
/** @enum {string} */
|
|
746
|
+
direction: "buy" | "sell";
|
|
747
|
+
estimated_quantity: string;
|
|
748
|
+
/** Format: date-time */
|
|
749
|
+
expires_ts: string;
|
|
750
|
+
express?: components["schemas"]["QuoteExpress"];
|
|
751
|
+
livemode: boolean;
|
|
752
|
+
/** @enum {string} */
|
|
753
|
+
object: "quote";
|
|
754
|
+
price_per_unit: string;
|
|
755
|
+
symbol: string;
|
|
756
|
+
};
|
|
757
|
+
QuoteExpress: {
|
|
758
|
+
/**
|
|
759
|
+
* Format: int64
|
|
760
|
+
* @description The express commission rate, in basis points, this quote was struck at.
|
|
761
|
+
*/
|
|
762
|
+
fee_bps: number;
|
|
763
|
+
/** @description What WisdomTree keeps out of the USDC sent, for this amount. */
|
|
764
|
+
fee_usd: string;
|
|
765
|
+
/** @description The per-order ceiling on the express pathway. A policy constant, identical for every business. */
|
|
766
|
+
max_order_usd: string;
|
|
767
|
+
/** @description What an express buy delivers: estimated_quantity less the commission. A standard buy delivers the gross figure instead. */
|
|
768
|
+
net_estimated_quantity: string;
|
|
769
|
+
/** @description The end-to-end estimate an express order is dated at. A policy constant, never a function of live liquidity. */
|
|
770
|
+
settlement_estimate_seconds: number;
|
|
771
|
+
};
|
|
772
|
+
Resource: {
|
|
773
|
+
/** Format: date-time */
|
|
774
|
+
created_ts: string;
|
|
775
|
+
id: string;
|
|
776
|
+
livemode: boolean;
|
|
777
|
+
/** @description Customer metadata. Sensitive data is forbidden. */
|
|
778
|
+
metadata?: {
|
|
779
|
+
[key: string]: string;
|
|
780
|
+
};
|
|
781
|
+
object: string;
|
|
782
|
+
};
|
|
783
|
+
ResourceReference: {
|
|
784
|
+
id: string;
|
|
785
|
+
object: string;
|
|
786
|
+
};
|
|
787
|
+
Security: {
|
|
788
|
+
asset_class: string;
|
|
789
|
+
is_money_market: boolean;
|
|
790
|
+
minimum_investment: string;
|
|
791
|
+
name: string;
|
|
792
|
+
/** @enum {string} */
|
|
793
|
+
object: "security";
|
|
794
|
+
provider: string;
|
|
795
|
+
/** @description The fund ticker, e.g. WTGXX. */
|
|
796
|
+
ticker: string;
|
|
797
|
+
};
|
|
798
|
+
SecurityCatalog: {
|
|
799
|
+
data: components["schemas"]["Security"][];
|
|
800
|
+
/** @enum {string} */
|
|
801
|
+
object: "list";
|
|
802
|
+
};
|
|
803
|
+
Statement: {
|
|
804
|
+
/** Format: date-time */
|
|
805
|
+
created_ts: string;
|
|
806
|
+
id: string;
|
|
807
|
+
livemode: boolean;
|
|
808
|
+
/** Format: int32 */
|
|
809
|
+
number: number;
|
|
810
|
+
/** @enum {string} */
|
|
811
|
+
object: "statement";
|
|
812
|
+
/** Format: date-time */
|
|
813
|
+
period_end_ts: string;
|
|
814
|
+
/** Format: date-time */
|
|
815
|
+
period_start_ts: string;
|
|
816
|
+
superseded_by?: string;
|
|
817
|
+
};
|
|
818
|
+
StatementList: {
|
|
819
|
+
data: components["schemas"]["Statement"][];
|
|
820
|
+
has_more: boolean;
|
|
821
|
+
/** @enum {string} */
|
|
822
|
+
object: "list";
|
|
823
|
+
};
|
|
824
|
+
Transaction: {
|
|
825
|
+
/** @description The signed net change to the business's own SETTLED holdings, one entry per asset, ordered by asset. Empty when nothing of the business's own has settled yet: a movement still pending or processing reports no change, and neither does one whose every leg failed. A failed movement DOES report the legs that settled before it failed. */
|
|
826
|
+
asset_changes: components["schemas"]["TransactionAssetChange"][];
|
|
827
|
+
/**
|
|
828
|
+
* Format: date-time
|
|
829
|
+
* @description When the last leg settled. Present only when status is completed, and never alongside failed_ts.
|
|
830
|
+
*/
|
|
831
|
+
completed_ts?: string;
|
|
832
|
+
/**
|
|
833
|
+
* Format: date-time
|
|
834
|
+
* @description When the movement was opened. Immutable, and the instant this list is ordered and paged on.
|
|
835
|
+
*/
|
|
836
|
+
created_ts: string;
|
|
837
|
+
/**
|
|
838
|
+
* Format: date-time
|
|
839
|
+
* @description When the movement terminated as failed. Present only when status is failed, and never alongside completed_ts.
|
|
840
|
+
*/
|
|
841
|
+
failed_ts?: string;
|
|
842
|
+
/** @description The transaction id. Stable for the life of the movement and safe to store. */
|
|
843
|
+
id: string;
|
|
844
|
+
/** @description Always true. A transaction records real custodied money moving; there is no test ledger. */
|
|
845
|
+
livemode: boolean;
|
|
846
|
+
/** @enum {string} */
|
|
847
|
+
object: "transaction";
|
|
848
|
+
/**
|
|
849
|
+
* @description The movement's lifecycle. pending means no leg has been picked up yet; processing means at least one leg is in flight and none has failed the movement; completed means every leg settled; failed means the movement terminated without settling. pending and processing are reported separately rather than folded together, because only one of them is a reason to keep waiting.
|
|
850
|
+
* @enum {string}
|
|
851
|
+
*/
|
|
852
|
+
status: "pending" | "processing" | "completed" | "failed";
|
|
853
|
+
/**
|
|
854
|
+
* @description What the movement is. The full vocabulary is published; a business only ever sees the members its own activity produces.
|
|
855
|
+
* @enum {string}
|
|
856
|
+
*/
|
|
857
|
+
type: "ach_offramp" | "ach_onramp" | "adjustment" | "bank_payin" | "bank_payout" | "buy_fund_token" | "buy_fund_token_return" | "fund_cash_subscription" | "fund_dividend_payout" | "fund_distribution_payout" | "fund_gas_tank" | "fund_xlm_reserve" | "gas_wallet_funding" | "go_account_conversion" | "go_account_custodial_transfer" | "go_account_external_send" | "onchain_deposit" | "onchain_withdrawal" | "reclassification" | "sell_fund_token" | "sell_fund_token_return" | "trade_order" | "treasury_booking" | "treasury_wire_credit" | "wire_offramp" | "wire_onramp";
|
|
858
|
+
};
|
|
859
|
+
TransactionAssetChange: {
|
|
860
|
+
/** @description The signed net change to the business's settled holdings of this asset, in the asset's own units. NEGATIVE LEFT the business, positive arrived. Net of the ledger's fees and taxes, on the same basis /v1/balances reports. Summing an asset's amounts across every transaction — not only the completed ones — gives the movement in its settled balance. */
|
|
861
|
+
amount: string;
|
|
862
|
+
/** @description The asset symbol, in the ledger's own casing (USDC, WTGXX, SOL:USDC). */
|
|
863
|
+
asset: string;
|
|
864
|
+
};
|
|
865
|
+
TransactionList: {
|
|
866
|
+
data: components["schemas"]["Transaction"][];
|
|
867
|
+
has_more: boolean;
|
|
868
|
+
/** @enum {string} */
|
|
869
|
+
object: "list";
|
|
870
|
+
};
|
|
871
|
+
WebhookDelivery: {
|
|
872
|
+
attempt_count: number;
|
|
873
|
+
/** Format: date-time */
|
|
874
|
+
created_ts: string;
|
|
875
|
+
/** Format: date-time */
|
|
876
|
+
dead_ts?: string | null;
|
|
877
|
+
/** Format: date-time */
|
|
878
|
+
delivered_ts?: string | null;
|
|
879
|
+
event: string;
|
|
880
|
+
id: string;
|
|
881
|
+
/** Format: date-time */
|
|
882
|
+
last_attempt_ts?: string | null;
|
|
883
|
+
/** @enum {string} */
|
|
884
|
+
last_error?: "transport_error" | "invalid_destination" | "non_success_status";
|
|
885
|
+
livemode: boolean;
|
|
886
|
+
/** Format: date-time */
|
|
887
|
+
next_attempt_ts?: string | null;
|
|
888
|
+
/** @enum {string} */
|
|
889
|
+
object: "webhook_delivery";
|
|
890
|
+
response_status?: number | null;
|
|
891
|
+
/** @enum {string} */
|
|
892
|
+
status: "pending" | "in_flight" | "delivered" | "dead";
|
|
893
|
+
};
|
|
894
|
+
WebhookDeliveryList: {
|
|
895
|
+
data: {
|
|
896
|
+
attempt_count: number;
|
|
897
|
+
/** Format: date-time */
|
|
898
|
+
created_ts: string;
|
|
899
|
+
/** Format: date-time */
|
|
900
|
+
dead_ts?: string | null;
|
|
901
|
+
/** Format: date-time */
|
|
902
|
+
delivered_ts?: string | null;
|
|
903
|
+
event: string;
|
|
904
|
+
id: string;
|
|
905
|
+
/** Format: date-time */
|
|
906
|
+
last_attempt_ts?: string | null;
|
|
907
|
+
/** @enum {string} */
|
|
908
|
+
last_error?: "transport_error" | "invalid_destination" | "non_success_status";
|
|
909
|
+
livemode: boolean;
|
|
910
|
+
/** Format: date-time */
|
|
911
|
+
next_attempt_ts?: string | null;
|
|
912
|
+
/** @enum {string} */
|
|
913
|
+
object: "webhook_delivery";
|
|
914
|
+
response_status?: number | null;
|
|
915
|
+
/** @enum {string} */
|
|
916
|
+
status: "pending" | "in_flight" | "delivered" | "dead";
|
|
917
|
+
}[];
|
|
918
|
+
has_more: boolean;
|
|
919
|
+
/** @enum {string} */
|
|
920
|
+
object: "list";
|
|
921
|
+
};
|
|
922
|
+
WebhookEndpoint: {
|
|
923
|
+
account?: string;
|
|
924
|
+
/** @enum {string} */
|
|
925
|
+
api_version: "2026-07-23";
|
|
926
|
+
/** Format: date-time */
|
|
927
|
+
created_ts: string;
|
|
928
|
+
enabled: boolean;
|
|
929
|
+
enabled_events: string[];
|
|
930
|
+
id: string;
|
|
931
|
+
livemode: boolean;
|
|
932
|
+
/** @enum {string} */
|
|
933
|
+
object: "webhook_endpoint";
|
|
934
|
+
url: string;
|
|
935
|
+
};
|
|
936
|
+
WebhookEndpointCreateInput: {
|
|
937
|
+
enabled_events: components["schemas"]["EventTypeName"][];
|
|
938
|
+
url: string;
|
|
939
|
+
};
|
|
940
|
+
WebhookEndpointCreateResponse: {
|
|
941
|
+
account?: string;
|
|
942
|
+
/** @enum {string} */
|
|
943
|
+
api_version: "2026-07-23";
|
|
944
|
+
/** Format: date-time */
|
|
945
|
+
created_ts: string;
|
|
946
|
+
enabled: boolean;
|
|
947
|
+
enabled_events: string[];
|
|
948
|
+
id: string;
|
|
949
|
+
livemode: boolean;
|
|
950
|
+
/** @enum {string} */
|
|
951
|
+
object: "webhook_endpoint";
|
|
952
|
+
signing_secret: string;
|
|
953
|
+
url: string;
|
|
954
|
+
};
|
|
955
|
+
WebhookEndpointList: {
|
|
956
|
+
data: components["schemas"]["WebhookEndpoint"][];
|
|
957
|
+
has_more: boolean;
|
|
958
|
+
/** @enum {string} */
|
|
959
|
+
object: "list";
|
|
960
|
+
};
|
|
961
|
+
WebhookEndpointUpdateInput: {
|
|
962
|
+
enabled_events?: components["schemas"]["EventTypeName"][];
|
|
963
|
+
url?: string | null;
|
|
964
|
+
};
|
|
965
|
+
};
|
|
966
|
+
responses: never;
|
|
967
|
+
parameters: {
|
|
968
|
+
"Idempotency-Key": string;
|
|
969
|
+
"Stable-Sea-Version": components["schemas"]["APIVersion"];
|
|
970
|
+
};
|
|
971
|
+
requestBodies: never;
|
|
972
|
+
headers: never;
|
|
973
|
+
pathItems: never;
|
|
974
|
+
}
|
|
975
|
+
export type $defs = Record<string, never>;
|
|
976
|
+
export interface operations {
|
|
977
|
+
"accounts.list": {
|
|
978
|
+
parameters: {
|
|
979
|
+
query?: {
|
|
980
|
+
/** @description How many accounts to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
981
|
+
limit?: number;
|
|
982
|
+
/** @description Return the accounts immediately after this account id in the list order. Cannot be combined with ending_before. */
|
|
983
|
+
starting_after?: string;
|
|
984
|
+
/** @description Return the accounts immediately before this account id in the list order. Cannot be combined with starting_after. */
|
|
985
|
+
ending_before?: string;
|
|
986
|
+
};
|
|
987
|
+
header?: never;
|
|
988
|
+
path?: never;
|
|
989
|
+
cookie?: never;
|
|
990
|
+
};
|
|
991
|
+
requestBody?: never;
|
|
992
|
+
responses: {
|
|
993
|
+
/** @description OK */
|
|
994
|
+
200: {
|
|
995
|
+
headers: {
|
|
996
|
+
[name: string]: unknown;
|
|
997
|
+
};
|
|
998
|
+
content: {
|
|
999
|
+
"application/json": components["schemas"]["AccountList"];
|
|
1000
|
+
};
|
|
1001
|
+
};
|
|
1002
|
+
/** @description Error response. */
|
|
1003
|
+
default: {
|
|
1004
|
+
headers: {
|
|
1005
|
+
[name: string]: unknown;
|
|
1006
|
+
};
|
|
1007
|
+
content: {
|
|
1008
|
+
"application/json": components["schemas"]["Error"];
|
|
1009
|
+
};
|
|
1010
|
+
};
|
|
1011
|
+
};
|
|
1012
|
+
};
|
|
1013
|
+
"accounts.retrieve": {
|
|
1014
|
+
parameters: {
|
|
1015
|
+
query?: never;
|
|
1016
|
+
header?: never;
|
|
1017
|
+
path: {
|
|
1018
|
+
/** @description The account id. */
|
|
1019
|
+
id: string;
|
|
1020
|
+
};
|
|
1021
|
+
cookie?: never;
|
|
1022
|
+
};
|
|
1023
|
+
requestBody?: never;
|
|
1024
|
+
responses: {
|
|
1025
|
+
/** @description OK */
|
|
1026
|
+
200: {
|
|
1027
|
+
headers: {
|
|
1028
|
+
[name: string]: unknown;
|
|
1029
|
+
};
|
|
1030
|
+
content: {
|
|
1031
|
+
"application/json": components["schemas"]["Account"];
|
|
1032
|
+
};
|
|
1033
|
+
};
|
|
1034
|
+
/** @description Error response. */
|
|
1035
|
+
default: {
|
|
1036
|
+
headers: {
|
|
1037
|
+
[name: string]: unknown;
|
|
1038
|
+
};
|
|
1039
|
+
content: {
|
|
1040
|
+
"application/json": components["schemas"]["Error"];
|
|
1041
|
+
};
|
|
1042
|
+
};
|
|
1043
|
+
};
|
|
1044
|
+
};
|
|
1045
|
+
"api_clients.current.get": {
|
|
1046
|
+
parameters: {
|
|
1047
|
+
query?: never;
|
|
1048
|
+
header?: never;
|
|
1049
|
+
path?: never;
|
|
1050
|
+
cookie?: never;
|
|
1051
|
+
};
|
|
1052
|
+
requestBody?: never;
|
|
1053
|
+
responses: {
|
|
1054
|
+
/** @description OK */
|
|
1055
|
+
200: {
|
|
1056
|
+
headers: {
|
|
1057
|
+
[name: string]: unknown;
|
|
1058
|
+
};
|
|
1059
|
+
content: {
|
|
1060
|
+
"application/json": components["schemas"]["APIClient"];
|
|
1061
|
+
};
|
|
1062
|
+
};
|
|
1063
|
+
/** @description Error response. */
|
|
1064
|
+
default: {
|
|
1065
|
+
headers: {
|
|
1066
|
+
[name: string]: unknown;
|
|
1067
|
+
};
|
|
1068
|
+
content: {
|
|
1069
|
+
"application/json": components["schemas"]["Error"];
|
|
1070
|
+
};
|
|
1071
|
+
};
|
|
1072
|
+
};
|
|
1073
|
+
};
|
|
1074
|
+
"balances.list": {
|
|
1075
|
+
parameters: {
|
|
1076
|
+
query?: {
|
|
1077
|
+
/** @description How many balances to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1078
|
+
limit?: number;
|
|
1079
|
+
/** @description Return the balances immediately after this balance id in the list order. Cannot be combined with ending_before. */
|
|
1080
|
+
starting_after?: string;
|
|
1081
|
+
/** @description Return the balances immediately before this balance id in the list order. Cannot be combined with starting_after. */
|
|
1082
|
+
ending_before?: string;
|
|
1083
|
+
};
|
|
1084
|
+
header?: never;
|
|
1085
|
+
path?: never;
|
|
1086
|
+
cookie?: never;
|
|
1087
|
+
};
|
|
1088
|
+
requestBody?: never;
|
|
1089
|
+
responses: {
|
|
1090
|
+
/** @description OK */
|
|
1091
|
+
200: {
|
|
1092
|
+
headers: {
|
|
1093
|
+
[name: string]: unknown;
|
|
1094
|
+
};
|
|
1095
|
+
content: {
|
|
1096
|
+
"application/json": components["schemas"]["BalanceList"];
|
|
1097
|
+
};
|
|
1098
|
+
};
|
|
1099
|
+
/** @description Error response. */
|
|
1100
|
+
default: {
|
|
1101
|
+
headers: {
|
|
1102
|
+
[name: string]: unknown;
|
|
1103
|
+
};
|
|
1104
|
+
content: {
|
|
1105
|
+
"application/json": components["schemas"]["Error"];
|
|
1106
|
+
};
|
|
1107
|
+
};
|
|
1108
|
+
};
|
|
1109
|
+
};
|
|
1110
|
+
"balances.get": {
|
|
1111
|
+
parameters: {
|
|
1112
|
+
query?: never;
|
|
1113
|
+
header?: never;
|
|
1114
|
+
path: {
|
|
1115
|
+
/** @description The balance id. */
|
|
1116
|
+
id: string;
|
|
1117
|
+
};
|
|
1118
|
+
cookie?: never;
|
|
1119
|
+
};
|
|
1120
|
+
requestBody?: never;
|
|
1121
|
+
responses: {
|
|
1122
|
+
/** @description OK */
|
|
1123
|
+
200: {
|
|
1124
|
+
headers: {
|
|
1125
|
+
[name: string]: unknown;
|
|
1126
|
+
};
|
|
1127
|
+
content: {
|
|
1128
|
+
"application/json": components["schemas"]["Balance"];
|
|
1129
|
+
};
|
|
1130
|
+
};
|
|
1131
|
+
/** @description Error response. */
|
|
1132
|
+
default: {
|
|
1133
|
+
headers: {
|
|
1134
|
+
[name: string]: unknown;
|
|
1135
|
+
};
|
|
1136
|
+
content: {
|
|
1137
|
+
"application/json": components["schemas"]["Error"];
|
|
1138
|
+
};
|
|
1139
|
+
};
|
|
1140
|
+
};
|
|
1141
|
+
};
|
|
1142
|
+
"event_types.catalog": {
|
|
1143
|
+
parameters: {
|
|
1144
|
+
query?: never;
|
|
1145
|
+
header?: never;
|
|
1146
|
+
path?: never;
|
|
1147
|
+
cookie?: never;
|
|
1148
|
+
};
|
|
1149
|
+
requestBody?: never;
|
|
1150
|
+
responses: {
|
|
1151
|
+
/** @description OK */
|
|
1152
|
+
200: {
|
|
1153
|
+
headers: {
|
|
1154
|
+
[name: string]: unknown;
|
|
1155
|
+
};
|
|
1156
|
+
content: {
|
|
1157
|
+
"application/json": components["schemas"]["EventTypeCatalog"];
|
|
1158
|
+
};
|
|
1159
|
+
};
|
|
1160
|
+
/** @description Error response. */
|
|
1161
|
+
default: {
|
|
1162
|
+
headers: {
|
|
1163
|
+
[name: string]: unknown;
|
|
1164
|
+
};
|
|
1165
|
+
content: {
|
|
1166
|
+
"application/json": components["schemas"]["Error"];
|
|
1167
|
+
};
|
|
1168
|
+
};
|
|
1169
|
+
};
|
|
1170
|
+
};
|
|
1171
|
+
"events.list": {
|
|
1172
|
+
parameters: {
|
|
1173
|
+
query?: {
|
|
1174
|
+
/** @description How many events to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1175
|
+
limit?: number;
|
|
1176
|
+
/** @description Return the events immediately older than this event id. Cannot be combined with ending_before. */
|
|
1177
|
+
starting_after?: string;
|
|
1178
|
+
/** @description Return the events immediately newer than this event id. Cannot be combined with starting_after. */
|
|
1179
|
+
ending_before?: string;
|
|
1180
|
+
};
|
|
1181
|
+
header?: never;
|
|
1182
|
+
path?: never;
|
|
1183
|
+
cookie?: never;
|
|
1184
|
+
};
|
|
1185
|
+
requestBody?: never;
|
|
1186
|
+
responses: {
|
|
1187
|
+
/** @description OK */
|
|
1188
|
+
200: {
|
|
1189
|
+
headers: {
|
|
1190
|
+
[name: string]: unknown;
|
|
1191
|
+
};
|
|
1192
|
+
content: {
|
|
1193
|
+
"application/json": components["schemas"]["EventList"];
|
|
1194
|
+
};
|
|
1195
|
+
};
|
|
1196
|
+
/** @description Error response. */
|
|
1197
|
+
default: {
|
|
1198
|
+
headers: {
|
|
1199
|
+
[name: string]: unknown;
|
|
1200
|
+
};
|
|
1201
|
+
content: {
|
|
1202
|
+
"application/json": components["schemas"]["Error"];
|
|
1203
|
+
};
|
|
1204
|
+
};
|
|
1205
|
+
};
|
|
1206
|
+
};
|
|
1207
|
+
"events.get": {
|
|
1208
|
+
parameters: {
|
|
1209
|
+
query?: never;
|
|
1210
|
+
header?: never;
|
|
1211
|
+
path: {
|
|
1212
|
+
/** @description The event id. */
|
|
1213
|
+
id: string;
|
|
1214
|
+
};
|
|
1215
|
+
cookie?: never;
|
|
1216
|
+
};
|
|
1217
|
+
requestBody?: never;
|
|
1218
|
+
responses: {
|
|
1219
|
+
/** @description OK */
|
|
1220
|
+
200: {
|
|
1221
|
+
headers: {
|
|
1222
|
+
[name: string]: unknown;
|
|
1223
|
+
};
|
|
1224
|
+
content: {
|
|
1225
|
+
"application/json": components["schemas"]["Event"];
|
|
1226
|
+
};
|
|
1227
|
+
};
|
|
1228
|
+
/** @description Error response. */
|
|
1229
|
+
default: {
|
|
1230
|
+
headers: {
|
|
1231
|
+
[name: string]: unknown;
|
|
1232
|
+
};
|
|
1233
|
+
content: {
|
|
1234
|
+
"application/json": components["schemas"]["Error"];
|
|
1235
|
+
};
|
|
1236
|
+
};
|
|
1237
|
+
};
|
|
1238
|
+
};
|
|
1239
|
+
"orders.list": {
|
|
1240
|
+
parameters: {
|
|
1241
|
+
query?: {
|
|
1242
|
+
/** @description How many orders to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1243
|
+
limit?: number;
|
|
1244
|
+
/** @description Return the orders immediately older than this order id. Cannot be combined with ending_before. */
|
|
1245
|
+
starting_after?: string;
|
|
1246
|
+
/** @description Return the orders immediately newer than this order id, still newest-first. Cannot be combined with starting_after. */
|
|
1247
|
+
ending_before?: string;
|
|
1248
|
+
};
|
|
1249
|
+
header?: never;
|
|
1250
|
+
path?: never;
|
|
1251
|
+
cookie?: never;
|
|
1252
|
+
};
|
|
1253
|
+
requestBody?: never;
|
|
1254
|
+
responses: {
|
|
1255
|
+
/** @description OK */
|
|
1256
|
+
200: {
|
|
1257
|
+
headers: {
|
|
1258
|
+
[name: string]: unknown;
|
|
1259
|
+
};
|
|
1260
|
+
content: {
|
|
1261
|
+
"application/json": components["schemas"]["OrderList"];
|
|
1262
|
+
};
|
|
1263
|
+
};
|
|
1264
|
+
/** @description Error response. */
|
|
1265
|
+
default: {
|
|
1266
|
+
headers: {
|
|
1267
|
+
[name: string]: unknown;
|
|
1268
|
+
};
|
|
1269
|
+
content: {
|
|
1270
|
+
"application/json": components["schemas"]["Error"];
|
|
1271
|
+
};
|
|
1272
|
+
};
|
|
1273
|
+
};
|
|
1274
|
+
};
|
|
1275
|
+
"orders.create": {
|
|
1276
|
+
parameters: {
|
|
1277
|
+
query?: never;
|
|
1278
|
+
header: {
|
|
1279
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
1280
|
+
};
|
|
1281
|
+
path?: never;
|
|
1282
|
+
cookie?: never;
|
|
1283
|
+
};
|
|
1284
|
+
requestBody?: {
|
|
1285
|
+
content: {
|
|
1286
|
+
"application/json": components["schemas"]["OrderCreateInput"];
|
|
1287
|
+
};
|
|
1288
|
+
};
|
|
1289
|
+
responses: {
|
|
1290
|
+
/** @description OK */
|
|
1291
|
+
200: {
|
|
1292
|
+
headers: {
|
|
1293
|
+
[name: string]: unknown;
|
|
1294
|
+
};
|
|
1295
|
+
content: {
|
|
1296
|
+
"application/json": components["schemas"]["Order"];
|
|
1297
|
+
};
|
|
1298
|
+
};
|
|
1299
|
+
/** @description Error response. */
|
|
1300
|
+
default: {
|
|
1301
|
+
headers: {
|
|
1302
|
+
[name: string]: unknown;
|
|
1303
|
+
};
|
|
1304
|
+
content: {
|
|
1305
|
+
"application/json": components["schemas"]["Error"];
|
|
1306
|
+
};
|
|
1307
|
+
};
|
|
1308
|
+
};
|
|
1309
|
+
};
|
|
1310
|
+
"orders.get": {
|
|
1311
|
+
parameters: {
|
|
1312
|
+
query?: never;
|
|
1313
|
+
header?: never;
|
|
1314
|
+
path: {
|
|
1315
|
+
/** @description The order id. */
|
|
1316
|
+
id: string;
|
|
1317
|
+
};
|
|
1318
|
+
cookie?: never;
|
|
1319
|
+
};
|
|
1320
|
+
requestBody?: never;
|
|
1321
|
+
responses: {
|
|
1322
|
+
/** @description OK */
|
|
1323
|
+
200: {
|
|
1324
|
+
headers: {
|
|
1325
|
+
[name: string]: unknown;
|
|
1326
|
+
};
|
|
1327
|
+
content: {
|
|
1328
|
+
"application/json": components["schemas"]["Order"];
|
|
1329
|
+
};
|
|
1330
|
+
};
|
|
1331
|
+
/** @description Error response. */
|
|
1332
|
+
default: {
|
|
1333
|
+
headers: {
|
|
1334
|
+
[name: string]: unknown;
|
|
1335
|
+
};
|
|
1336
|
+
content: {
|
|
1337
|
+
"application/json": components["schemas"]["Error"];
|
|
1338
|
+
};
|
|
1339
|
+
};
|
|
1340
|
+
};
|
|
1341
|
+
};
|
|
1342
|
+
"quotes.quote": {
|
|
1343
|
+
parameters: {
|
|
1344
|
+
query: {
|
|
1345
|
+
/** @description The fund ticker to price, e.g. WTGXX. */
|
|
1346
|
+
symbol: string;
|
|
1347
|
+
/** @description Which side to price. */
|
|
1348
|
+
direction: "buy" | "sell";
|
|
1349
|
+
/** @description The trade size as a decimal string: USD on a buy, shares on a sell. Must be positive. */
|
|
1350
|
+
amount: string;
|
|
1351
|
+
};
|
|
1352
|
+
header?: never;
|
|
1353
|
+
path?: never;
|
|
1354
|
+
cookie?: never;
|
|
1355
|
+
};
|
|
1356
|
+
requestBody?: never;
|
|
1357
|
+
responses: {
|
|
1358
|
+
/** @description OK */
|
|
1359
|
+
200: {
|
|
1360
|
+
headers: {
|
|
1361
|
+
[name: string]: unknown;
|
|
1362
|
+
};
|
|
1363
|
+
content: {
|
|
1364
|
+
"application/json": components["schemas"]["Quote"];
|
|
1365
|
+
};
|
|
1366
|
+
};
|
|
1367
|
+
/** @description Error response. */
|
|
1368
|
+
default: {
|
|
1369
|
+
headers: {
|
|
1370
|
+
[name: string]: unknown;
|
|
1371
|
+
};
|
|
1372
|
+
content: {
|
|
1373
|
+
"application/json": components["schemas"]["Error"];
|
|
1374
|
+
};
|
|
1375
|
+
};
|
|
1376
|
+
};
|
|
1377
|
+
};
|
|
1378
|
+
"securities.catalog": {
|
|
1379
|
+
parameters: {
|
|
1380
|
+
query?: never;
|
|
1381
|
+
header?: never;
|
|
1382
|
+
path?: never;
|
|
1383
|
+
cookie?: never;
|
|
1384
|
+
};
|
|
1385
|
+
requestBody?: never;
|
|
1386
|
+
responses: {
|
|
1387
|
+
/** @description OK */
|
|
1388
|
+
200: {
|
|
1389
|
+
headers: {
|
|
1390
|
+
[name: string]: unknown;
|
|
1391
|
+
};
|
|
1392
|
+
content: {
|
|
1393
|
+
"application/json": components["schemas"]["SecurityCatalog"];
|
|
1394
|
+
};
|
|
1395
|
+
};
|
|
1396
|
+
/** @description Error response. */
|
|
1397
|
+
default: {
|
|
1398
|
+
headers: {
|
|
1399
|
+
[name: string]: unknown;
|
|
1400
|
+
};
|
|
1401
|
+
content: {
|
|
1402
|
+
"application/json": components["schemas"]["Error"];
|
|
1403
|
+
};
|
|
1404
|
+
};
|
|
1405
|
+
};
|
|
1406
|
+
};
|
|
1407
|
+
"statements.list": {
|
|
1408
|
+
parameters: {
|
|
1409
|
+
query?: {
|
|
1410
|
+
/** @description How many statements to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1411
|
+
limit?: number;
|
|
1412
|
+
/** @description Return the statements immediately after this statement id in the list order. Cannot be combined with ending_before. */
|
|
1413
|
+
starting_after?: string;
|
|
1414
|
+
/** @description Return the statements immediately before this statement id in the list order. Cannot be combined with starting_after. */
|
|
1415
|
+
ending_before?: string;
|
|
1416
|
+
};
|
|
1417
|
+
header?: never;
|
|
1418
|
+
path?: never;
|
|
1419
|
+
cookie?: never;
|
|
1420
|
+
};
|
|
1421
|
+
requestBody?: never;
|
|
1422
|
+
responses: {
|
|
1423
|
+
/** @description OK */
|
|
1424
|
+
200: {
|
|
1425
|
+
headers: {
|
|
1426
|
+
[name: string]: unknown;
|
|
1427
|
+
};
|
|
1428
|
+
content: {
|
|
1429
|
+
"application/json": components["schemas"]["StatementList"];
|
|
1430
|
+
};
|
|
1431
|
+
};
|
|
1432
|
+
/** @description Error response. */
|
|
1433
|
+
default: {
|
|
1434
|
+
headers: {
|
|
1435
|
+
[name: string]: unknown;
|
|
1436
|
+
};
|
|
1437
|
+
content: {
|
|
1438
|
+
"application/json": components["schemas"]["Error"];
|
|
1439
|
+
};
|
|
1440
|
+
};
|
|
1441
|
+
};
|
|
1442
|
+
};
|
|
1443
|
+
"statements.retrieve": {
|
|
1444
|
+
parameters: {
|
|
1445
|
+
query?: never;
|
|
1446
|
+
header?: never;
|
|
1447
|
+
path: {
|
|
1448
|
+
/** @description The statement id. */
|
|
1449
|
+
id: string;
|
|
1450
|
+
};
|
|
1451
|
+
cookie?: never;
|
|
1452
|
+
};
|
|
1453
|
+
requestBody?: never;
|
|
1454
|
+
responses: {
|
|
1455
|
+
/** @description OK */
|
|
1456
|
+
200: {
|
|
1457
|
+
headers: {
|
|
1458
|
+
[name: string]: unknown;
|
|
1459
|
+
};
|
|
1460
|
+
content: {
|
|
1461
|
+
"application/json": components["schemas"]["Statement"];
|
|
1462
|
+
};
|
|
1463
|
+
};
|
|
1464
|
+
/** @description Error response. */
|
|
1465
|
+
default: {
|
|
1466
|
+
headers: {
|
|
1467
|
+
[name: string]: unknown;
|
|
1468
|
+
};
|
|
1469
|
+
content: {
|
|
1470
|
+
"application/json": components["schemas"]["Error"];
|
|
1471
|
+
};
|
|
1472
|
+
};
|
|
1473
|
+
};
|
|
1474
|
+
};
|
|
1475
|
+
"transactions.list": {
|
|
1476
|
+
parameters: {
|
|
1477
|
+
query?: {
|
|
1478
|
+
/** @description How many transactions to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1479
|
+
limit?: number;
|
|
1480
|
+
/** @description Return the transactions immediately older than this transaction id. Cannot be combined with ending_before. */
|
|
1481
|
+
starting_after?: string;
|
|
1482
|
+
/** @description Return the transactions immediately newer than this transaction id, still newest-first. Cannot be combined with starting_after. */
|
|
1483
|
+
ending_before?: string;
|
|
1484
|
+
};
|
|
1485
|
+
header?: never;
|
|
1486
|
+
path?: never;
|
|
1487
|
+
cookie?: never;
|
|
1488
|
+
};
|
|
1489
|
+
requestBody?: never;
|
|
1490
|
+
responses: {
|
|
1491
|
+
/** @description OK */
|
|
1492
|
+
200: {
|
|
1493
|
+
headers: {
|
|
1494
|
+
[name: string]: unknown;
|
|
1495
|
+
};
|
|
1496
|
+
content: {
|
|
1497
|
+
"application/json": components["schemas"]["TransactionList"];
|
|
1498
|
+
};
|
|
1499
|
+
};
|
|
1500
|
+
/** @description Error response. */
|
|
1501
|
+
default: {
|
|
1502
|
+
headers: {
|
|
1503
|
+
[name: string]: unknown;
|
|
1504
|
+
};
|
|
1505
|
+
content: {
|
|
1506
|
+
"application/json": components["schemas"]["Error"];
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
};
|
|
1510
|
+
};
|
|
1511
|
+
"transactions.get": {
|
|
1512
|
+
parameters: {
|
|
1513
|
+
query?: never;
|
|
1514
|
+
header?: never;
|
|
1515
|
+
path: {
|
|
1516
|
+
/** @description The transaction id. */
|
|
1517
|
+
id: string;
|
|
1518
|
+
};
|
|
1519
|
+
cookie?: never;
|
|
1520
|
+
};
|
|
1521
|
+
requestBody?: never;
|
|
1522
|
+
responses: {
|
|
1523
|
+
/** @description OK */
|
|
1524
|
+
200: {
|
|
1525
|
+
headers: {
|
|
1526
|
+
[name: string]: unknown;
|
|
1527
|
+
};
|
|
1528
|
+
content: {
|
|
1529
|
+
"application/json": components["schemas"]["Transaction"];
|
|
1530
|
+
};
|
|
1531
|
+
};
|
|
1532
|
+
/** @description Error response. */
|
|
1533
|
+
default: {
|
|
1534
|
+
headers: {
|
|
1535
|
+
[name: string]: unknown;
|
|
1536
|
+
};
|
|
1537
|
+
content: {
|
|
1538
|
+
"application/json": components["schemas"]["Error"];
|
|
1539
|
+
};
|
|
1540
|
+
};
|
|
1541
|
+
};
|
|
1542
|
+
};
|
|
1543
|
+
"webhook_endpoints.list": {
|
|
1544
|
+
parameters: {
|
|
1545
|
+
query?: {
|
|
1546
|
+
/** @description How many webhook endpoints to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1547
|
+
limit?: number;
|
|
1548
|
+
/** @description Return endpoints immediately older than this endpoint id. Cannot be combined with ending_before. */
|
|
1549
|
+
starting_after?: string;
|
|
1550
|
+
/** @description Return endpoints immediately newer than this endpoint id. Cannot be combined with starting_after. */
|
|
1551
|
+
ending_before?: string;
|
|
1552
|
+
};
|
|
1553
|
+
header?: never;
|
|
1554
|
+
path?: never;
|
|
1555
|
+
cookie?: never;
|
|
1556
|
+
};
|
|
1557
|
+
requestBody?: never;
|
|
1558
|
+
responses: {
|
|
1559
|
+
/** @description OK */
|
|
1560
|
+
200: {
|
|
1561
|
+
headers: {
|
|
1562
|
+
[name: string]: unknown;
|
|
1563
|
+
};
|
|
1564
|
+
content: {
|
|
1565
|
+
"application/json": components["schemas"]["WebhookEndpointList"];
|
|
1566
|
+
};
|
|
1567
|
+
};
|
|
1568
|
+
/** @description Error response. */
|
|
1569
|
+
default: {
|
|
1570
|
+
headers: {
|
|
1571
|
+
[name: string]: unknown;
|
|
1572
|
+
};
|
|
1573
|
+
content: {
|
|
1574
|
+
"application/json": components["schemas"]["Error"];
|
|
1575
|
+
};
|
|
1576
|
+
};
|
|
1577
|
+
};
|
|
1578
|
+
};
|
|
1579
|
+
"webhook_endpoints.create": {
|
|
1580
|
+
parameters: {
|
|
1581
|
+
query?: never;
|
|
1582
|
+
header: {
|
|
1583
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
1584
|
+
};
|
|
1585
|
+
path?: never;
|
|
1586
|
+
cookie?: never;
|
|
1587
|
+
};
|
|
1588
|
+
requestBody?: {
|
|
1589
|
+
content: {
|
|
1590
|
+
"application/json": components["schemas"]["WebhookEndpointCreateInput"];
|
|
1591
|
+
};
|
|
1592
|
+
};
|
|
1593
|
+
responses: {
|
|
1594
|
+
/** @description OK */
|
|
1595
|
+
200: {
|
|
1596
|
+
headers: {
|
|
1597
|
+
[name: string]: unknown;
|
|
1598
|
+
};
|
|
1599
|
+
content: {
|
|
1600
|
+
"application/json": components["schemas"]["WebhookEndpointCreateResponse"];
|
|
1601
|
+
};
|
|
1602
|
+
};
|
|
1603
|
+
/** @description Error response. */
|
|
1604
|
+
default: {
|
|
1605
|
+
headers: {
|
|
1606
|
+
[name: string]: unknown;
|
|
1607
|
+
};
|
|
1608
|
+
content: {
|
|
1609
|
+
"application/json": components["schemas"]["Error"];
|
|
1610
|
+
};
|
|
1611
|
+
};
|
|
1612
|
+
};
|
|
1613
|
+
};
|
|
1614
|
+
"webhook_endpoints.get": {
|
|
1615
|
+
parameters: {
|
|
1616
|
+
query?: never;
|
|
1617
|
+
header?: never;
|
|
1618
|
+
path: {
|
|
1619
|
+
/** @description The webhook endpoint id. */
|
|
1620
|
+
id: string;
|
|
1621
|
+
};
|
|
1622
|
+
cookie?: never;
|
|
1623
|
+
};
|
|
1624
|
+
requestBody?: never;
|
|
1625
|
+
responses: {
|
|
1626
|
+
/** @description OK */
|
|
1627
|
+
200: {
|
|
1628
|
+
headers: {
|
|
1629
|
+
[name: string]: unknown;
|
|
1630
|
+
};
|
|
1631
|
+
content: {
|
|
1632
|
+
"application/json": components["schemas"]["WebhookEndpoint"];
|
|
1633
|
+
};
|
|
1634
|
+
};
|
|
1635
|
+
/** @description Error response. */
|
|
1636
|
+
default: {
|
|
1637
|
+
headers: {
|
|
1638
|
+
[name: string]: unknown;
|
|
1639
|
+
};
|
|
1640
|
+
content: {
|
|
1641
|
+
"application/json": components["schemas"]["Error"];
|
|
1642
|
+
};
|
|
1643
|
+
};
|
|
1644
|
+
};
|
|
1645
|
+
};
|
|
1646
|
+
"webhook_endpoints.update": {
|
|
1647
|
+
parameters: {
|
|
1648
|
+
query?: never;
|
|
1649
|
+
header: {
|
|
1650
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
1651
|
+
};
|
|
1652
|
+
path: {
|
|
1653
|
+
/** @description The webhook endpoint id. */
|
|
1654
|
+
id: string;
|
|
1655
|
+
};
|
|
1656
|
+
cookie?: never;
|
|
1657
|
+
};
|
|
1658
|
+
requestBody?: {
|
|
1659
|
+
content: {
|
|
1660
|
+
"application/json": components["schemas"]["WebhookEndpointUpdateInput"];
|
|
1661
|
+
};
|
|
1662
|
+
};
|
|
1663
|
+
responses: {
|
|
1664
|
+
/** @description OK */
|
|
1665
|
+
200: {
|
|
1666
|
+
headers: {
|
|
1667
|
+
[name: string]: unknown;
|
|
1668
|
+
};
|
|
1669
|
+
content: {
|
|
1670
|
+
"application/json": components["schemas"]["WebhookEndpoint"];
|
|
1671
|
+
};
|
|
1672
|
+
};
|
|
1673
|
+
/** @description Error response. */
|
|
1674
|
+
default: {
|
|
1675
|
+
headers: {
|
|
1676
|
+
[name: string]: unknown;
|
|
1677
|
+
};
|
|
1678
|
+
content: {
|
|
1679
|
+
"application/json": components["schemas"]["Error"];
|
|
1680
|
+
};
|
|
1681
|
+
};
|
|
1682
|
+
};
|
|
1683
|
+
};
|
|
1684
|
+
"webhook_deliveries.list": {
|
|
1685
|
+
parameters: {
|
|
1686
|
+
query?: {
|
|
1687
|
+
/** @description How many deliveries to return. Defaults to 10. A value above 100 is rejected, not reduced. */
|
|
1688
|
+
limit?: number;
|
|
1689
|
+
/** @description Return deliveries immediately older than this delivery id. Cannot be combined with ending_before. */
|
|
1690
|
+
starting_after?: string;
|
|
1691
|
+
/** @description Return deliveries immediately newer than this delivery id. Cannot be combined with starting_after. */
|
|
1692
|
+
ending_before?: string;
|
|
1693
|
+
};
|
|
1694
|
+
header?: never;
|
|
1695
|
+
path: {
|
|
1696
|
+
/** @description The webhook endpoint id. */
|
|
1697
|
+
id: string;
|
|
1698
|
+
};
|
|
1699
|
+
cookie?: never;
|
|
1700
|
+
};
|
|
1701
|
+
requestBody?: never;
|
|
1702
|
+
responses: {
|
|
1703
|
+
/** @description OK */
|
|
1704
|
+
200: {
|
|
1705
|
+
headers: {
|
|
1706
|
+
[name: string]: unknown;
|
|
1707
|
+
};
|
|
1708
|
+
content: {
|
|
1709
|
+
"application/json": components["schemas"]["WebhookDeliveryList"];
|
|
1710
|
+
};
|
|
1711
|
+
};
|
|
1712
|
+
/** @description Error response. */
|
|
1713
|
+
default: {
|
|
1714
|
+
headers: {
|
|
1715
|
+
[name: string]: unknown;
|
|
1716
|
+
};
|
|
1717
|
+
content: {
|
|
1718
|
+
"application/json": components["schemas"]["Error"];
|
|
1719
|
+
};
|
|
1720
|
+
};
|
|
1721
|
+
};
|
|
1722
|
+
};
|
|
1723
|
+
"webhook_deliveries.get": {
|
|
1724
|
+
parameters: {
|
|
1725
|
+
query?: never;
|
|
1726
|
+
header?: never;
|
|
1727
|
+
path: {
|
|
1728
|
+
/** @description The webhook endpoint id. */
|
|
1729
|
+
id: string;
|
|
1730
|
+
/** @description The event id. */
|
|
1731
|
+
event_id: string;
|
|
1732
|
+
};
|
|
1733
|
+
cookie?: never;
|
|
1734
|
+
};
|
|
1735
|
+
requestBody?: never;
|
|
1736
|
+
responses: {
|
|
1737
|
+
/** @description OK */
|
|
1738
|
+
200: {
|
|
1739
|
+
headers: {
|
|
1740
|
+
[name: string]: unknown;
|
|
1741
|
+
};
|
|
1742
|
+
content: {
|
|
1743
|
+
"application/json": components["schemas"]["WebhookDelivery"];
|
|
1744
|
+
};
|
|
1745
|
+
};
|
|
1746
|
+
/** @description Error response. */
|
|
1747
|
+
default: {
|
|
1748
|
+
headers: {
|
|
1749
|
+
[name: string]: unknown;
|
|
1750
|
+
};
|
|
1751
|
+
content: {
|
|
1752
|
+
"application/json": components["schemas"]["Error"];
|
|
1753
|
+
};
|
|
1754
|
+
};
|
|
1755
|
+
};
|
|
1756
|
+
};
|
|
1757
|
+
"webhook_deliveries.replay": {
|
|
1758
|
+
parameters: {
|
|
1759
|
+
query?: never;
|
|
1760
|
+
header: {
|
|
1761
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
1762
|
+
};
|
|
1763
|
+
path: {
|
|
1764
|
+
/** @description The webhook endpoint id. */
|
|
1765
|
+
id: string;
|
|
1766
|
+
/** @description The event id. */
|
|
1767
|
+
event_id: string;
|
|
1768
|
+
};
|
|
1769
|
+
cookie?: never;
|
|
1770
|
+
};
|
|
1771
|
+
requestBody?: never;
|
|
1772
|
+
responses: {
|
|
1773
|
+
/** @description OK */
|
|
1774
|
+
200: {
|
|
1775
|
+
headers: {
|
|
1776
|
+
[name: string]: unknown;
|
|
1777
|
+
};
|
|
1778
|
+
content: {
|
|
1779
|
+
"application/json": components["schemas"]["WebhookDelivery"];
|
|
1780
|
+
};
|
|
1781
|
+
};
|
|
1782
|
+
/** @description Error response. */
|
|
1783
|
+
default: {
|
|
1784
|
+
headers: {
|
|
1785
|
+
[name: string]: unknown;
|
|
1786
|
+
};
|
|
1787
|
+
content: {
|
|
1788
|
+
"application/json": components["schemas"]["Error"];
|
|
1789
|
+
};
|
|
1790
|
+
};
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1793
|
+
"webhook_endpoints.disable": {
|
|
1794
|
+
parameters: {
|
|
1795
|
+
query?: never;
|
|
1796
|
+
header: {
|
|
1797
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
1798
|
+
};
|
|
1799
|
+
path: {
|
|
1800
|
+
/** @description The webhook endpoint id. */
|
|
1801
|
+
id: string;
|
|
1802
|
+
};
|
|
1803
|
+
cookie?: never;
|
|
1804
|
+
};
|
|
1805
|
+
requestBody?: never;
|
|
1806
|
+
responses: {
|
|
1807
|
+
/** @description OK */
|
|
1808
|
+
200: {
|
|
1809
|
+
headers: {
|
|
1810
|
+
[name: string]: unknown;
|
|
1811
|
+
};
|
|
1812
|
+
content: {
|
|
1813
|
+
"application/json": components["schemas"]["WebhookEndpoint"];
|
|
1814
|
+
};
|
|
1815
|
+
};
|
|
1816
|
+
/** @description Error response. */
|
|
1817
|
+
default: {
|
|
1818
|
+
headers: {
|
|
1819
|
+
[name: string]: unknown;
|
|
1820
|
+
};
|
|
1821
|
+
content: {
|
|
1822
|
+
"application/json": components["schemas"]["Error"];
|
|
1823
|
+
};
|
|
1824
|
+
};
|
|
1825
|
+
};
|
|
1826
|
+
};
|
|
1827
|
+
"webhook_endpoints.rotate_secret": {
|
|
1828
|
+
parameters: {
|
|
1829
|
+
query?: never;
|
|
1830
|
+
header: {
|
|
1831
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
1832
|
+
};
|
|
1833
|
+
path: {
|
|
1834
|
+
/** @description The webhook endpoint id. */
|
|
1835
|
+
id: string;
|
|
1836
|
+
};
|
|
1837
|
+
cookie?: never;
|
|
1838
|
+
};
|
|
1839
|
+
requestBody?: never;
|
|
1840
|
+
responses: {
|
|
1841
|
+
/** @description OK */
|
|
1842
|
+
200: {
|
|
1843
|
+
headers: {
|
|
1844
|
+
[name: string]: unknown;
|
|
1845
|
+
};
|
|
1846
|
+
content: {
|
|
1847
|
+
"application/json": components["schemas"]["WebhookEndpointCreateResponse"];
|
|
1848
|
+
};
|
|
1849
|
+
};
|
|
1850
|
+
/** @description Error response. */
|
|
1851
|
+
default: {
|
|
1852
|
+
headers: {
|
|
1853
|
+
[name: string]: unknown;
|
|
1854
|
+
};
|
|
1855
|
+
content: {
|
|
1856
|
+
"application/json": components["schemas"]["Error"];
|
|
1857
|
+
};
|
|
1858
|
+
};
|
|
1859
|
+
};
|
|
1860
|
+
};
|
|
1861
|
+
}
|