@firela/api-types 0.0.0-canary.84b23d91 → 0.0.0-canary.888f4d12
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/dist/index.d.mts +511 -147
- package/dist/index.d.ts +511 -147
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +453 -31
- package/src/generated/services.gen.ts +99 -7
- package/src/generated/types.gen.ts +3233 -157
package/dist/index.js
CHANGED
|
@@ -556,7 +556,7 @@ var BeanAccountsService = class {
|
|
|
556
556
|
}
|
|
557
557
|
/**
|
|
558
558
|
* Delete account
|
|
559
|
-
* Deletes an account (only if no transactions)
|
|
559
|
+
* Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
|
|
560
560
|
* @param data The data for the request.
|
|
561
561
|
* @param data.id Account UUID
|
|
562
562
|
* @param data.region Region code for tenant context
|
|
@@ -573,7 +573,7 @@ var BeanAccountsService = class {
|
|
|
573
573
|
},
|
|
574
574
|
errors: {
|
|
575
575
|
404: "Account not found",
|
|
576
|
-
409: "Account has transactions and cannot be deleted"
|
|
576
|
+
409: "Account has active transactions and cannot be deleted"
|
|
577
577
|
}
|
|
578
578
|
});
|
|
579
579
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -524,7 +524,7 @@ var BeanAccountsService = class {
|
|
|
524
524
|
}
|
|
525
525
|
/**
|
|
526
526
|
* Delete account
|
|
527
|
-
* Deletes an account (only if no transactions)
|
|
527
|
+
* Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
|
|
528
528
|
* @param data The data for the request.
|
|
529
529
|
* @param data.id Account UUID
|
|
530
530
|
* @param data.region Region code for tenant context
|
|
@@ -541,7 +541,7 @@ var BeanAccountsService = class {
|
|
|
541
541
|
},
|
|
542
542
|
errors: {
|
|
543
543
|
404: "Account not found",
|
|
544
|
-
409: "Account has transactions and cannot be deleted"
|
|
544
|
+
409: "Account has active transactions and cannot be deleted"
|
|
545
545
|
}
|
|
546
546
|
});
|
|
547
547
|
}
|
package/package.json
CHANGED
|
@@ -124,6 +124,8 @@ export const $AccountResponseDto = {
|
|
|
124
124
|
'STUDENT_LOAN',
|
|
125
125
|
'CREDIT_CARD',
|
|
126
126
|
'PERSONAL_LOAN',
|
|
127
|
+
'ACCOUNTS_PAYABLE',
|
|
128
|
+
'TAX_PAYABLE',
|
|
127
129
|
'OTHER'
|
|
128
130
|
],
|
|
129
131
|
nullable: true,
|
|
@@ -395,9 +397,47 @@ export const $AccountStandardResponseDto = {
|
|
|
395
397
|
type: 'string',
|
|
396
398
|
description: 'Icon identifier for UI display',
|
|
397
399
|
example: 'bank-icbc'
|
|
400
|
+
},
|
|
401
|
+
productCategory: {
|
|
402
|
+
type: 'string',
|
|
403
|
+
description:
|
|
404
|
+
'Onboarding product category (coarse grouping derived from assetSubClass)',
|
|
405
|
+
enum: [
|
|
406
|
+
'cash',
|
|
407
|
+
'investment',
|
|
408
|
+
'credit_card',
|
|
409
|
+
'loan',
|
|
410
|
+
'payable_tax',
|
|
411
|
+
'other'
|
|
412
|
+
],
|
|
413
|
+
example: 'investment'
|
|
414
|
+
},
|
|
415
|
+
assetClass: {
|
|
416
|
+
type: 'string',
|
|
417
|
+
description:
|
|
418
|
+
'Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules',
|
|
419
|
+
enum: [
|
|
420
|
+
'LIQUIDITY',
|
|
421
|
+
'EQUITY',
|
|
422
|
+
'FIXED_INCOME',
|
|
423
|
+
'PRECIOUS_METALS',
|
|
424
|
+
'COMMODITY',
|
|
425
|
+
'INSURANCE',
|
|
426
|
+
'ALTERNATIVE_INVESTMENT',
|
|
427
|
+
'PERSONAL_ASSETS',
|
|
428
|
+
'LIABILITY',
|
|
429
|
+
'REAL_ESTATE',
|
|
430
|
+
'INDEX'
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
assetSubClass: {
|
|
434
|
+
type: 'string',
|
|
435
|
+
description:
|
|
436
|
+
'Asset sub-class (product type, derived at read time from classification rules)',
|
|
437
|
+
example: 'STOCK'
|
|
398
438
|
}
|
|
399
439
|
},
|
|
400
|
-
required: ['path', 'type', 'description', 'tags', 'icon']
|
|
440
|
+
required: ['path', 'type', 'description', 'tags', 'icon', 'productCategory']
|
|
401
441
|
} as const;
|
|
402
442
|
|
|
403
443
|
export const $AccountStandardListResponseDto = {
|
|
@@ -4083,6 +4123,50 @@ export const $DeleteOwnUserDto = {
|
|
|
4083
4123
|
required: ['accessToken']
|
|
4084
4124
|
} as const;
|
|
4085
4125
|
|
|
4126
|
+
export const $UserSettingsResponseDto = {
|
|
4127
|
+
type: 'object',
|
|
4128
|
+
properties: {
|
|
4129
|
+
baseCurrency: {
|
|
4130
|
+
type: 'string',
|
|
4131
|
+
description:
|
|
4132
|
+
'Base currency (ISO 4217) for net-worth/report aggregation. Independent of region (ADR-0006).',
|
|
4133
|
+
example: 'USD',
|
|
4134
|
+
nullable: true
|
|
4135
|
+
}
|
|
4136
|
+
},
|
|
4137
|
+
required: ['baseCurrency']
|
|
4138
|
+
} as const;
|
|
4139
|
+
|
|
4140
|
+
export const $UserResponseDto = {
|
|
4141
|
+
type: 'object',
|
|
4142
|
+
properties: {
|
|
4143
|
+
id: {
|
|
4144
|
+
type: 'string',
|
|
4145
|
+
description: 'User ID'
|
|
4146
|
+
},
|
|
4147
|
+
role: {
|
|
4148
|
+
type: 'string',
|
|
4149
|
+
description: 'Assigned user role'
|
|
4150
|
+
},
|
|
4151
|
+
permissions: {
|
|
4152
|
+
description: 'Permission strings',
|
|
4153
|
+
type: 'array',
|
|
4154
|
+
items: {
|
|
4155
|
+
type: 'string'
|
|
4156
|
+
}
|
|
4157
|
+
},
|
|
4158
|
+
settings: {
|
|
4159
|
+
description: 'User settings',
|
|
4160
|
+
allOf: [
|
|
4161
|
+
{
|
|
4162
|
+
$ref: '#/components/schemas/UserSettingsResponseDto'
|
|
4163
|
+
}
|
|
4164
|
+
]
|
|
4165
|
+
}
|
|
4166
|
+
},
|
|
4167
|
+
required: ['id', 'role', 'permissions', 'settings']
|
|
4168
|
+
} as const;
|
|
4169
|
+
|
|
4086
4170
|
export const $SignupDto = {
|
|
4087
4171
|
type: 'object',
|
|
4088
4172
|
properties: {
|
|
@@ -4888,6 +4972,69 @@ export const $TestRuleResponseDto = {
|
|
|
4888
4972
|
required: ['ruleId', 'matches', 'confidence', 'matchDetails']
|
|
4889
4973
|
} as const;
|
|
4890
4974
|
|
|
4975
|
+
export const $CategoryCatalogEntryDto = {
|
|
4976
|
+
type: 'object',
|
|
4977
|
+
properties: {
|
|
4978
|
+
slug: {
|
|
4979
|
+
type: 'string',
|
|
4980
|
+
description: 'Category slug (single source-of-truth)',
|
|
4981
|
+
example: 'food'
|
|
4982
|
+
},
|
|
4983
|
+
scenario: {
|
|
4984
|
+
type: 'string',
|
|
4985
|
+
description: 'Display scenario group (maps to frontend picker _scenario)',
|
|
4986
|
+
enum: [
|
|
4987
|
+
'expense',
|
|
4988
|
+
'income',
|
|
4989
|
+
'investment',
|
|
4990
|
+
'banking',
|
|
4991
|
+
'transfer',
|
|
4992
|
+
'payment'
|
|
4993
|
+
],
|
|
4994
|
+
example: 'expense'
|
|
4995
|
+
},
|
|
4996
|
+
icon: {
|
|
4997
|
+
type: 'string',
|
|
4998
|
+
description: 'Lucide icon name',
|
|
4999
|
+
example: 'utensils'
|
|
5000
|
+
},
|
|
5001
|
+
regions: {
|
|
5002
|
+
description: "Applicable regions ('*' = all, 'cn' = CN-only)",
|
|
5003
|
+
example: ['*'],
|
|
5004
|
+
type: 'array',
|
|
5005
|
+
items: {
|
|
5006
|
+
type: 'string'
|
|
5007
|
+
}
|
|
5008
|
+
}
|
|
5009
|
+
},
|
|
5010
|
+
required: ['slug', 'scenario', 'icon', 'regions']
|
|
5011
|
+
} as const;
|
|
5012
|
+
|
|
5013
|
+
export const $CategoryCatalogListResponseDto = {
|
|
5014
|
+
type: 'object',
|
|
5015
|
+
properties: {
|
|
5016
|
+
items: {
|
|
5017
|
+
description: 'Category entries (region-scoped, query-filtered)',
|
|
5018
|
+
type: 'array',
|
|
5019
|
+
items: {
|
|
5020
|
+
$ref: '#/components/schemas/CategoryCatalogEntryDto'
|
|
5021
|
+
}
|
|
5022
|
+
},
|
|
5023
|
+
total: {
|
|
5024
|
+
type: 'number',
|
|
5025
|
+
description:
|
|
5026
|
+
'Total category entries for the region (before query filtering)',
|
|
5027
|
+
example: 30
|
|
5028
|
+
},
|
|
5029
|
+
region: {
|
|
5030
|
+
type: 'string',
|
|
5031
|
+
description: 'Region code',
|
|
5032
|
+
example: 'cn'
|
|
5033
|
+
}
|
|
5034
|
+
},
|
|
5035
|
+
required: ['items', 'total', 'region']
|
|
5036
|
+
} as const;
|
|
5037
|
+
|
|
4891
5038
|
export const $CreateBeanEventDto = {
|
|
4892
5039
|
type: 'object',
|
|
4893
5040
|
properties: {
|
|
@@ -5630,7 +5777,8 @@ export const $UpdateMapperDefaultsDto = {
|
|
|
5630
5777
|
type: 'string',
|
|
5631
5778
|
description: 'Source account for transactions (Beancount format)',
|
|
5632
5779
|
example: 'Assets:CN:Alipay:Balance',
|
|
5633
|
-
pattern:
|
|
5780
|
+
pattern:
|
|
5781
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5634
5782
|
},
|
|
5635
5783
|
currency: {
|
|
5636
5784
|
type: 'string',
|
|
@@ -5644,13 +5792,15 @@ export const $UpdateMapperDefaultsDto = {
|
|
|
5644
5792
|
type: 'string',
|
|
5645
5793
|
description: 'Default expense account (optional)',
|
|
5646
5794
|
example: 'Expenses:Unknown',
|
|
5647
|
-
pattern:
|
|
5795
|
+
pattern:
|
|
5796
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5648
5797
|
},
|
|
5649
5798
|
incomeAccount: {
|
|
5650
5799
|
type: 'string',
|
|
5651
5800
|
description: 'Default income account (optional)',
|
|
5652
5801
|
example: 'Income:Unknown',
|
|
5653
|
-
pattern:
|
|
5802
|
+
pattern:
|
|
5803
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5654
5804
|
},
|
|
5655
5805
|
methodAccountMapping: {
|
|
5656
5806
|
type: 'object',
|
|
@@ -5707,12 +5857,14 @@ export const $ProviderSyncConfigDto = {
|
|
|
5707
5857
|
},
|
|
5708
5858
|
defaultExpenseAccount: {
|
|
5709
5859
|
type: 'string',
|
|
5710
|
-
description:
|
|
5860
|
+
description:
|
|
5861
|
+
'Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
|
|
5711
5862
|
example: 'Expenses:Unknown'
|
|
5712
5863
|
},
|
|
5713
5864
|
defaultIncomeAccount: {
|
|
5714
5865
|
type: 'string',
|
|
5715
|
-
description:
|
|
5866
|
+
description:
|
|
5867
|
+
'Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
|
|
5716
5868
|
example: 'Income:Unknown'
|
|
5717
5869
|
},
|
|
5718
5870
|
filterPending: {
|
|
@@ -5727,12 +5879,7 @@ export const $ProviderSyncConfigDto = {
|
|
|
5727
5879
|
example: 'acc_gocardless_001'
|
|
5728
5880
|
}
|
|
5729
5881
|
},
|
|
5730
|
-
required: [
|
|
5731
|
-
'sourceAccount',
|
|
5732
|
-
'defaultCurrency',
|
|
5733
|
-
'defaultExpenseAccount',
|
|
5734
|
-
'defaultIncomeAccount'
|
|
5735
|
-
]
|
|
5882
|
+
required: ['sourceAccount', 'defaultCurrency']
|
|
5736
5883
|
} as const;
|
|
5737
5884
|
|
|
5738
5885
|
export const $ProviderSyncDto = {
|
|
@@ -5942,15 +6089,105 @@ export const $UncoveredFormatMissDto = {
|
|
|
5942
6089
|
properties: {}
|
|
5943
6090
|
} as const;
|
|
5944
6091
|
|
|
6092
|
+
export const $ClientParsedDataDto = {
|
|
6093
|
+
type: 'object',
|
|
6094
|
+
properties: {
|
|
6095
|
+
amount: {
|
|
6096
|
+
type: 'number',
|
|
6097
|
+
description: 'Transaction amount',
|
|
6098
|
+
example: 35
|
|
6099
|
+
},
|
|
6100
|
+
currency: {
|
|
6101
|
+
type: 'string',
|
|
6102
|
+
description: 'Currency code',
|
|
6103
|
+
example: 'CNY'
|
|
6104
|
+
},
|
|
6105
|
+
date: {
|
|
6106
|
+
type: 'string',
|
|
6107
|
+
description: 'Transaction date (ISO 8601)',
|
|
6108
|
+
example: '2026-08-15'
|
|
6109
|
+
},
|
|
6110
|
+
payee: {
|
|
6111
|
+
type: 'string',
|
|
6112
|
+
description: 'Payee/merchant name',
|
|
6113
|
+
example: 'Starbucks'
|
|
6114
|
+
},
|
|
6115
|
+
narration: {
|
|
6116
|
+
type: 'string',
|
|
6117
|
+
description: 'Transaction narration'
|
|
6118
|
+
},
|
|
6119
|
+
category: {
|
|
6120
|
+
type: 'string',
|
|
6121
|
+
description: 'Category slug',
|
|
6122
|
+
example: 'food_restaurant'
|
|
6123
|
+
},
|
|
6124
|
+
incomeType: {
|
|
6125
|
+
type: 'string',
|
|
6126
|
+
description: 'Income type',
|
|
6127
|
+
example: 'Salary'
|
|
6128
|
+
},
|
|
6129
|
+
incomeSource: {
|
|
6130
|
+
type: 'string',
|
|
6131
|
+
description: 'Income source',
|
|
6132
|
+
example: 'Anthropic Inc.'
|
|
6133
|
+
},
|
|
6134
|
+
symbol: {
|
|
6135
|
+
type: 'string',
|
|
6136
|
+
description: 'Security symbol code (e.g., 600519, AAPL)',
|
|
6137
|
+
example: 'AAPL'
|
|
6138
|
+
},
|
|
6139
|
+
quantity: {
|
|
6140
|
+
type: 'number',
|
|
6141
|
+
description: 'Quantity of shares/units',
|
|
6142
|
+
example: 100
|
|
6143
|
+
},
|
|
6144
|
+
price: {
|
|
6145
|
+
type: 'number',
|
|
6146
|
+
description: 'Unit price per share/unit',
|
|
6147
|
+
example: 1900
|
|
6148
|
+
},
|
|
6149
|
+
investmentAction: {
|
|
6150
|
+
type: 'string',
|
|
6151
|
+
description: 'Investment action',
|
|
6152
|
+
enum: ['buy', 'sell'],
|
|
6153
|
+
example: 'buy'
|
|
6154
|
+
},
|
|
6155
|
+
paymentSource: {
|
|
6156
|
+
type: 'string',
|
|
6157
|
+
description: 'Payment source: asset (default) or liability (credit card)',
|
|
6158
|
+
enum: ['asset', 'liability'],
|
|
6159
|
+
example: 'asset'
|
|
6160
|
+
},
|
|
6161
|
+
liabilityHint: {
|
|
6162
|
+
type: 'string',
|
|
6163
|
+
description: 'Liability account hint (CreditCard/Huabei/Baitiao)',
|
|
6164
|
+
example: 'CreditCard'
|
|
6165
|
+
},
|
|
6166
|
+
warning: {
|
|
6167
|
+
type: 'string',
|
|
6168
|
+
description:
|
|
6169
|
+
'Display-only warning from the prior response; accepted but ignored.',
|
|
6170
|
+
example: 'Cross-currency settlement applies.'
|
|
6171
|
+
}
|
|
6172
|
+
}
|
|
6173
|
+
} as const;
|
|
6174
|
+
|
|
5945
6175
|
export const $ProcessNlpDto = {
|
|
5946
6176
|
type: 'object',
|
|
5947
6177
|
properties: {
|
|
5948
6178
|
message: {
|
|
5949
6179
|
type: 'string',
|
|
5950
|
-
description:
|
|
5951
|
-
|
|
6180
|
+
description:
|
|
6181
|
+
'Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.',
|
|
6182
|
+
example: 'Starbucks 35',
|
|
5952
6183
|
maxLength: 500
|
|
5953
6184
|
},
|
|
6185
|
+
confirm: {
|
|
6186
|
+
type: 'boolean',
|
|
6187
|
+
description:
|
|
6188
|
+
'Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.',
|
|
6189
|
+
example: true
|
|
6190
|
+
},
|
|
5954
6191
|
sessionId: {
|
|
5955
6192
|
type: 'string',
|
|
5956
6193
|
description:
|
|
@@ -5958,14 +6195,18 @@ export const $ProcessNlpDto = {
|
|
|
5958
6195
|
example: 'session_abc123'
|
|
5959
6196
|
},
|
|
5960
6197
|
parsedData: {
|
|
5961
|
-
type: 'object',
|
|
5962
6198
|
description:
|
|
5963
6199
|
'Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.',
|
|
5964
6200
|
example: {
|
|
5965
6201
|
amount: 35,
|
|
5966
6202
|
currency: 'CNY',
|
|
5967
6203
|
payee: 'Starbucks'
|
|
5968
|
-
}
|
|
6204
|
+
},
|
|
6205
|
+
allOf: [
|
|
6206
|
+
{
|
|
6207
|
+
$ref: '#/components/schemas/ClientParsedDataDto'
|
|
6208
|
+
}
|
|
6209
|
+
]
|
|
5969
6210
|
},
|
|
5970
6211
|
selectedRuleId: {
|
|
5971
6212
|
type: 'string',
|
|
@@ -5979,8 +6220,7 @@ export const $ProcessNlpDto = {
|
|
|
5979
6220
|
'confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.',
|
|
5980
6221
|
example: 'Expenses:Food:Coffee'
|
|
5981
6222
|
}
|
|
5982
|
-
}
|
|
5983
|
-
required: ['message']
|
|
6223
|
+
}
|
|
5984
6224
|
} as const;
|
|
5985
6225
|
|
|
5986
6226
|
export const $NlpTransactionInfoDto = {
|
|
@@ -6497,7 +6737,8 @@ export const $NlpSuggestedAccountDto = {
|
|
|
6497
6737
|
},
|
|
6498
6738
|
confidence: {
|
|
6499
6739
|
type: 'number',
|
|
6500
|
-
description:
|
|
6740
|
+
description:
|
|
6741
|
+
'Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)',
|
|
6501
6742
|
example: 0.9
|
|
6502
6743
|
}
|
|
6503
6744
|
},
|
|
@@ -6533,23 +6774,31 @@ export const $NlpDefaultAccountsDto = {
|
|
|
6533
6774
|
properties: {
|
|
6534
6775
|
asset: {
|
|
6535
6776
|
type: 'string',
|
|
6536
|
-
description:
|
|
6537
|
-
|
|
6777
|
+
description:
|
|
6778
|
+
'Default OPEN asset account (MRU when multiple), or null when none/ambiguous',
|
|
6779
|
+
example: 'Assets:Checking',
|
|
6780
|
+
nullable: true
|
|
6538
6781
|
},
|
|
6539
6782
|
expense: {
|
|
6540
6783
|
type: 'string',
|
|
6541
|
-
description:
|
|
6542
|
-
|
|
6784
|
+
description:
|
|
6785
|
+
'Default OPEN expense account (MRU when multiple), or null when none/ambiguous',
|
|
6786
|
+
example: 'Expenses:Food:Coffee',
|
|
6787
|
+
nullable: true
|
|
6543
6788
|
},
|
|
6544
6789
|
income: {
|
|
6545
6790
|
type: 'string',
|
|
6546
|
-
description:
|
|
6547
|
-
|
|
6791
|
+
description:
|
|
6792
|
+
'Default OPEN income account (MRU when multiple), or null when none/ambiguous',
|
|
6793
|
+
example: 'Income:Salary',
|
|
6794
|
+
nullable: true
|
|
6548
6795
|
},
|
|
6549
6796
|
liability: {
|
|
6550
6797
|
type: 'string',
|
|
6551
|
-
description:
|
|
6552
|
-
|
|
6798
|
+
description:
|
|
6799
|
+
'Default OPEN liability account (MRU when multiple), or null when none/ambiguous',
|
|
6800
|
+
example: 'Liabilities:CreditCard',
|
|
6801
|
+
nullable: true
|
|
6553
6802
|
}
|
|
6554
6803
|
},
|
|
6555
6804
|
required: ['asset', 'expense', 'income', 'liability']
|
|
@@ -6737,7 +6986,7 @@ export const $NlpResponseDto = {
|
|
|
6737
6986
|
},
|
|
6738
6987
|
suggestedAccounts: {
|
|
6739
6988
|
description:
|
|
6740
|
-
'Suggested accounts for this transaction.
|
|
6989
|
+
'Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.',
|
|
6741
6990
|
allOf: [
|
|
6742
6991
|
{
|
|
6743
6992
|
$ref: '#/components/schemas/NlpSuggestedAccountsDto'
|
|
@@ -6746,7 +6995,7 @@ export const $NlpResponseDto = {
|
|
|
6746
6995
|
},
|
|
6747
6996
|
defaultAccounts: {
|
|
6748
6997
|
description:
|
|
6749
|
-
'Default accounts for the user/region.
|
|
6998
|
+
'Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.',
|
|
6750
6999
|
allOf: [
|
|
6751
7000
|
{
|
|
6752
7001
|
$ref: '#/components/schemas/NlpDefaultAccountsDto'
|
|
@@ -6792,13 +7041,26 @@ export const $PlatformListItemDto = {
|
|
|
6792
7041
|
suggestedSegment: {
|
|
6793
7042
|
type: 'string',
|
|
6794
7043
|
description:
|
|
6795
|
-
'Suggested path segment — canonical
|
|
7044
|
+
'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
|
|
6796
7045
|
},
|
|
6797
7046
|
logoUrl: {
|
|
6798
7047
|
type: 'string',
|
|
6799
7048
|
description: 'Logo URL',
|
|
6800
7049
|
nullable: true
|
|
6801
7050
|
},
|
|
7051
|
+
countryCode: {
|
|
7052
|
+
type: 'string',
|
|
7053
|
+
description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
|
|
7054
|
+
example: 'CN',
|
|
7055
|
+
nullable: true
|
|
7056
|
+
},
|
|
7057
|
+
category: {
|
|
7058
|
+
type: 'string',
|
|
7059
|
+
description:
|
|
7060
|
+
'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
|
|
7061
|
+
nullable: true,
|
|
7062
|
+
example: 'DigitalWallet'
|
|
7063
|
+
},
|
|
6802
7064
|
isBound: {
|
|
6803
7065
|
type: 'boolean',
|
|
6804
7066
|
description: 'Whether user has accounts using this platform'
|
|
@@ -6812,6 +7074,8 @@ export const $PlatformListItemDto = {
|
|
|
6812
7074
|
'canonical',
|
|
6813
7075
|
'suggestedSegment',
|
|
6814
7076
|
'logoUrl',
|
|
7077
|
+
'countryCode',
|
|
7078
|
+
'category',
|
|
6815
7079
|
'isBound'
|
|
6816
7080
|
]
|
|
6817
7081
|
} as const;
|
|
@@ -6847,13 +7111,26 @@ export const $PlatformMatchResultDto = {
|
|
|
6847
7111
|
suggestedSegment: {
|
|
6848
7112
|
type: 'string',
|
|
6849
7113
|
description:
|
|
6850
|
-
'Suggested path segment — canonical,
|
|
7114
|
+
'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
|
|
6851
7115
|
},
|
|
6852
7116
|
logoUrl: {
|
|
6853
7117
|
type: 'string',
|
|
6854
7118
|
description: 'Logo URL',
|
|
6855
7119
|
nullable: true
|
|
6856
7120
|
},
|
|
7121
|
+
countryCode: {
|
|
7122
|
+
type: 'string',
|
|
7123
|
+
description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
|
|
7124
|
+
example: 'CN',
|
|
7125
|
+
nullable: true
|
|
7126
|
+
},
|
|
7127
|
+
category: {
|
|
7128
|
+
type: 'string',
|
|
7129
|
+
description:
|
|
7130
|
+
'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
|
|
7131
|
+
nullable: true,
|
|
7132
|
+
example: 'DigitalWallet'
|
|
7133
|
+
},
|
|
6857
7134
|
matchType: {
|
|
6858
7135
|
type: 'string',
|
|
6859
7136
|
description: "How this row matched: 'exact' > 'prefix' > 'substring'",
|
|
@@ -6867,6 +7144,8 @@ export const $PlatformMatchResultDto = {
|
|
|
6867
7144
|
'type',
|
|
6868
7145
|
'suggestedSegment',
|
|
6869
7146
|
'logoUrl',
|
|
7147
|
+
'countryCode',
|
|
7148
|
+
'category',
|
|
6870
7149
|
'matchType'
|
|
6871
7150
|
]
|
|
6872
7151
|
} as const;
|
|
@@ -8115,3 +8394,146 @@ export const $AnonymousLoginResponseDto = {
|
|
|
8115
8394
|
},
|
|
8116
8395
|
required: ['authToken']
|
|
8117
8396
|
} as const;
|
|
8397
|
+
|
|
8398
|
+
export const $SymbolSearchResultDto = {
|
|
8399
|
+
type: 'object',
|
|
8400
|
+
properties: {
|
|
8401
|
+
symbol: {
|
|
8402
|
+
type: 'string',
|
|
8403
|
+
example: 'AAPL'
|
|
8404
|
+
},
|
|
8405
|
+
name: {
|
|
8406
|
+
type: 'object',
|
|
8407
|
+
example: 'Apple Inc.',
|
|
8408
|
+
nullable: true
|
|
8409
|
+
},
|
|
8410
|
+
exchange: {
|
|
8411
|
+
type: 'object',
|
|
8412
|
+
example: 'US',
|
|
8413
|
+
nullable: true
|
|
8414
|
+
},
|
|
8415
|
+
assetType: {
|
|
8416
|
+
type: 'object',
|
|
8417
|
+
description: 'OpenBB asset_type (e.g. stock, etf)',
|
|
8418
|
+
example: 'stock',
|
|
8419
|
+
nullable: true
|
|
8420
|
+
},
|
|
8421
|
+
assetClass: {
|
|
8422
|
+
type: 'object',
|
|
8423
|
+
description: 'IGN asset class (region.types.ts ASSET_CLASSES)',
|
|
8424
|
+
example: 'EQUITY',
|
|
8425
|
+
nullable: true
|
|
8426
|
+
},
|
|
8427
|
+
assetSubClass: {
|
|
8428
|
+
type: 'object',
|
|
8429
|
+
description: 'IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)',
|
|
8430
|
+
example: 'STOCK',
|
|
8431
|
+
nullable: true
|
|
8432
|
+
},
|
|
8433
|
+
currency: {
|
|
8434
|
+
type: 'object',
|
|
8435
|
+
description: 'Trading currency (extra_data or inferred from exchange)',
|
|
8436
|
+
example: 'USD',
|
|
8437
|
+
nullable: true
|
|
8438
|
+
}
|
|
8439
|
+
},
|
|
8440
|
+
required: ['symbol']
|
|
8441
|
+
} as const;
|
|
8442
|
+
|
|
8443
|
+
export const $SymbolQuoteDto = {
|
|
8444
|
+
type: 'object',
|
|
8445
|
+
properties: {
|
|
8446
|
+
symbol: {
|
|
8447
|
+
type: 'string',
|
|
8448
|
+
example: 'AAPL'
|
|
8449
|
+
},
|
|
8450
|
+
name: {
|
|
8451
|
+
type: 'object',
|
|
8452
|
+
example: 'Apple Inc.',
|
|
8453
|
+
nullable: true
|
|
8454
|
+
},
|
|
8455
|
+
exchange: {
|
|
8456
|
+
type: 'object',
|
|
8457
|
+
example: 'US',
|
|
8458
|
+
nullable: true
|
|
8459
|
+
},
|
|
8460
|
+
assetType: {
|
|
8461
|
+
type: 'object',
|
|
8462
|
+
description: 'OpenBB asset_type',
|
|
8463
|
+
example: 'stock',
|
|
8464
|
+
nullable: true
|
|
8465
|
+
},
|
|
8466
|
+
assetClass: {
|
|
8467
|
+
type: 'object',
|
|
8468
|
+
description: 'IGN asset class',
|
|
8469
|
+
example: 'EQUITY',
|
|
8470
|
+
nullable: true
|
|
8471
|
+
},
|
|
8472
|
+
assetSubClass: {
|
|
8473
|
+
type: 'object',
|
|
8474
|
+
description: 'IGN asset sub-class',
|
|
8475
|
+
example: 'STOCK',
|
|
8476
|
+
nullable: true
|
|
8477
|
+
},
|
|
8478
|
+
currency: {
|
|
8479
|
+
type: 'object',
|
|
8480
|
+
description: 'Trading currency (extra_data or inferred from exchange)',
|
|
8481
|
+
example: 'USD',
|
|
8482
|
+
nullable: true
|
|
8483
|
+
},
|
|
8484
|
+
price: {
|
|
8485
|
+
type: 'object',
|
|
8486
|
+
description: 'Latest price (Decimal string)',
|
|
8487
|
+
example: '189.84',
|
|
8488
|
+
nullable: true
|
|
8489
|
+
},
|
|
8490
|
+
priceDate: {
|
|
8491
|
+
type: 'object',
|
|
8492
|
+
description: 'Date the price was observed (ISO yyyy-MM-dd)',
|
|
8493
|
+
example: '2026-08-05',
|
|
8494
|
+
nullable: true
|
|
8495
|
+
},
|
|
8496
|
+
changePercent: {
|
|
8497
|
+
type: 'object',
|
|
8498
|
+
description:
|
|
8499
|
+
'Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.',
|
|
8500
|
+
example: 1.7,
|
|
8501
|
+
nullable: true
|
|
8502
|
+
},
|
|
8503
|
+
prevClose: {
|
|
8504
|
+
type: 'object',
|
|
8505
|
+
description: 'Previous close (Decimal string)',
|
|
8506
|
+
nullable: true
|
|
8507
|
+
},
|
|
8508
|
+
open: {
|
|
8509
|
+
type: 'object',
|
|
8510
|
+
description: 'Day open (Decimal string)',
|
|
8511
|
+
nullable: true
|
|
8512
|
+
},
|
|
8513
|
+
high: {
|
|
8514
|
+
type: 'object',
|
|
8515
|
+
description: 'Day high (Decimal string)',
|
|
8516
|
+
nullable: true
|
|
8517
|
+
},
|
|
8518
|
+
low: {
|
|
8519
|
+
type: 'object',
|
|
8520
|
+
description: 'Day low (Decimal string)',
|
|
8521
|
+
nullable: true
|
|
8522
|
+
},
|
|
8523
|
+
volume: {
|
|
8524
|
+
type: 'object',
|
|
8525
|
+
description: 'Day volume (Decimal string)',
|
|
8526
|
+
nullable: true
|
|
8527
|
+
},
|
|
8528
|
+
yearHigh: {
|
|
8529
|
+
type: 'object',
|
|
8530
|
+
description: '52-week high (Decimal string)',
|
|
8531
|
+
nullable: true
|
|
8532
|
+
},
|
|
8533
|
+
yearLow: {
|
|
8534
|
+
type: 'object',
|
|
8535
|
+
description: '52-week low (Decimal string)',
|
|
8536
|
+
nullable: true
|
|
8537
|
+
}
|
|
8538
|
+
}
|
|
8539
|
+
} as const;
|