@stable_sea/sdk 0.2.14 → 0.2.18
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 +23 -2
- package/dist/gen/schema.d.ts +16 -28
- package/dist/gen/session-schema.d.ts +93 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ import { createStableSeaClient } from "@stable_sea/sdk";
|
|
|
21
21
|
const client = createStableSeaClient({
|
|
22
22
|
apiKey: process.env.STABLE_SEA_API_KEY!,
|
|
23
23
|
baseUrl: process.env.STABLE_SEA_BASE_URL!,
|
|
24
|
-
version: "2026-10-
|
|
24
|
+
version: "2026-10-15",
|
|
25
25
|
});
|
|
26
26
|
```
|
|
27
27
|
|
|
@@ -99,6 +99,12 @@ invitee's email-link token; administrators cannot accept on their behalf.
|
|
|
99
99
|
Member grants and activation use existing business permissions. Policy settings
|
|
100
100
|
retain their separate launch gate.
|
|
101
101
|
|
|
102
|
+
Read a member's active keys at
|
|
103
|
+
`GET /identity/members/{individual_id}/api_keys`, selecting `environment: "live"`
|
|
104
|
+
or `"test"`. Suspending or removing the member leaves those business keys working;
|
|
105
|
+
revoke unwanted keys explicitly through the existing key-revocation operation.
|
|
106
|
+
The same API-key management permission applies.
|
|
107
|
+
|
|
102
108
|
Manage Live and Test credentials at `/identity/api_keys`. Use an explicit scope
|
|
103
109
|
list and a unique issuance idempotency key. Test lifecycle operations have no
|
|
104
110
|
extra fresh two-factor prompt; Live operations retain their existing protection.
|
|
@@ -364,6 +370,21 @@ with `client.DELETE("/v1/bank_accounts/{id}")`, without a body or idempotency ke
|
|
|
364
370
|
Read bank and wallet operation `status` instead of `state`. Retrieve issued
|
|
365
371
|
statement content with `GET /v1/statements/{id}`; the `/content` route is retired.
|
|
366
372
|
|
|
367
|
-
The HTTP request pin is `2026-10-
|
|
373
|
+
The HTTP request pin is `2026-10-15`. The retired pin returns
|
|
368
374
|
`400 unsupported_api_version`. Existing API keys remain valid; stored key and
|
|
369
375
|
thin-event/webhook versions are preserved.
|
|
376
|
+
|
|
377
|
+
Fund documents are part of `GET /v1/securities`: use
|
|
378
|
+
`details.content.disclosures` for issuer fund-page and approved Terminal trading
|
|
379
|
+
disclosure HTML, including yield definitions, transaction roles and fee
|
|
380
|
+
applicability. Titles identify the context, and each fund's risk language is
|
|
381
|
+
preserved. Use
|
|
382
|
+
`details.content.prospectus_url` for the shared Terminal prospectus link. The
|
|
383
|
+
link may open the issuer’s official regulatory-reports page. Details and links
|
|
384
|
+
can be null and disclosures can be empty when unavailable.
|
|
385
|
+
These blocks supplement current quotes, fees and financial controls.
|
|
386
|
+
|
|
387
|
+
Bank registration and reads support US accounts only. Non-US banks and
|
|
388
|
+
cross-border Payments/Treasury operations are intentionally excluded. Update to
|
|
389
|
+
the latest SDK for the current HTTP contract; credential and webhook record
|
|
390
|
+
versions are unchanged.
|
package/dist/gen/schema.d.ts
CHANGED
|
@@ -179,7 +179,7 @@ export interface paths {
|
|
|
179
179
|
};
|
|
180
180
|
/**
|
|
181
181
|
* List bank accounts
|
|
182
|
-
* @description Lists saved US
|
|
182
|
+
* @description Lists saved US bank accounts, newest first by created_ts, then ID. Requires money:read. Account numbers and holder identity are masked unless the key also has money:bank_accounts_sensitive_read. Institution, routing and postal address fields follow the same visibility as Terminal.
|
|
183
183
|
*
|
|
184
184
|
* Use either starting_after or ending_before with a bank account ID. limit defaults to 10 and cannot exceed 100. An unknown or removed cursor returns an error. Newly added or changed accounts can briefly return 503 before updated details are available; retry the read.
|
|
185
185
|
*/
|
|
@@ -187,7 +187,7 @@ export interface paths {
|
|
|
187
187
|
put?: never;
|
|
188
188
|
/**
|
|
189
189
|
* Register a bank account
|
|
190
|
-
* @description Registers a US
|
|
190
|
+
* @description Registers a US bank account using Terminal's existing validation and screening. Set country to US and provide us_bank_account details. Non-US bank accounts and cross-border payments are not supported. Requires money:bank_accounts_write and an Idempotency-Key. Poll the returned operation, then retrieve its bank_account with money:read. Registration alone does not enable the account or make it eligible for funding or payouts.
|
|
191
191
|
*/
|
|
192
192
|
post: operations["bank_accounts.create"];
|
|
193
193
|
delete?: never;
|
|
@@ -1212,17 +1212,16 @@ export interface components {
|
|
|
1212
1212
|
/** @enum {string} */
|
|
1213
1213
|
beneficiary_type: "self" | "third_party";
|
|
1214
1214
|
/** @enum {string} */
|
|
1215
|
-
country: "US"
|
|
1215
|
+
country: "US";
|
|
1216
1216
|
/** Format: date-time */
|
|
1217
1217
|
created_ts: string;
|
|
1218
1218
|
/** @enum {string} */
|
|
1219
|
-
currency: "USD"
|
|
1219
|
+
currency: "USD";
|
|
1220
1220
|
/** @description True when account numbers and holder identity are masked. Full details require money:bank_accounts_sensitive_read in addition to money:read. */
|
|
1221
1221
|
details_masked: boolean;
|
|
1222
1222
|
id: string;
|
|
1223
1223
|
/** @description False for an isolated simulated bank account. */
|
|
1224
1224
|
livemode: boolean;
|
|
1225
|
-
mx_bank_account?: components["schemas"]["MXBankAccountDetails"];
|
|
1226
1225
|
/** @enum {string} */
|
|
1227
1226
|
object: "bank_account";
|
|
1228
1227
|
/**
|
|
@@ -1230,7 +1229,7 @@ export interface components {
|
|
|
1230
1229
|
* @enum {string}
|
|
1231
1230
|
*/
|
|
1232
1231
|
status: "enabled" | "disabled";
|
|
1233
|
-
us_bank_account
|
|
1232
|
+
us_bank_account: components["schemas"]["USBankAccountDetails"];
|
|
1234
1233
|
};
|
|
1235
1234
|
BankAccountAddress: {
|
|
1236
1235
|
city: string;
|
|
@@ -1253,9 +1252,8 @@ export interface components {
|
|
|
1253
1252
|
*/
|
|
1254
1253
|
beneficiary_type?: "self" | "third_party" | null;
|
|
1255
1254
|
/** @enum {string} */
|
|
1256
|
-
country: "US"
|
|
1257
|
-
|
|
1258
|
-
us_bank_account?: components["schemas"]["USBankAccountCreateDetails"];
|
|
1255
|
+
country: "US";
|
|
1256
|
+
us_bank_account: components["schemas"]["USBankAccountCreateDetails"];
|
|
1259
1257
|
};
|
|
1260
1258
|
BankAccountDeleted: {
|
|
1261
1259
|
/** @enum {boolean} */
|
|
@@ -1608,29 +1606,13 @@ export interface components {
|
|
|
1608
1606
|
observed_ts: string;
|
|
1609
1607
|
};
|
|
1610
1608
|
/** @enum {string} */
|
|
1611
|
-
HTTPAPIVersion: "2026-10-
|
|
1609
|
+
HTTPAPIVersion: "2026-10-15";
|
|
1612
1610
|
List: {
|
|
1613
1611
|
data: components["schemas"]["Resource"][];
|
|
1614
1612
|
has_more: boolean;
|
|
1615
1613
|
/** @enum {string} */
|
|
1616
1614
|
object: "list";
|
|
1617
1615
|
};
|
|
1618
|
-
MXBankAccountCreateDetails: {
|
|
1619
|
-
account_holder_first_name: string;
|
|
1620
|
-
account_holder_last_name: string;
|
|
1621
|
-
clabe: string;
|
|
1622
|
-
/** @description Optional RFC or CURP, validated by the existing recipient rules. */
|
|
1623
|
-
holder_identifier?: string;
|
|
1624
|
-
legal_entity_name: string;
|
|
1625
|
-
};
|
|
1626
|
-
MXBankAccountDetails: {
|
|
1627
|
-
account_holder_first_name: string;
|
|
1628
|
-
account_holder_last_name: string;
|
|
1629
|
-
clabe: string;
|
|
1630
|
-
/** @description Account holder RFC or CURP. Omitted when unavailable; masked unless full details are permitted. */
|
|
1631
|
-
holder_identifier?: string;
|
|
1632
|
-
legal_entity_name: string;
|
|
1633
|
-
};
|
|
1634
1616
|
MarketPricePoint: {
|
|
1635
1617
|
close_usd: string;
|
|
1636
1618
|
/** Format: date-time */
|
|
@@ -2085,7 +2067,13 @@ export interface components {
|
|
|
2085
2067
|
};
|
|
2086
2068
|
SecurityContent: {
|
|
2087
2069
|
description_html: string;
|
|
2070
|
+
/** @description Issuer fund-page and approved trading disclosures. Titles identify order, review and Express buy contexts; fund-specific applicability is preserved. */
|
|
2088
2071
|
disclosures: components["schemas"]["SecurityDisclosure"][];
|
|
2072
|
+
/**
|
|
2073
|
+
* Format: uri
|
|
2074
|
+
* @description Issuer prospectus or official prospectus and regulatory-reports page, shared with Terminal. The link may open a document portal rather than a PDF. Null when unavailable.
|
|
2075
|
+
*/
|
|
2076
|
+
prospectus_url: string | null;
|
|
2089
2077
|
why_fund_html: string;
|
|
2090
2078
|
};
|
|
2091
2079
|
SecurityDetails: {
|
|
@@ -2294,7 +2282,7 @@ export interface components {
|
|
|
2294
2282
|
* @description Reason processing failed. Correct the cause before submitting a new request with a new idempotency key.
|
|
2295
2283
|
* @enum {string}
|
|
2296
2284
|
*/
|
|
2297
|
-
failure_code?: "permission_denied" | "api_key_revoked" | "business_locked" | "terms_acceptance_required" | "api_access_disabled" | "statement_ineligible" | "invalid_statement_month" | "statement_generation_refused" | "statement_processing_unavailable";
|
|
2285
|
+
failure_code?: "permission_denied" | "api_key_revoked" | "business_locked" | "business_archived" | "terms_acceptance_required" | "api_access_disabled" | "statement_ineligible" | "invalid_statement_month" | "statement_generation_refused" | "statement_processing_unavailable";
|
|
2298
2286
|
id: string;
|
|
2299
2287
|
livemode: boolean;
|
|
2300
2288
|
/** @enum {string} */
|
|
@@ -2712,7 +2700,7 @@ export interface components {
|
|
|
2712
2700
|
"application/json": components["schemas"]["Error"];
|
|
2713
2701
|
};
|
|
2714
2702
|
};
|
|
2715
|
-
/** @description The credential lacks the required permission or the operation is unavailable to this business. */
|
|
2703
|
+
/** @description The credential lacks the required permission or the operation is unavailable to this business. Two codes refuse every request a genuine key makes: platform_inactive (API access is not active in this environment) and business_archived (the business is archived; its keys work again once it is unarchived). */
|
|
2716
2704
|
Error403: {
|
|
2717
2705
|
headers: {
|
|
2718
2706
|
"X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
|
|
@@ -686,7 +686,7 @@ export interface paths {
|
|
|
686
686
|
put?: never;
|
|
687
687
|
/**
|
|
688
688
|
* Accept being the authorized signer
|
|
689
|
-
* @description The member a request names accepts, from their own session. Only that member can; the request then waits for a compliance operator.
|
|
689
|
+
* @description The member a request names accepts, from their own session, and submits the identity details Stable Sea must verify for a new authorized signer: citizenship, date of birth, a US Social Security Number or a passport (a United States citizen gives an SSN; anyone else says whether they have a US SSN), and an address. The name comes from the member's record. Only that member can accept; the request then waits for a compliance operator, who reads the details with the SSN or passport number masked and can reveal the whole value, on the record. The details are sealed on the request and are never returned to the business: not to its admins and not in this answer. A body that does not match this schema (a missing field, a wrong type, a value over its length cap) is refused as invalid_field; a detail the schema accepts and the rules refuse (an ITIN, a date of birth that is not a real day or makes the signer younger than 18, a field the identifier class does not allow) is refused as signer_change_invalid. Neither refusal repeats a submitted value.
|
|
690
690
|
*/
|
|
691
691
|
post: operations["compliance.signer_changes.accept"];
|
|
692
692
|
delete?: never;
|
|
@@ -1103,6 +1103,26 @@ export interface paths {
|
|
|
1103
1103
|
patch?: never;
|
|
1104
1104
|
trace?: never;
|
|
1105
1105
|
};
|
|
1106
|
+
"/identity/members/{individual_id}/api_keys": {
|
|
1107
|
+
parameters: {
|
|
1108
|
+
query?: never;
|
|
1109
|
+
header?: never;
|
|
1110
|
+
path?: never;
|
|
1111
|
+
cookie?: never;
|
|
1112
|
+
};
|
|
1113
|
+
/**
|
|
1114
|
+
* List a member's active API keys
|
|
1115
|
+
* @description Lists the unrevoked Live or Test keys one member of your current business created. Keys authenticate as the business, so they keep working after the member is suspended or removed until you revoke them. Requires api_keys_manage.
|
|
1116
|
+
*/
|
|
1117
|
+
get: operations["identity.members.api_keys.list"];
|
|
1118
|
+
put?: never;
|
|
1119
|
+
post?: never;
|
|
1120
|
+
delete?: never;
|
|
1121
|
+
options?: never;
|
|
1122
|
+
head?: never;
|
|
1123
|
+
patch?: never;
|
|
1124
|
+
trace?: never;
|
|
1125
|
+
};
|
|
1106
1126
|
"/identity/members/{individual_id}/rbac": {
|
|
1107
1127
|
parameters: {
|
|
1108
1128
|
query?: never;
|
|
@@ -1434,7 +1454,7 @@ export interface paths {
|
|
|
1434
1454
|
};
|
|
1435
1455
|
/**
|
|
1436
1456
|
* List your notifications
|
|
1437
|
-
* @description Returns your supported notifications for the current business, newest first. Use next_cursor for the following page.
|
|
1457
|
+
* @description Returns your supported notifications for the current business, newest first. Use next_cursor for the following page. Bank notices cover US accounts; cross-border payment notices are excluded. Older financial notices without an identifiable account or transaction are omitted. Requires a signed-in business session; account and member locks still apply.
|
|
1438
1458
|
*/
|
|
1439
1459
|
get: operations["notifications.member_notifications.list"];
|
|
1440
1460
|
put?: never;
|
|
@@ -2341,6 +2361,28 @@ export interface components {
|
|
|
2341
2361
|
new_signer_id: string;
|
|
2342
2362
|
reason: string;
|
|
2343
2363
|
};
|
|
2364
|
+
ComplianceAcceptSignerChangeBody: {
|
|
2365
|
+
address_city: string;
|
|
2366
|
+
/** @description A country name like those in the KYB form's country list (only presence and length are checked). */
|
|
2367
|
+
address_country: string;
|
|
2368
|
+
/** @description Required when address_country is United States, as a state name from the KYB form's state list. */
|
|
2369
|
+
address_state?: string;
|
|
2370
|
+
address_street: string;
|
|
2371
|
+
address_street_2?: string;
|
|
2372
|
+
address_zip: string;
|
|
2373
|
+
/** @description The signer's country of citizenship, as a country name like those in the KYB form's country list (only presence and length are checked), for example United States. */
|
|
2374
|
+
citizenship: string;
|
|
2375
|
+
/** @description The signer's date of birth, YYYY-MM-DD. The signer must be at least 18 years old. */
|
|
2376
|
+
date_of_birth: string;
|
|
2377
|
+
/** @description Whether the signer has a US Social Security Number: Yes or No, as on the KYB form. Required when citizenship is not United States; refused when it is. */
|
|
2378
|
+
holds_us_ssn?: string;
|
|
2379
|
+
/** @description The country that issued the passport, as a country name like those in the KYB form's country list (only presence and length are checked). */
|
|
2380
|
+
passport_country?: string;
|
|
2381
|
+
/** @description The signer's passport number. Required, with passport_country, when the signer is not a United States citizen and has no US SSN; refused otherwise. */
|
|
2382
|
+
passport_number?: string;
|
|
2383
|
+
/** @description The signer's US Social Security Number. Required when the signer is a United States citizen or has a US SSN; refused otherwise. An ITIN is not accepted. */
|
|
2384
|
+
ssn?: string;
|
|
2385
|
+
};
|
|
2344
2386
|
IdentityReportUnrecognizedLoginInput: {
|
|
2345
2387
|
token?: string;
|
|
2346
2388
|
};
|
|
@@ -5267,7 +5309,11 @@ export interface operations {
|
|
|
5267
5309
|
};
|
|
5268
5310
|
cookie?: never;
|
|
5269
5311
|
};
|
|
5270
|
-
requestBody?:
|
|
5312
|
+
requestBody?: {
|
|
5313
|
+
content: {
|
|
5314
|
+
"application/json": components["schemas"]["ComplianceAcceptSignerChangeBody"];
|
|
5315
|
+
};
|
|
5316
|
+
};
|
|
5271
5317
|
responses: {
|
|
5272
5318
|
/** @description OK */
|
|
5273
5319
|
200: {
|
|
@@ -5278,6 +5324,15 @@ export interface operations {
|
|
|
5278
5324
|
"application/json": components["schemas"]["ComplianceSignerChangeView"];
|
|
5279
5325
|
};
|
|
5280
5326
|
};
|
|
5327
|
+
/** @description Bad Request */
|
|
5328
|
+
400: {
|
|
5329
|
+
headers: {
|
|
5330
|
+
[name: string]: unknown;
|
|
5331
|
+
};
|
|
5332
|
+
content: {
|
|
5333
|
+
"application/json": components["schemas"]["HttputilAPIError"];
|
|
5334
|
+
};
|
|
5335
|
+
};
|
|
5281
5336
|
/** @description Unauthorized */
|
|
5282
5337
|
401: {
|
|
5283
5338
|
headers: {
|
|
@@ -6329,6 +6384,41 @@ export interface operations {
|
|
|
6329
6384
|
};
|
|
6330
6385
|
};
|
|
6331
6386
|
};
|
|
6387
|
+
"identity.members.api_keys.list": {
|
|
6388
|
+
parameters: {
|
|
6389
|
+
query?: {
|
|
6390
|
+
limit?: number;
|
|
6391
|
+
cursor?: string;
|
|
6392
|
+
environment?: components["schemas"]["CustomerEnvironment"];
|
|
6393
|
+
};
|
|
6394
|
+
header?: never;
|
|
6395
|
+
path: {
|
|
6396
|
+
individual_id: string;
|
|
6397
|
+
};
|
|
6398
|
+
cookie?: never;
|
|
6399
|
+
};
|
|
6400
|
+
requestBody?: never;
|
|
6401
|
+
responses: {
|
|
6402
|
+
/** @description OK */
|
|
6403
|
+
200: {
|
|
6404
|
+
headers: {
|
|
6405
|
+
[name: string]: unknown;
|
|
6406
|
+
};
|
|
6407
|
+
content: {
|
|
6408
|
+
"application/json": components["schemas"]["Page_CustomerAPIKey"];
|
|
6409
|
+
};
|
|
6410
|
+
};
|
|
6411
|
+
/** @description Error response. */
|
|
6412
|
+
default: {
|
|
6413
|
+
headers: {
|
|
6414
|
+
[name: string]: unknown;
|
|
6415
|
+
};
|
|
6416
|
+
content: {
|
|
6417
|
+
"application/json": components["schemas"]["HttputilAPIError"];
|
|
6418
|
+
};
|
|
6419
|
+
};
|
|
6420
|
+
};
|
|
6421
|
+
};
|
|
6332
6422
|
"identity.members.rbac.get": {
|
|
6333
6423
|
parameters: {
|
|
6334
6424
|
query?: never;
|