@stable_sea/sdk 0.2.27 → 0.2.29

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 CHANGED
@@ -99,6 +99,64 @@ 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
+
102
160
  ## Cancel an unbooked order
103
161
 
104
162
  Use the original key with `investments:write` to request cancellation. Save the
@@ -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;
@@ -699,7 +791,7 @@ export interface paths {
699
791
  };
700
792
  /**
701
793
  * List securities
702
- * @description Lists supported funds and their profile, NAV, returns, holdings and issuer information. The catalog is the same for all businesses and does not use pagination. Trading remains subject to your business's eligibility and controls.
794
+ * @description Lists supported funds and their profile, NAV, returns, holdings and issuer information. The catalog lists the live funds available to your business and does not use pagination. Trading remains subject to your business's eligibility and controls.
703
795
  *
704
796
  * Figures use Terminal's display formatting. Each section has its own source dates and may have been read at a different time. Null sections and empty values mean unavailable data, not zero. Use `/v1/quotes` for a tradable price.
705
797
  *
@@ -1272,6 +1364,189 @@ export interface components {
1272
1364
  /** @enum {string} */
1273
1365
  object: "list";
1274
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;
1275
1550
  Balance: {
1276
1551
  /** @description The asset symbol, in the ledger's own casing (USDC, BTC, WTGXX, SOL:USDC). */
1277
1552
  asset: string;
@@ -1593,7 +1868,7 @@ export interface components {
1593
1868
  object: "list";
1594
1869
  };
1595
1870
  /** @enum {string} */
1596
- 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";
1597
1872
  ExternalWallet: {
1598
1873
  /** @description True when a Stable Sea operator registered this wallet for the business; false when the business added it itself. */
1599
1874
  added_by_stable_sea: boolean;
@@ -3200,6 +3475,299 @@ export interface operations {
3200
3475
  };
3201
3476
  };
3202
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
+ };
3203
3771
  "balance_history.snapshot": {
3204
3772
  parameters: {
3205
3773
  query?: {
@@ -95,7 +95,7 @@ export interface paths {
95
95
  };
96
96
  /**
97
97
  * Read the business's e-signature enrollment (business)
98
- * @description Reports whether the caller accepts their business's MSA by e-signature — the business is enrolled and its allow-list, when it has one, names the caller — the provider this deployment uses, and how the embedded signing page reports progress (protocol and the only allowed message origin). A caller who is not enrolled reads enrolled:false and accepts by click-through. While e-signature is paused on this deployment, an enrolled caller also reads enrolled:false and accepts by click-through, unless a signature request holds their business's current MSA: that business keeps signing by e-signature until the request ends. A caller who signs by e-signature while it is not running on this deployment gets 503 — never enrolled:false, because click-through acceptance is refused for them.
98
+ * @description Reports whether the caller accepts their business's MSA by e-signature — the business is enrolled and its allow-list, when it has one, names the caller — the provider this deployment uses, and how the embedded signing page reports progress (protocol and the only allowed message origin). A caller who is not enrolled reads enrolled:false and accepts by click-through. While e-signature is paused on this deployment, an enrolled caller also reads enrolled:false and accepts by click-through, unless a signature request holds the current MSA document named by document_id (or, without document_id, any current MSA document of their business): they keep signing that document by e-signature until the request ends. A document_id that is not one of the business's MSA documents is then 404 document_not_found, as accepting it is. A caller who signs by e-signature while it is not running on this deployment gets 503 — never enrolled:false, because click-through acceptance is refused for them.
99
99
  */
100
100
  get: operations["compliance.esign.enrollment.get"];
101
101
  put?: never;
@@ -4722,7 +4722,10 @@ export interface operations {
4722
4722
  };
4723
4723
  "compliance.esign.enrollment.get": {
4724
4724
  parameters: {
4725
- query?: never;
4725
+ query?: {
4726
+ /** @description The MSA document the business page shows (doc_...). It matters only while e-signature is paused, for a caller who would otherwise sign by e-signature. That caller then reads enrolled:true only while this document is current and unaccepted and a signature request holds it, which is when click-through acceptance of it is refused for e-signature. A document that is not one of the business's MSA documents is then 404 document_not_found, as accepting it is. Without document_id, a request holding any current MSA document of the business counts. */
4727
+ document_id?: string | null;
4728
+ };
4726
4729
  header?: never;
4727
4730
  path?: never;
4728
4731
  cookie?: never;
@@ -4756,6 +4759,15 @@ export interface operations {
4756
4759
  "application/json": components["schemas"]["HttputilAPIError"];
4757
4760
  };
4758
4761
  };
4762
+ /** @description Not Found */
4763
+ 404: {
4764
+ headers: {
4765
+ [name: string]: unknown;
4766
+ };
4767
+ content: {
4768
+ "application/json": components["schemas"]["HttputilAPIError"];
4769
+ };
4770
+ };
4759
4771
  /** @description Service Unavailable */
4760
4772
  503: {
4761
4773
  headers: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stable_sea/sdk",
3
- "version": "0.2.27",
3
+ "version": "0.2.29",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "files": [