@stable_sea/sdk 0.2.26 → 0.2.28
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 +78 -0
- package/dist/gen/schema.d.ts +632 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -99,6 +99,84 @@ do not place another subscription to resolve it. Instructions can lag the native
|
|
|
99
99
|
state: retry a 503 read. Sandbox instructions are synthetic and must never be used
|
|
100
100
|
to send real funds. Existing native eligibility, agreements and controls apply.
|
|
101
101
|
|
|
102
|
+
## Manage trading schedules
|
|
103
|
+
|
|
104
|
+
Use `investments:read` to list schedules and run history. Create, edit, pause,
|
|
105
|
+
resume and delete schedules with `investments:automations_write`. An API-created
|
|
106
|
+
schedule executes using its original key, which also needs `investments:write`
|
|
107
|
+
and, for BTC, `investments:btc_write`. Rotation or revocation stops new runs;
|
|
108
|
+
editing with another key does not transfer execution ownership. Human-created
|
|
109
|
+
Terminal schedules retain their creator's current member permissions.
|
|
110
|
+
|
|
111
|
+
```ts
|
|
112
|
+
const creation = client.mutation();
|
|
113
|
+
const created = await creation.POST("/v1/automations", {
|
|
114
|
+
body: {
|
|
115
|
+
name: "Daily USDC investment",
|
|
116
|
+
side: "buy",
|
|
117
|
+
denomination: "usd",
|
|
118
|
+
source_symbol: "USDC",
|
|
119
|
+
destination_symbol: "WTGXX",
|
|
120
|
+
condition_operator: "above",
|
|
121
|
+
condition_threshold: "1000",
|
|
122
|
+
sweep_type: "fixed",
|
|
123
|
+
sweep_amount: "25",
|
|
124
|
+
cadence_frequency: "daily",
|
|
125
|
+
cadence_days_of_week: [],
|
|
126
|
+
cadence_time_of_day: "09:00",
|
|
127
|
+
cadence_timezone: "America/New_York",
|
|
128
|
+
settlement: "standard",
|
|
129
|
+
skip_weekends: true,
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
if (created.error) throw new Error(created.error.error.message);
|
|
133
|
+
console.log(created.data.id, created.data.status);
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Creation enables the schedule. Retrieve `GET /v1/automations/{id}` until its
|
|
137
|
+
configuration `status` is `ready` or `failed`. A failed edit leaves the previous
|
|
138
|
+
configuration effective; inspect `failure_code` and `error_message` before
|
|
139
|
+
correcting it. Save and reuse each mutation's body and idempotency key after a
|
|
140
|
+
lost response. Use a new mutation for a corrected request. If creation itself
|
|
141
|
+
fails, delete the failed resource and create a corrected schedule.
|
|
142
|
+
|
|
143
|
+
Use `POST /v1/automations/{id}` with `enabled: false` to pause, or `true` to
|
|
144
|
+
resume. Omitted or null update fields remain unchanged. Direction cannot change;
|
|
145
|
+
changing `denomination` also requires `condition_threshold` and `sweep_amount`.
|
|
146
|
+
`DELETE /v1/automations/{id}` needs no body or idempotency key. Repeat it while
|
|
147
|
+
HTTP 202 reports pending removal; only HTTP 200 with `deleted: true` confirms
|
|
148
|
+
removal. Deletion does not reverse an accepted trade.
|
|
149
|
+
|
|
150
|
+
List `GET /v1/automation_runs?automation={id}` for execution history, including
|
|
151
|
+
removed schedules. Runs can be `pending`, `completed`, `failed` or `skipped`.
|
|
152
|
+
`completed` means a trade was booked; follow `transaction_id` to confirm
|
|
153
|
+
settlement. The `automation_run.updated` webhook announces a terminal run and
|
|
154
|
+
links to its current resource. New runs retain their original `denomination` and
|
|
155
|
+
`symbol`; those fields are omitted on older runs without a unit snapshot.
|
|
156
|
+
Unattended trades that require human approval are refused rather than queued for
|
|
157
|
+
a vote. Current business controls, key grants, agreements and asset eligibility
|
|
158
|
+
apply to every run. Test keys manage isolated sandbox schedules.
|
|
159
|
+
|
|
160
|
+
## Cancel an unbooked order
|
|
161
|
+
|
|
162
|
+
Use the original key with `investments:write` to request cancellation. Save the
|
|
163
|
+
mutation object and reuse it after a lost response. A replacement key cannot
|
|
164
|
+
cancel the original key's order.
|
|
165
|
+
|
|
166
|
+
```ts
|
|
167
|
+
const cancellation = client.mutation();
|
|
168
|
+
const result = await cancellation.POST("/v1/orders/{id}/cancel", {
|
|
169
|
+
params: { path: { id: orderId } },
|
|
170
|
+
});
|
|
171
|
+
if (result.error) throw new Error(result.error.error.message);
|
|
172
|
+
console.log(result.data.state);
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Cancellation is asynchronous. Poll `GET /v1/orders/{id}` for the outcome: a
|
|
176
|
+
stopped order has `state: "failed"` and `failure_code: "order_cancelled"`.
|
|
177
|
+
A concurrent booking or final approval can win; its transaction remains visible
|
|
178
|
+
and is never reversed. An already-booked order returns `order_not_cancellable`.
|
|
179
|
+
|
|
102
180
|
## Member administration and personal actions
|
|
103
181
|
|
|
104
182
|
Use `createStableSeaSessionClient` for onboarding, legal documents, your profile
|
package/dist/gen/schema.d.ts
CHANGED
|
@@ -64,6 +64,98 @@ export interface paths {
|
|
|
64
64
|
patch?: never;
|
|
65
65
|
trace?: never;
|
|
66
66
|
};
|
|
67
|
+
"/v1/automation_runs": {
|
|
68
|
+
parameters: {
|
|
69
|
+
query?: never;
|
|
70
|
+
header?: never;
|
|
71
|
+
path?: never;
|
|
72
|
+
cookie?: never;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* List automation runs
|
|
76
|
+
* @description Lists trading-schedule runs, newest first. Optionally filter by `automation`. History includes deleted schedules. A completed run booked a trade; retrieve its transaction to follow settlement.
|
|
77
|
+
*/
|
|
78
|
+
get: operations["automation_runs.list"];
|
|
79
|
+
put?: never;
|
|
80
|
+
post?: never;
|
|
81
|
+
delete?: never;
|
|
82
|
+
options?: never;
|
|
83
|
+
head?: never;
|
|
84
|
+
patch?: never;
|
|
85
|
+
trace?: never;
|
|
86
|
+
};
|
|
87
|
+
"/v1/automation_runs/{id}": {
|
|
88
|
+
parameters: {
|
|
89
|
+
query?: never;
|
|
90
|
+
header?: never;
|
|
91
|
+
path?: never;
|
|
92
|
+
cookie?: never;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Retrieve an automation run
|
|
96
|
+
* @description Returns the outcome of one schedule run, including runs whose schedule was deleted. A transaction id links to the booked trade and its settlement history.
|
|
97
|
+
*/
|
|
98
|
+
get: operations["automation_runs.get"];
|
|
99
|
+
put?: never;
|
|
100
|
+
post?: never;
|
|
101
|
+
delete?: never;
|
|
102
|
+
options?: never;
|
|
103
|
+
head?: never;
|
|
104
|
+
patch?: never;
|
|
105
|
+
trace?: never;
|
|
106
|
+
};
|
|
107
|
+
"/v1/automations": {
|
|
108
|
+
parameters: {
|
|
109
|
+
query?: never;
|
|
110
|
+
header?: never;
|
|
111
|
+
path?: never;
|
|
112
|
+
cookie?: never;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* List automations
|
|
116
|
+
* @description Lists the business's trading schedules, newest first, including schedules created in Terminal. Deleted schedules are excluded; their run history remains available. Test keys read isolated sandbox schedules.
|
|
117
|
+
*/
|
|
118
|
+
get: operations["automations.list"];
|
|
119
|
+
put?: never;
|
|
120
|
+
/**
|
|
121
|
+
* Create an automation
|
|
122
|
+
* @description Creates an enabled trading schedule. Wait for `status: ready`; a refused configuration has `status: failed` and a `failure_code`. Each run checks the original credential's current scheduling and trading grants, business permissions and money controls. Rotation or revocation stops new runs. Requires `investments:automations_write` and an `Idempotency-Key`.
|
|
123
|
+
*/
|
|
124
|
+
post: operations["automations.create"];
|
|
125
|
+
delete?: never;
|
|
126
|
+
options?: never;
|
|
127
|
+
head?: never;
|
|
128
|
+
patch?: never;
|
|
129
|
+
trace?: never;
|
|
130
|
+
};
|
|
131
|
+
"/v1/automations/{id}": {
|
|
132
|
+
parameters: {
|
|
133
|
+
query?: never;
|
|
134
|
+
header?: never;
|
|
135
|
+
path?: never;
|
|
136
|
+
cookie?: never;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Retrieve an automation
|
|
140
|
+
* @description Returns a schedule and its latest configuration processing status. Use automation runs to inspect execution and transactions to inspect settlement.
|
|
141
|
+
*/
|
|
142
|
+
get: operations["automations.get"];
|
|
143
|
+
put?: never;
|
|
144
|
+
/**
|
|
145
|
+
* Update an automation
|
|
146
|
+
* @description Updates a schedule; set `enabled` to pause or resume it. Omitted or null fields remain unchanged. Trade direction and original execution credential cannot change. Wait for `status: ready` before relying on an edit; a refused edit leaves the previous configuration effective. Requires `investments:automations_write` and an `Idempotency-Key`.
|
|
147
|
+
*/
|
|
148
|
+
post: operations["automations.update"];
|
|
149
|
+
/**
|
|
150
|
+
* Delete an automation
|
|
151
|
+
* @description Removes a trading schedule. HTTP 202 returns the schedule while removal is pending, or its failure code after a refused attempt. Repeat DELETE to check progress or retry a failed attempt. Failed creates can also be removed. If another configuration change is pending, wait for it to finish before deleting. HTTP 200 with `deleted: true` confirms committed removal. Run and transaction history is preserved; an accepted trade is not reversed. Send no body or idempotency key.
|
|
152
|
+
*/
|
|
153
|
+
delete: operations["automations.delete"];
|
|
154
|
+
options?: never;
|
|
155
|
+
head?: never;
|
|
156
|
+
patch?: never;
|
|
157
|
+
trace?: never;
|
|
158
|
+
};
|
|
67
159
|
"/v1/balance_history": {
|
|
68
160
|
parameters: {
|
|
69
161
|
query?: never;
|
|
@@ -570,6 +662,28 @@ export interface paths {
|
|
|
570
662
|
patch?: never;
|
|
571
663
|
trace?: never;
|
|
572
664
|
};
|
|
665
|
+
"/v1/orders/{id}/cancel": {
|
|
666
|
+
parameters: {
|
|
667
|
+
query?: never;
|
|
668
|
+
header?: never;
|
|
669
|
+
path?: never;
|
|
670
|
+
cookie?: never;
|
|
671
|
+
};
|
|
672
|
+
get?: never;
|
|
673
|
+
put?: never;
|
|
674
|
+
/**
|
|
675
|
+
* Cancel an order
|
|
676
|
+
* @description Requests cancellation of an unbooked order created by this credential. Requires `investments:write` and an `Idempotency-Key`. Poll the order for its final outcome.
|
|
677
|
+
*
|
|
678
|
+
* Cancellation is asynchronous. A concurrent booking or final approval can win; its transaction remains visible and is never reversed. An order stopped by this request fails with `order_cancelled`. Orders that have already booked cannot be canceled.
|
|
679
|
+
*/
|
|
680
|
+
post: operations["orders.cancel"];
|
|
681
|
+
delete?: never;
|
|
682
|
+
options?: never;
|
|
683
|
+
head?: never;
|
|
684
|
+
patch?: never;
|
|
685
|
+
trace?: never;
|
|
686
|
+
};
|
|
573
687
|
"/v1/policies": {
|
|
574
688
|
parameters: {
|
|
575
689
|
query?: never;
|
|
@@ -1250,6 +1364,189 @@ export interface components {
|
|
|
1250
1364
|
/** @enum {string} */
|
|
1251
1365
|
object: "list";
|
|
1252
1366
|
};
|
|
1367
|
+
Automation: {
|
|
1368
|
+
/** @description The original execution credential. Omitted for a human-created Terminal schedule. */
|
|
1369
|
+
api_client?: string;
|
|
1370
|
+
cadence_day_of_month?: number;
|
|
1371
|
+
/** @description Weekly execution days. Sunday is 0 and Saturday is 6; empty for other cadences. */
|
|
1372
|
+
cadence_days_of_week: (0 | 1 | 2 | 3 | 4 | 5 | 6)[];
|
|
1373
|
+
/** @enum {string} */
|
|
1374
|
+
cadence_frequency: "daily" | "weekly" | "monthly" | "once";
|
|
1375
|
+
/** @description Local calendar date as YYYY-MM-DD. Required for a one-time schedule. */
|
|
1376
|
+
cadence_start_date?: string;
|
|
1377
|
+
/** @description Local execution time as HH:MM. */
|
|
1378
|
+
cadence_time_of_day: string;
|
|
1379
|
+
/** @description An IANA time zone, such as America/New_York. */
|
|
1380
|
+
cadence_timezone: string;
|
|
1381
|
+
/** @enum {string} */
|
|
1382
|
+
condition_operator: "above" | "below";
|
|
1383
|
+
condition_threshold: string;
|
|
1384
|
+
/** Format: date-time */
|
|
1385
|
+
created_ts: string;
|
|
1386
|
+
/**
|
|
1387
|
+
* @description How to read the threshold and fixed sweep amount. units is supported only for sells.
|
|
1388
|
+
* @enum {string}
|
|
1389
|
+
*/
|
|
1390
|
+
denomination: "usd" | "units";
|
|
1391
|
+
destination_symbol: string;
|
|
1392
|
+
/** @description Whether the schedule is enabled. Each run still checks its condition, cadence and current authority. */
|
|
1393
|
+
enabled: boolean;
|
|
1394
|
+
/** @description A customer-safe explanation of the latest refused configuration change. */
|
|
1395
|
+
error_message?: string;
|
|
1396
|
+
/** @description Why the latest configuration write failed. Existing configuration remains effective after a refused edit. */
|
|
1397
|
+
failure_code?: string;
|
|
1398
|
+
id: string;
|
|
1399
|
+
livemode: boolean;
|
|
1400
|
+
name: string;
|
|
1401
|
+
/** @enum {string} */
|
|
1402
|
+
object: "automation";
|
|
1403
|
+
/**
|
|
1404
|
+
* @description One-time schedules only. spent means the schedule has no remaining execution window.
|
|
1405
|
+
* @enum {string}
|
|
1406
|
+
*/
|
|
1407
|
+
schedule_state?: "scheduled" | "spent";
|
|
1408
|
+
/**
|
|
1409
|
+
* @description Trade settlement option. instant is available only for supported assets and pathways.
|
|
1410
|
+
* @enum {string}
|
|
1411
|
+
*/
|
|
1412
|
+
settlement: "standard" | "instant";
|
|
1413
|
+
/**
|
|
1414
|
+
* @description Trade direction. Fixed when the schedule is created.
|
|
1415
|
+
* @enum {string}
|
|
1416
|
+
*/
|
|
1417
|
+
side: "buy" | "sell";
|
|
1418
|
+
skip_weekends: boolean;
|
|
1419
|
+
source_symbol: string;
|
|
1420
|
+
/**
|
|
1421
|
+
* @description Configuration processing state. Wait for ready before relying on a change.
|
|
1422
|
+
* @enum {string}
|
|
1423
|
+
*/
|
|
1424
|
+
status: "pending" | "ready" | "failed";
|
|
1425
|
+
/** @description A fixed amount in denomination units, or a whole percentage from 1 to 100. */
|
|
1426
|
+
sweep_amount: string;
|
|
1427
|
+
/** @enum {string} */
|
|
1428
|
+
sweep_type: "fixed" | "percentage";
|
|
1429
|
+
};
|
|
1430
|
+
AutomationCreateInput: {
|
|
1431
|
+
cadence_day_of_month?: number;
|
|
1432
|
+
/** @description Weekly execution days. Sunday is 0 and Saturday is 6; empty for other cadences. */
|
|
1433
|
+
cadence_days_of_week: components["schemas"]["AutomationWeekday"][];
|
|
1434
|
+
/** @enum {string} */
|
|
1435
|
+
cadence_frequency: "daily" | "weekly" | "monthly" | "once";
|
|
1436
|
+
/** @description Local calendar date as YYYY-MM-DD. Required for a one-time schedule. */
|
|
1437
|
+
cadence_start_date?: string;
|
|
1438
|
+
/** @description Local execution time as HH:MM. */
|
|
1439
|
+
cadence_time_of_day: string;
|
|
1440
|
+
/** @description An IANA time zone, such as America/New_York. */
|
|
1441
|
+
cadence_timezone: string;
|
|
1442
|
+
/** @enum {string} */
|
|
1443
|
+
condition_operator: "above" | "below";
|
|
1444
|
+
condition_threshold: string;
|
|
1445
|
+
/**
|
|
1446
|
+
* @description How to read the threshold and fixed sweep amount. units is supported only for sells.
|
|
1447
|
+
* @enum {string}
|
|
1448
|
+
*/
|
|
1449
|
+
denomination: "usd" | "units";
|
|
1450
|
+
destination_symbol: string;
|
|
1451
|
+
name: string;
|
|
1452
|
+
/**
|
|
1453
|
+
* @description Trade settlement option. instant is available only for supported assets and pathways.
|
|
1454
|
+
* @enum {string}
|
|
1455
|
+
*/
|
|
1456
|
+
settlement: "standard" | "instant";
|
|
1457
|
+
/**
|
|
1458
|
+
* @description Trade direction. Fixed when the schedule is created.
|
|
1459
|
+
* @enum {string}
|
|
1460
|
+
*/
|
|
1461
|
+
side: "buy" | "sell";
|
|
1462
|
+
skip_weekends: boolean;
|
|
1463
|
+
source_symbol: string;
|
|
1464
|
+
/** @description A fixed amount in denomination units, or a whole percentage from 1 to 100. */
|
|
1465
|
+
sweep_amount: string;
|
|
1466
|
+
/** @enum {string} */
|
|
1467
|
+
sweep_type: "fixed" | "percentage";
|
|
1468
|
+
};
|
|
1469
|
+
AutomationDeleted: {
|
|
1470
|
+
/** @enum {boolean} */
|
|
1471
|
+
deleted: true;
|
|
1472
|
+
id: string;
|
|
1473
|
+
};
|
|
1474
|
+
AutomationList: {
|
|
1475
|
+
data: components["schemas"]["Automation"][];
|
|
1476
|
+
has_more: boolean;
|
|
1477
|
+
/** @enum {string} */
|
|
1478
|
+
object: "list";
|
|
1479
|
+
};
|
|
1480
|
+
AutomationRun: {
|
|
1481
|
+
/** @description The recorded trade amount in this run's original units. */
|
|
1482
|
+
amount_transferred?: string;
|
|
1483
|
+
automation: string;
|
|
1484
|
+
/** @description The observed balance in this run's recorded units. */
|
|
1485
|
+
balance_at_check: string;
|
|
1486
|
+
/** Format: date-time */
|
|
1487
|
+
completed_ts?: string;
|
|
1488
|
+
condition_met: boolean;
|
|
1489
|
+
/** Format: date-time */
|
|
1490
|
+
created_ts: string;
|
|
1491
|
+
/**
|
|
1492
|
+
* @description The units used when this run executed. Omitted for historical runs without a unit snapshot.
|
|
1493
|
+
* @enum {string}
|
|
1494
|
+
*/
|
|
1495
|
+
denomination?: "usd" | "units";
|
|
1496
|
+
/** @description A customer-safe native refusal or failure explanation. */
|
|
1497
|
+
error_message?: string;
|
|
1498
|
+
/** @description A stable failure classification. Unclassified historical failures use execution_failed. */
|
|
1499
|
+
failure_code?: string;
|
|
1500
|
+
id: string;
|
|
1501
|
+
livemode: boolean;
|
|
1502
|
+
/** @enum {string} */
|
|
1503
|
+
object: "automation_run";
|
|
1504
|
+
skip_reason?: string;
|
|
1505
|
+
/**
|
|
1506
|
+
* @description The execution outcome. completed means a trade was booked; retrieve its transaction for settlement.
|
|
1507
|
+
* @enum {string}
|
|
1508
|
+
*/
|
|
1509
|
+
status: "pending" | "completed" | "failed" | "skipped";
|
|
1510
|
+
/** @description The original asset used to label balance_at_check and amount_transferred. Omitted when not recorded. */
|
|
1511
|
+
symbol?: string;
|
|
1512
|
+
transaction_id?: string;
|
|
1513
|
+
};
|
|
1514
|
+
AutomationRunList: {
|
|
1515
|
+
data: components["schemas"]["AutomationRun"][];
|
|
1516
|
+
has_more: boolean;
|
|
1517
|
+
/** @enum {string} */
|
|
1518
|
+
object: "list";
|
|
1519
|
+
};
|
|
1520
|
+
AutomationUpdateInput: {
|
|
1521
|
+
cadence_day_of_month?: number | null;
|
|
1522
|
+
cadence_days_of_week?: components["schemas"]["AutomationWeekday"][] | null;
|
|
1523
|
+
/** @enum {string|null} */
|
|
1524
|
+
cadence_frequency?: "daily" | "weekly" | "monthly" | "once" | null;
|
|
1525
|
+
/** @description Set an empty string to clear the start date when the resulting cadence allows it. */
|
|
1526
|
+
cadence_start_date?: string | null;
|
|
1527
|
+
cadence_time_of_day?: string | null;
|
|
1528
|
+
cadence_timezone?: string | null;
|
|
1529
|
+
/** @enum {string|null} */
|
|
1530
|
+
condition_operator?: "above" | "below" | null;
|
|
1531
|
+
condition_threshold?: string | null;
|
|
1532
|
+
/** @enum {string|null} */
|
|
1533
|
+
denomination?: "usd" | "units" | null;
|
|
1534
|
+
destination_symbol?: string | null;
|
|
1535
|
+
enabled?: boolean | null;
|
|
1536
|
+
name?: string | null;
|
|
1537
|
+
/** @enum {string|null} */
|
|
1538
|
+
settlement?: "standard" | "instant" | null;
|
|
1539
|
+
skip_weekends?: boolean | null;
|
|
1540
|
+
source_symbol?: string | null;
|
|
1541
|
+
sweep_amount?: string | null;
|
|
1542
|
+
/** @enum {string|null} */
|
|
1543
|
+
sweep_type?: "fixed" | "percentage" | null;
|
|
1544
|
+
};
|
|
1545
|
+
/**
|
|
1546
|
+
* Format: int32
|
|
1547
|
+
* @enum {integer}
|
|
1548
|
+
*/
|
|
1549
|
+
AutomationWeekday: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
1253
1550
|
Balance: {
|
|
1254
1551
|
/** @description The asset symbol, in the ledger's own casing (USDC, BTC, WTGXX, SOL:USDC). */
|
|
1255
1552
|
asset: string;
|
|
@@ -1571,7 +1868,7 @@ export interface components {
|
|
|
1571
1868
|
object: "list";
|
|
1572
1869
|
};
|
|
1573
1870
|
/** @enum {string} */
|
|
1574
|
-
EventTypeName: "bank_account.created" | "bank_account.removed" | "bank_account_operation.updated" | "deposit.updated" | "deposit_quote.updated" | "external_wallet.created" | "external_wallet.updated" | "external_wallet_operation.updated" | "notification.created" | "order.updated" | "source_wallet_declaration.updated" | "statement_generation.updated" | "transaction.created" | "transaction.updated" | "transfer_approval.created" | "transfer_approval.updated" | "withdrawal.created" | "withdrawal.updated";
|
|
1871
|
+
EventTypeName: "automation_run.updated" | "bank_account.created" | "bank_account.removed" | "bank_account_operation.updated" | "deposit.updated" | "deposit_quote.updated" | "external_wallet.created" | "external_wallet.updated" | "external_wallet_operation.updated" | "notification.created" | "order.updated" | "source_wallet_declaration.updated" | "statement_generation.updated" | "transaction.created" | "transaction.updated" | "transfer_approval.created" | "transfer_approval.updated" | "withdrawal.created" | "withdrawal.updated";
|
|
1575
1872
|
ExternalWallet: {
|
|
1576
1873
|
/** @description True when a Stable Sea operator registered this wallet for the business; false when the business added it itself. */
|
|
1577
1874
|
added_by_stable_sea: boolean;
|
|
@@ -3178,6 +3475,299 @@ export interface operations {
|
|
|
3178
3475
|
};
|
|
3179
3476
|
};
|
|
3180
3477
|
};
|
|
3478
|
+
"automation_runs.list": {
|
|
3479
|
+
parameters: {
|
|
3480
|
+
query?: {
|
|
3481
|
+
limit?: number;
|
|
3482
|
+
starting_after?: string;
|
|
3483
|
+
ending_before?: string;
|
|
3484
|
+
/** @description Return only this schedule's runs. Omit to read all business runs, including deleted schedules. */
|
|
3485
|
+
automation?: string;
|
|
3486
|
+
};
|
|
3487
|
+
header?: never;
|
|
3488
|
+
path?: never;
|
|
3489
|
+
cookie?: never;
|
|
3490
|
+
};
|
|
3491
|
+
requestBody?: never;
|
|
3492
|
+
responses: {
|
|
3493
|
+
/** @description OK */
|
|
3494
|
+
200: {
|
|
3495
|
+
headers: {
|
|
3496
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3497
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3498
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3499
|
+
[name: string]: unknown;
|
|
3500
|
+
};
|
|
3501
|
+
content: {
|
|
3502
|
+
"application/json": components["schemas"]["AutomationRunList"];
|
|
3503
|
+
};
|
|
3504
|
+
};
|
|
3505
|
+
400: components["responses"]["Error400"];
|
|
3506
|
+
401: components["responses"]["Error401"];
|
|
3507
|
+
403: components["responses"]["Error403"];
|
|
3508
|
+
429: components["responses"]["Error429"];
|
|
3509
|
+
/** @description Error response. */
|
|
3510
|
+
default: {
|
|
3511
|
+
headers: {
|
|
3512
|
+
[name: string]: unknown;
|
|
3513
|
+
};
|
|
3514
|
+
content: {
|
|
3515
|
+
"application/json": components["schemas"]["Error"];
|
|
3516
|
+
};
|
|
3517
|
+
};
|
|
3518
|
+
};
|
|
3519
|
+
};
|
|
3520
|
+
"automation_runs.get": {
|
|
3521
|
+
parameters: {
|
|
3522
|
+
query?: never;
|
|
3523
|
+
header?: never;
|
|
3524
|
+
path: {
|
|
3525
|
+
id: string;
|
|
3526
|
+
};
|
|
3527
|
+
cookie?: never;
|
|
3528
|
+
};
|
|
3529
|
+
requestBody?: never;
|
|
3530
|
+
responses: {
|
|
3531
|
+
/** @description OK */
|
|
3532
|
+
200: {
|
|
3533
|
+
headers: {
|
|
3534
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3535
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3536
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3537
|
+
[name: string]: unknown;
|
|
3538
|
+
};
|
|
3539
|
+
content: {
|
|
3540
|
+
"application/json": components["schemas"]["AutomationRun"];
|
|
3541
|
+
};
|
|
3542
|
+
};
|
|
3543
|
+
400: components["responses"]["Error400"];
|
|
3544
|
+
401: components["responses"]["Error401"];
|
|
3545
|
+
403: components["responses"]["Error403"];
|
|
3546
|
+
429: components["responses"]["Error429"];
|
|
3547
|
+
/** @description Error response. */
|
|
3548
|
+
default: {
|
|
3549
|
+
headers: {
|
|
3550
|
+
[name: string]: unknown;
|
|
3551
|
+
};
|
|
3552
|
+
content: {
|
|
3553
|
+
"application/json": components["schemas"]["Error"];
|
|
3554
|
+
};
|
|
3555
|
+
};
|
|
3556
|
+
};
|
|
3557
|
+
};
|
|
3558
|
+
"automations.list": {
|
|
3559
|
+
parameters: {
|
|
3560
|
+
query?: {
|
|
3561
|
+
limit?: number;
|
|
3562
|
+
starting_after?: string;
|
|
3563
|
+
ending_before?: string;
|
|
3564
|
+
};
|
|
3565
|
+
header?: never;
|
|
3566
|
+
path?: never;
|
|
3567
|
+
cookie?: never;
|
|
3568
|
+
};
|
|
3569
|
+
requestBody?: never;
|
|
3570
|
+
responses: {
|
|
3571
|
+
/** @description OK */
|
|
3572
|
+
200: {
|
|
3573
|
+
headers: {
|
|
3574
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3575
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3576
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3577
|
+
[name: string]: unknown;
|
|
3578
|
+
};
|
|
3579
|
+
content: {
|
|
3580
|
+
"application/json": components["schemas"]["AutomationList"];
|
|
3581
|
+
};
|
|
3582
|
+
};
|
|
3583
|
+
400: components["responses"]["Error400"];
|
|
3584
|
+
401: components["responses"]["Error401"];
|
|
3585
|
+
403: components["responses"]["Error403"];
|
|
3586
|
+
429: components["responses"]["Error429"];
|
|
3587
|
+
/** @description Error response. */
|
|
3588
|
+
default: {
|
|
3589
|
+
headers: {
|
|
3590
|
+
[name: string]: unknown;
|
|
3591
|
+
};
|
|
3592
|
+
content: {
|
|
3593
|
+
"application/json": components["schemas"]["Error"];
|
|
3594
|
+
};
|
|
3595
|
+
};
|
|
3596
|
+
};
|
|
3597
|
+
};
|
|
3598
|
+
"automations.create": {
|
|
3599
|
+
parameters: {
|
|
3600
|
+
query?: never;
|
|
3601
|
+
header: {
|
|
3602
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
3603
|
+
};
|
|
3604
|
+
path?: never;
|
|
3605
|
+
cookie?: never;
|
|
3606
|
+
};
|
|
3607
|
+
requestBody?: {
|
|
3608
|
+
content: {
|
|
3609
|
+
"application/json": components["schemas"]["AutomationCreateInput"];
|
|
3610
|
+
};
|
|
3611
|
+
};
|
|
3612
|
+
responses: {
|
|
3613
|
+
/** @description OK */
|
|
3614
|
+
200: {
|
|
3615
|
+
headers: {
|
|
3616
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3617
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3618
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3619
|
+
[name: string]: unknown;
|
|
3620
|
+
};
|
|
3621
|
+
content: {
|
|
3622
|
+
"application/json": components["schemas"]["Automation"];
|
|
3623
|
+
};
|
|
3624
|
+
};
|
|
3625
|
+
400: components["responses"]["Error400"];
|
|
3626
|
+
401: components["responses"]["Error401"];
|
|
3627
|
+
403: components["responses"]["Error403"];
|
|
3628
|
+
409: components["responses"]["Error409"];
|
|
3629
|
+
429: components["responses"]["Error429"];
|
|
3630
|
+
/** @description Error response. */
|
|
3631
|
+
default: {
|
|
3632
|
+
headers: {
|
|
3633
|
+
[name: string]: unknown;
|
|
3634
|
+
};
|
|
3635
|
+
content: {
|
|
3636
|
+
"application/json": components["schemas"]["Error"];
|
|
3637
|
+
};
|
|
3638
|
+
};
|
|
3639
|
+
};
|
|
3640
|
+
};
|
|
3641
|
+
"automations.get": {
|
|
3642
|
+
parameters: {
|
|
3643
|
+
query?: never;
|
|
3644
|
+
header?: never;
|
|
3645
|
+
path: {
|
|
3646
|
+
id: string;
|
|
3647
|
+
};
|
|
3648
|
+
cookie?: never;
|
|
3649
|
+
};
|
|
3650
|
+
requestBody?: never;
|
|
3651
|
+
responses: {
|
|
3652
|
+
/** @description OK */
|
|
3653
|
+
200: {
|
|
3654
|
+
headers: {
|
|
3655
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3656
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3657
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3658
|
+
[name: string]: unknown;
|
|
3659
|
+
};
|
|
3660
|
+
content: {
|
|
3661
|
+
"application/json": components["schemas"]["Automation"];
|
|
3662
|
+
};
|
|
3663
|
+
};
|
|
3664
|
+
400: components["responses"]["Error400"];
|
|
3665
|
+
401: components["responses"]["Error401"];
|
|
3666
|
+
403: components["responses"]["Error403"];
|
|
3667
|
+
429: components["responses"]["Error429"];
|
|
3668
|
+
/** @description Error response. */
|
|
3669
|
+
default: {
|
|
3670
|
+
headers: {
|
|
3671
|
+
[name: string]: unknown;
|
|
3672
|
+
};
|
|
3673
|
+
content: {
|
|
3674
|
+
"application/json": components["schemas"]["Error"];
|
|
3675
|
+
};
|
|
3676
|
+
};
|
|
3677
|
+
};
|
|
3678
|
+
};
|
|
3679
|
+
"automations.update": {
|
|
3680
|
+
parameters: {
|
|
3681
|
+
query?: never;
|
|
3682
|
+
header: {
|
|
3683
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
3684
|
+
};
|
|
3685
|
+
path: {
|
|
3686
|
+
id: string;
|
|
3687
|
+
};
|
|
3688
|
+
cookie?: never;
|
|
3689
|
+
};
|
|
3690
|
+
requestBody?: {
|
|
3691
|
+
content: {
|
|
3692
|
+
"application/json": components["schemas"]["AutomationUpdateInput"];
|
|
3693
|
+
};
|
|
3694
|
+
};
|
|
3695
|
+
responses: {
|
|
3696
|
+
/** @description OK */
|
|
3697
|
+
200: {
|
|
3698
|
+
headers: {
|
|
3699
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3700
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3701
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3702
|
+
[name: string]: unknown;
|
|
3703
|
+
};
|
|
3704
|
+
content: {
|
|
3705
|
+
"application/json": components["schemas"]["Automation"];
|
|
3706
|
+
};
|
|
3707
|
+
};
|
|
3708
|
+
400: components["responses"]["Error400"];
|
|
3709
|
+
401: components["responses"]["Error401"];
|
|
3710
|
+
403: components["responses"]["Error403"];
|
|
3711
|
+
409: components["responses"]["Error409"];
|
|
3712
|
+
429: components["responses"]["Error429"];
|
|
3713
|
+
/** @description Error response. */
|
|
3714
|
+
default: {
|
|
3715
|
+
headers: {
|
|
3716
|
+
[name: string]: unknown;
|
|
3717
|
+
};
|
|
3718
|
+
content: {
|
|
3719
|
+
"application/json": components["schemas"]["Error"];
|
|
3720
|
+
};
|
|
3721
|
+
};
|
|
3722
|
+
};
|
|
3723
|
+
};
|
|
3724
|
+
"automations.delete": {
|
|
3725
|
+
parameters: {
|
|
3726
|
+
query?: never;
|
|
3727
|
+
header?: never;
|
|
3728
|
+
path: {
|
|
3729
|
+
id: string;
|
|
3730
|
+
};
|
|
3731
|
+
cookie?: never;
|
|
3732
|
+
};
|
|
3733
|
+
requestBody?: never;
|
|
3734
|
+
responses: {
|
|
3735
|
+
/** @description OK */
|
|
3736
|
+
200: {
|
|
3737
|
+
headers: {
|
|
3738
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
3739
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
3740
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
3741
|
+
[name: string]: unknown;
|
|
3742
|
+
};
|
|
3743
|
+
content: {
|
|
3744
|
+
"application/json": components["schemas"]["AutomationDeleted"];
|
|
3745
|
+
};
|
|
3746
|
+
};
|
|
3747
|
+
/** @description Accepted */
|
|
3748
|
+
202: {
|
|
3749
|
+
headers: {
|
|
3750
|
+
[name: string]: unknown;
|
|
3751
|
+
};
|
|
3752
|
+
content: {
|
|
3753
|
+
"application/json": components["schemas"]["Automation"];
|
|
3754
|
+
};
|
|
3755
|
+
};
|
|
3756
|
+
400: components["responses"]["Error400"];
|
|
3757
|
+
401: components["responses"]["Error401"];
|
|
3758
|
+
403: components["responses"]["Error403"];
|
|
3759
|
+
429: components["responses"]["Error429"];
|
|
3760
|
+
/** @description Error response. */
|
|
3761
|
+
default: {
|
|
3762
|
+
headers: {
|
|
3763
|
+
[name: string]: unknown;
|
|
3764
|
+
};
|
|
3765
|
+
content: {
|
|
3766
|
+
"application/json": components["schemas"]["Error"];
|
|
3767
|
+
};
|
|
3768
|
+
};
|
|
3769
|
+
};
|
|
3770
|
+
};
|
|
3181
3771
|
"balance_history.snapshot": {
|
|
3182
3772
|
parameters: {
|
|
3183
3773
|
query?: {
|
|
@@ -4240,6 +4830,47 @@ export interface operations {
|
|
|
4240
4830
|
};
|
|
4241
4831
|
};
|
|
4242
4832
|
};
|
|
4833
|
+
"orders.cancel": {
|
|
4834
|
+
parameters: {
|
|
4835
|
+
query?: never;
|
|
4836
|
+
header: {
|
|
4837
|
+
"Idempotency-Key": components["parameters"]["Idempotency-Key"];
|
|
4838
|
+
};
|
|
4839
|
+
path: {
|
|
4840
|
+
id: string;
|
|
4841
|
+
};
|
|
4842
|
+
cookie?: never;
|
|
4843
|
+
};
|
|
4844
|
+
requestBody?: never;
|
|
4845
|
+
responses: {
|
|
4846
|
+
/** @description OK */
|
|
4847
|
+
200: {
|
|
4848
|
+
headers: {
|
|
4849
|
+
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
4850
|
+
"X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
|
|
4851
|
+
"X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
|
|
4852
|
+
[name: string]: unknown;
|
|
4853
|
+
};
|
|
4854
|
+
content: {
|
|
4855
|
+
"application/json": components["schemas"]["Order"];
|
|
4856
|
+
};
|
|
4857
|
+
};
|
|
4858
|
+
400: components["responses"]["Error400"];
|
|
4859
|
+
401: components["responses"]["Error401"];
|
|
4860
|
+
403: components["responses"]["Error403"];
|
|
4861
|
+
409: components["responses"]["Error409"];
|
|
4862
|
+
429: components["responses"]["Error429"];
|
|
4863
|
+
/** @description Error response. */
|
|
4864
|
+
default: {
|
|
4865
|
+
headers: {
|
|
4866
|
+
[name: string]: unknown;
|
|
4867
|
+
};
|
|
4868
|
+
content: {
|
|
4869
|
+
"application/json": components["schemas"]["Error"];
|
|
4870
|
+
};
|
|
4871
|
+
};
|
|
4872
|
+
};
|
|
4873
|
+
};
|
|
4243
4874
|
"policies.snapshot": {
|
|
4244
4875
|
parameters: {
|
|
4245
4876
|
query?: never;
|