catalog

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Code generated by cligen. DO NOT EDIT.

Code generated by cligen. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var HelpEntries = map[string]map[string]HelpEntry{
	"accounts": {
		"get":  {Method: "GET", Path: "/workspaces/{workspaceId}/accounts/{accountId}", BodyRef: "", ResponseRef: "Account", Summary: "Get Account by ID", PathArgs: []string{"accountId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access", "MPC Hot Signer"}},
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/accounts", BodyRef: "", ResponseRef: "Accounts", Summary: "Get Accounts", QueryParams: []HelpQueryParam{{Name: "accountTypes", Required: false, Type: "array", Description: "Filter by account types. [See details](/enums/AccountType)", Enum: []string{"vault"}}, {Name: "excludedAccountTypes", Required: false, Type: "array", Description: "Filter by excluded account types. [See details](/enums/AccountType)", Enum: []string{"vault"}}, {Name: "statuses", Required: false, Type: "array", Description: "Filter by account statuses. [See details](/enums/AccountStatus)", Enum: []string{"active", "archived", "shard-generating", "error-on-generating"}}, {Name: "accountIds", Required: false, Type: "string[]", Description: "Filter by account id"}, {Name: "offset", Required: false, Type: "string", Format: "int64", Description: "Offset for pagination"}, {Name: "limit", Required: false, Type: "string", Format: "int64", Description: "Limit for pagination"}, {Name: "isTestnet", Required: false, Type: "boolean", Description: "Filter by testnet flag (true - testnet, false - mainnet, null - all)"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access", "MPC Hot Signer"}},
	},
	"activities": {
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/activities", BodyRef: "", ResponseRef: "Activities", Summary: "Get Activities", QueryParams: []HelpQueryParam{{Name: "accountIds", Required: false, Type: "string[]", Description: "Filter activities for specific IDs"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "search", Required: false, Type: "string", Description: "Search string based on activity name and description"}, {Name: "userIds", Required: false, Type: "string[]", Description: "Filter activities by user IDs"}, {Name: "activityTypes", Required: false, Type: "array", Description: "Filter activities by activity types. [See details](/enums/ActivityType)", Enum: []string{"login", "new-device-login", "failed-login", "failed-2fa", "guardian-declined", "new-address-book-record", "update-address-book-record", "delete-address-book-record", "workspace-creation", "workspace-settings-approval-update", "workspace-name-change", "workspace-tag-change", "tag-relinked", "tag-auto-relinked", "tag-deactivated", "only-address-book-withdrawals-settings-update", "transaction-approval-settings-update", "workspace-members-approval-update", "address-book-settings-approval-update", "transaction-limits-approval-settings-update", "member-creation", "member-update", "service-member-creation", "transaction-limit-creation", "transaction-limit-update", "account-creation", "passkey-creation", "passkey-deletion", "2fa-change", "email-change", "account-pins-reset", "shard-access-request-updated", "signing-share-requested", "signing-share-in-progress", "signing-share-cancelled", "signing-share-rejected", "signing-recovery-requested", "signing-recovery-in-progress", "signing-recovery-cancelled", "signing-recovery-rejected", "face-scan-enrolled", "face-scan-enrolment-removed", "face-scan-recovery-verified", "face-scan-recovery-failed", "shard-recovery-face-verified", "shard-recovery-face-failed", "signing-access-revoked", "transaction-completed", "subscription-updated", "trial-prolongation-requested", "trial-prolongated", "ownership-takeover-request-created", "ownership-takeover-request-cancelled", "ownership-takeover-new-beneficiary-added", "ownership-takeover-beneficiary-left", "ownership-takeover-request-completed", "user-frozen", "user-unfrozen", "workspace-frozen", "workspace-unfrozen", "user-deletion-scheduled", "user-deletion-canceled"}}, {Name: "excludedActivityTypes", Required: false, Type: "array", Description: "Exclude activities by activity types. [See details](/enums/ActivityType)", Enum: []string{"login", "new-device-login", "failed-login", "failed-2fa", "guardian-declined", "new-address-book-record", "update-address-book-record", "delete-address-book-record", "workspace-creation", "workspace-settings-approval-update", "workspace-name-change", "workspace-tag-change", "tag-relinked", "tag-auto-relinked", "tag-deactivated", "only-address-book-withdrawals-settings-update", "transaction-approval-settings-update", "workspace-members-approval-update", "address-book-settings-approval-update", "transaction-limits-approval-settings-update", "member-creation", "member-update", "service-member-creation", "transaction-limit-creation", "transaction-limit-update", "account-creation", "passkey-creation", "passkey-deletion", "2fa-change", "email-change", "account-pins-reset", "shard-access-request-updated", "signing-share-requested", "signing-share-in-progress", "signing-share-cancelled", "signing-share-rejected", "signing-recovery-requested", "signing-recovery-in-progress", "signing-recovery-cancelled", "signing-recovery-rejected", "face-scan-enrolled", "face-scan-enrolment-removed", "face-scan-recovery-verified", "face-scan-recovery-failed", "shard-recovery-face-verified", "shard-recovery-face-failed", "signing-access-revoked", "transaction-completed", "subscription-updated", "trial-prolongation-requested", "trial-prolongated", "ownership-takeover-request-created", "ownership-takeover-request-cancelled", "ownership-takeover-new-beneficiary-added", "ownership-takeover-beneficiary-left", "ownership-takeover-request-completed", "user-frozen", "user-unfrozen", "workspace-frozen", "workspace-unfrozen", "user-deletion-scheduled", "user-deletion-canceled"}}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"address-book": {
		"create": {Method: "POST", Path: "/workspaces/{workspaceId}/address-book-records", BodyRef: "CreateAddressBookRecord", ResponseRef: "AddressBookRecord", Summary: "Create Address Book record", BodyFields: []HelpBodyField{{DotPath: "accountIds", Type: "string[]", Description: "Comma-separated account ids, if address set for particular accounts"}, {DotPath: "address", Type: "string", Description: "Address"}, {DotPath: "bankDetails.accountHolderType", Required: true, Type: "string", Description: "Account holder type. [See details](/enums/AccountHolderType)", Enum: []string{"individual", "business"}}, {DotPath: "bankDetails.accountNumber", Required: true, Type: "string", Format: "external-text", Description: "Account number / IBAN"}, {DotPath: "bankDetails.accountType", Type: "string", Description: "Account type — required by Noah for ACH and international SWIFT (USD-style). [See details](/enums/BankAccountType)", Enum: []string{"checking", "savings"}}, {DotPath: "bankDetails.bankAddress.address", Type: "string", Description: "Street address, line 1"}, {DotPath: "bankDetails.bankAddress.city", Type: "string", Description: "City"}, {DotPath: "bankDetails.bankAddress.country", Type: "string", Description: "ISO-3166-1 alpha-2 country code; defaults to BankDetails.country when omitted"}, {DotPath: "bankDetails.bankAddress.postalCode", Type: "string", Description: "Postal / ZIP code"}, {DotPath: "bankDetails.bankAddress.state", Type: "string", Description: "State / province"}, {DotPath: "bankDetails.bankCode", Type: "string", Format: "external-text", Description: "Bank code: BIC (SWIFT) / 9-digit routing number (US ACH) / sort code (UK)"}, {DotPath: "bankDetails.businessName", Type: "string", Format: "external-text", Description: "Business name (for Business holder)"}, {DotPath: "bankDetails.businessRegistrationNumber", Type: "string", Format: "external-text", Description: "Company registration number (for Business holder)"}, {DotPath: "bankDetails.channelType", Required: true, Type: "string", Description: "Payment channel type. [See details](/enums/BankChannelType)", Enum: []string{"sepa", "ach", "swift", "fedwire", "local"}}, {DotPath: "bankDetails.correspondentBankCode", Type: "string", Format: "external-text", Description: "Correspondent bank SWIFT/BIC code for international SWIFT payments"}, {DotPath: "bankDetails.country", Required: true, Type: "string", Description: "ISO-3166-1 alpha-2 country code, or 'XX' for global SWIFT-like fallback"}, {DotPath: "bankDetails.fiatCurrency", Required: true, Type: "string", Description: "Fiat currency code (ISO-4217)"}, {DotPath: "bankDetails.firstName", Type: "string", Format: "external-text", Description: "First name (for Individual holder)"}, {DotPath: "bankDetails.issuer", Required: true, Type: "string", Format: "external-text", Description: "Bank name and address — free-form text shown to the user as a single block"}, {DotPath: "bankDetails.lastName", Type: "string", Format: "external-text", Description: "Last name (for Individual holder)"}, {DotPath: "bankDetails.paymentPurpose", Type: "string", Format: "external-text", Description: "Payment purpose — required by Noah for ACH/Fedwire/SWIFT-EUR"}, {DotPath: "bankDetails.reference", Type: "string", Format: "external-text", Description: "Reference shown on the beneficiary's bank statement"}, {DotPath: "bankDetails.registeredAddress", Type: "string", Format: "external-text", Description: "Registered address (for Business holder)"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Address book entry external ID"}, {DotPath: "imageId", Type: "string", Description: "Workspace image ID (for tag type records)"}, {DotPath: "memo", Type: "string", Description: "Address memo (destination tag for XRP)"}, {DotPath: "name", Required: true, Type: "string", Description: "Name of the address"}, {DotPath: "networkId", Type: "string", Description: "Blockchain Network Id of an address"}, {DotPath: "recordType", Type: "string", Description: "Record type: address, tag, or bank. [See details](/enums/RecordType)", Enum: []string{"address", "tag", "bank"}}, {DotPath: "tag", Type: "string", Description: "Workspace tag (for tag type records)"}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"delete": {Method: "DELETE", Path: "/workspaces/{workspaceId}/address-book-records/{recordId}", BodyRef: "", ResponseRef: "Unit", Summary: "Deactivate Address Book record", PathArgs: []string{"recordId"}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"get":    {Method: "GET", Path: "/workspaces/{workspaceId}/address-book-records/{recordId}", BodyRef: "", ResponseRef: "AddressBookRecord", Summary: "Get Address Book record by ID", PathArgs: []string{"recordId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"list":   {Method: "GET", Path: "/workspaces/{workspaceId}/address-book-records", BodyRef: "", ResponseRef: "AddressBookRecords", Summary: "Get Address Book records", QueryParams: []HelpQueryParam{{Name: "recordIds", Required: false, Type: "string[]", Description: "Filter by address book record IDs list"}, {Name: "networkIds", Required: false, Type: "string[]", Description: "Filter by network IDs"}, {Name: "addresses", Required: false, Type: "string[]", Description: "Filter by addresses"}, {Name: "memo", Required: false, Type: "string", Description: "Filter by memo"}, {Name: "tag", Required: false, Type: "string", Description: "Filter by tag (exact match, case-insensitive)"}, {Name: "limit", Required: false, Type: "string", Format: "int64", Description: "Limit for pagination"}, {Name: "offset", Required: false, Type: "string", Format: "int64", Description: "Offset for pagination"}, {Name: "sortBy", Required: false, Type: "string", Description: "[See details](/enums/AddressBookSortBy)", Enum: []string{"date-added", "type", "name"}}, {Name: "sortDirection", Required: false, Type: "string", Description: "[See details](/enums/SortingDirection)", Enum: []string{"ASC", "DESC"}}, {Name: "recordType", Required: false, Type: "string", Description: "Filter by record type. [See details](/enums/RecordType)", Enum: []string{"address", "tag", "bank"}}, {Name: "recordTypes", Required: false, Type: "array", Description: "Filter by record types. [See details](/enums/RecordType)", Enum: []string{"address", "tag", "bank"}}, {Name: "statuses", Required: false, Type: "array", Description: "Filter by statuses. [See details](/enums/RecordStatus)", Enum: []string{"new", "active", "rejected", "deleted"}}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"asset-price-series": {
		"list": {Method: "GET", Path: "/dictionary/asset-price-series", BodyRef: "", ResponseRef: "AssetPriceSeries", Summary: "Get Asset Price Series", QueryParams: []HelpQueryParam{{Name: "baseSymbolId", Required: true, Type: "string", Description: "The base symbol ID to get the price chart for"}, {Name: "period", Required: true, Type: "string", Description: "Chart period (1h, 1d, 1w, 1m, 6m, 1y, all). [See details](/enums/ChartPeriod)", Enum: []string{"1h", "1d", "1w", "1m", "6m", "1y", "ytd", "all"}}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"assets": {
		"get":    {Method: "GET", Path: "/dictionary/assets/{assetId}", BodyRef: "", ResponseRef: "Asset", Summary: "Get Asset by ID", PathArgs: []string{"assetId"}, QueryParams: []HelpQueryParam{{Name: "assetIds", Required: false, Type: "string[]", Description: "Filter results to only include these specific asset IDs"}, {Name: "networkIds", Required: false, Type: "string[]", Description: "Filter results to only include assets from these blockchain networks"}, {Name: "symbolIds", Required: false, Type: "string[]", Description: "Filter results to only include assets that represent these specific symbols"}, {Name: "contractAddress", Required: false, Type: "string", Description: "Filter results to only include assets that have this contract address"}, {Name: "contractIssuer", Required: false, Type: "string", Description: "Filter result to only include assets that have this contract issuer"}, {Name: "assetType", Required: false, Type: "string", Description: "Filter by what kind of asset. [See details](/enums/AssetType)", Enum: []string{"blockchain", "exchange", "fiat", "nft"}}, {Name: "used", Required: false, Type: "boolean", Description: "Filter results to only include assets that were ever used in this workspace's transactions"}, {Name: "search", Required: false, Type: "string", Description: "Full-text search across symbol, name, and contract address. Minimum 2 characters."}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"list":   {Method: "GET", Path: "/dictionary/assets", BodyRef: "", ResponseRef: "Assets", Summary: "Get Assets", QueryParams: []HelpQueryParam{{Name: "assetIds", Required: false, Type: "string[]", Description: "Filter results to only include these specific asset IDs"}, {Name: "networkIds", Required: false, Type: "string[]", Description: "Filter results to only include assets from these blockchain networks"}, {Name: "symbolIds", Required: false, Type: "string[]", Description: "Filter results to only include assets that represent these specific symbols"}, {Name: "contractAddress", Required: false, Type: "string", Description: "Filter results to only include assets that have this contract address"}, {Name: "contractIssuer", Required: false, Type: "string", Description: "Filter result to only include assets that have this contract issuer"}, {Name: "assetType", Required: false, Type: "string", Description: "Filter by what kind of asset. [See details](/enums/AssetType)", Enum: []string{"blockchain", "exchange", "fiat", "nft"}}, {Name: "used", Required: false, Type: "boolean", Description: "Filter results to only include assets that were ever used in this workspace's transactions"}, {Name: "search", Required: false, Type: "string", Description: "Full-text search across symbol, name, and contract address. Minimum 2 characters."}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"prices": {Method: "GET", Path: "/dictionary/asset-market-prices", BodyRef: "", ResponseRef: "AssetMarketPrices", Summary: "Get Asset Prices", QueryParams: []HelpQueryParam{{Name: "baseAssetIds", Required: false, Type: "string[]", Description: "The asset IDs you want to get market prices for"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"balances": {
		"get":  {Method: "GET", Path: "/workspaces/{workspaceId}/balances/{balanceId}", BodyRef: "", ResponseRef: "Balance", Summary: "Get balance by ID", PathArgs: []string{"balanceId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/balances", BodyRef: "", ResponseRef: "Balances", Summary: "Get balances", QueryParams: []HelpQueryParam{{Name: "accountId", Required: false, Type: "string", Description: "Filter by account ID"}, {Name: "accountIds", Required: false, Type: "string[]", Description: "Filter by account ids"}, {Name: "balanceIds", Required: false, Type: "string[]", Description: "Filter by balance ids"}, {Name: "assetId", Required: false, Type: "string", Description: "Filter balances by assetId"}, {Name: "assetIds", Required: false, Type: "string[]", Description: "Filter balances by assetIds list"}, {Name: "assetNotIn", Required: false, Type: "string[]", Description: "Filter balances by assetNotIn"}, {Name: "networkId", Required: false, Type: "string", Description: "Filter balances by networkId"}, {Name: "networkIds", Required: false, Type: "string[]", Description: "Filter balances by networkIds list"}, {Name: "accountTypes", Required: false, Type: "array", Description: "Filter balances by account types. [See details](/enums/AccountType)", Enum: []string{"vault"}}, {Name: "excludedAccountTypes", Required: false, Type: "array", Description: "Exclude balances by account types. [See details](/enums/AccountType)", Enum: []string{"vault"}}, {Name: "updatedSince", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter balances updated since timestamp"}, {Name: "nonEmpty", Required: false, Type: "boolean", Description: "Filter only balances with non-zero balance"}, {Name: "limit", Required: false, Type: "string", Format: "int64", Description: "Limit for pagination"}, {Name: "offset", Required: false, Type: "string", Format: "int64", Description: "Offset for pagination"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"canton": {
		"ledger-query": {Method: "POST", Path: "/workspaces/{workspaceId}/canton/ledger-query", BodyRef: "CantonLedgerQuery", ResponseRef: "CantonLedgerQueryResult", Summary: "Canton Ledger API passthrough", BodyFields: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "Account whose Canton party identifiers are used as the calling parties for the forwarded request."}, {DotPath: "params", Required: true, Type: "com.fasterxml.jackson.databind.JsonNode", Description: "Canton Ledger JSON API request envelope; mirrors the @canton-network/dapp-sdk LedgerApiParams shape ({ requestMethod, resource, body?, query?, path? }). This route forwards a whitelisted set of read-only requests on behalf of a wallet connected via WalletConnect."}, {DotPath: "sessionTopic", Required: true, Type: "string", Description: "WalletConnect session topic for audit correlation."}}, Permissions: []string{"Transaction Operator", "Full Access"}},
	},
	"deposit-addresses": {
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/addresses", BodyRef: "", ResponseRef: "Addresses", Summary: "Get Deposit Addresses", QueryParams: []HelpQueryParam{{Name: "accountId", Required: false, Type: "string", Description: "Filter addresses by account id"}, {Name: "addressIds", Required: false, Type: "string[]", Description: "List of comma-separated address IDs"}, {Name: "externalId", Required: false, Type: "string", Description: "External Id"}, {Name: "accountTypes", Required: false, Type: "array", Description: "Account Types to filter. [See details](/enums/AccountType)", Enum: []string{"vault"}}, {Name: "networkId", Required: false, Type: "string", Description: "Network ID to filter"}, {Name: "address", Required: false, Type: "string", Description: "Address string, case insensitive"}, {Name: "statuses", Required: false, Type: "array", Description: "Statuses to filter. [See details](/enums/AddressStatus)", Enum: []string{"new", "pending", "address-activation-required", "address-creation-required", "address-activation-in-progress", "approval-pending", "enabled", "disabled", "error", "account-archived"}}, {Name: "sortDirection", Required: false, Type: "string", Description: "[See details](/enums/SortingDirection)", Enum: []string{"ASC", "DESC"}}, {Name: "limit", Required: false, Type: "string", Format: "int64", Description: "Limit"}, {Name: "offset", Required: false, Type: "string", Format: "int64", Description: "Offset"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"intents": {
		"create": {Method: "POST", Path: "/workspaces/{workspaceId}/intents", BodyRef: "CreateIntent", ResponseRef: "Intent", Summary: "Create Intent request", BodyFields: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the intent transaction should be placed"}, {DotPath: "fromAmount", Type: "string", Format: "decimal", Description: "The amount of asset that will be sent. Optional, one of `fromAmount` or `toAmount` must be specified."}, {DotPath: "fromAssetId", Required: true, Type: "string"}, {DotPath: "fromTokenId", Type: "string", Description: "Token ID of the from-asset. Required when the from-asset is a tokenized asset (NFT or Bron Lock)."}, {DotPath: "intentId", Required: true, Type: "string", Description: "Unique intent identifier from client (should be unique per the account)"}, {DotPath: "toAmount", Type: "string", Format: "decimal"}, {DotPath: "toAssetId", Required: true, Type: "string"}, {DotPath: "toTokenId", Type: "string", Description: "Token ID of the to-asset. Required when the to-asset is a tokenized asset (NFT or Bron Lock)."}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"get":    {Method: "GET", Path: "/workspaces/{workspaceId}/intents/{intentId}", BodyRef: "", ResponseRef: "Intent", Summary: "Get Intent request by ID", PathArgs: []string{"intentId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"quote":  {Method: "POST", Path: "/workspaces/{workspaceId}/intents/quote", BodyRef: "", ResponseRef: "IntentsQuote", Summary: "Request indicative swap quote", QueryParams: []HelpQueryParam{{Name: "fromAssetId", Required: true, Type: "string", Description: "ID of the source asset"}, {Name: "toAssetId", Required: true, Type: "string", Description: "ID of the destination asset"}, {Name: "fromAmount", Required: false, Type: "string", Format: "decimal", Description: "Amount of the from-asset. Exactly one of `fromAmount` or `toAmount` must be specified."}, {Name: "toAmount", Required: false, Type: "string", Format: "decimal", Description: "Amount of the to-asset. Exactly one of `fromAmount` or `toAmount` must be specified."}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"members": {
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/members", BodyRef: "", ResponseRef: "WorkspaceMembers", Summary: "Get Workspace Members", QueryParams: []HelpQueryParam{{Name: "includePermissionGroups", Required: false, Type: "boolean", Description: "Embed data about members' permission groups"}, {Name: "includeUsersProfiles", Required: false, Type: "boolean", Description: "Embed data about members' user information"}, {Name: "includeEmails", Required: false, Type: "boolean", Description: "Embed data about members' email addresses"}, {Name: "limit", Required: false, Type: "string", Format: "int64", Description: "Limit for pagination"}, {Name: "offset", Required: false, Type: "string", Format: "int64", Description: "Offset for pagination"}}, EmbedTokens: []string{"emails", "permission-groups", "users-profiles"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"networks": {
		"get":  {Method: "GET", Path: "/dictionary/networks/{networkId}", BodyRef: "", ResponseRef: "Network", Summary: "Get Network by ID", PathArgs: []string{"networkId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"list": {Method: "GET", Path: "/dictionary/networks", BodyRef: "", ResponseRef: "Networks", Summary: "Get Networks", QueryParams: []HelpQueryParam{{Name: "networkIds", Required: false, Type: "string[]", Description: "Filter results to only include these specific network IDs"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"stakes": {
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/stakes", BodyRef: "", ResponseRef: "Stakes", Summary: "Get Stakes", QueryParams: []HelpQueryParam{{Name: "accountId", Required: false, Type: "string", Description: "Return stakes only for specific account"}, {Name: "assetId", Required: false, Type: "string", Description: "Return stakes only for specific assetId"}, {Name: "rewardPeriod", Required: false, Type: "string", Description: "Reward period"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"symbol-market-prices": {
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/symbol-market-prices", BodyRef: "", ResponseRef: "SymbolMarketPrices", Summary: "Get Workspace Prices", QueryParams: []HelpQueryParam{{Name: "baseSymbolIds", Required: false, Type: "string[]", Description: "The symbol IDs you want to get market prices for"}, {Name: "baseAssetIds", Required: false, Type: "string[]", Description: "The asset IDs you want to get market prices for"}, {Name: "used", Required: false, Type: "boolean", Description: "Filter results to only include prices for assets that were ever used in this workspace's transactions. Cannot be combined with baseSymbolIds or baseAssetIds"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"symbols": {
		"get":    {Method: "GET", Path: "/dictionary/symbols/{symbolId}", BodyRef: "", ResponseRef: "Symbol", Summary: "Get Symbol by ID", PathArgs: []string{"symbolId"}, QueryParams: []HelpQueryParam{{Name: "symbolIds", Required: false, Type: "string[]", Description: "Filter results to only include these specific symbol IDs"}, {Name: "assetIds", Required: false, Type: "string[]", Description: "Filter results to only include symbols that are used by these specific asset IDs. Useful when you want to know which symbols are available for certain assets."}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"list":   {Method: "GET", Path: "/dictionary/symbols", BodyRef: "", ResponseRef: "Symbols", Summary: "Get Symbols", QueryParams: []HelpQueryParam{{Name: "symbolIds", Required: false, Type: "string[]", Description: "Filter results to only include these specific symbol IDs"}, {Name: "assetIds", Required: false, Type: "string[]", Description: "Filter results to only include symbols that are used by these specific asset IDs. Useful when you want to know which symbols are available for certain assets."}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"prices": {Method: "GET", Path: "/dictionary/symbol-market-prices", BodyRef: "", ResponseRef: "SymbolMarketPrices", Summary: "Get Prices", QueryParams: []HelpQueryParam{{Name: "baseSymbolIds", Required: false, Type: "string[]", Description: "The symbol IDs you want to get market prices for"}, {Name: "baseAssetIds", Required: false, Type: "string[]", Description: "The asset IDs you want to get market prices for"}, {Name: "used", Required: false, Type: "boolean", Description: "Filter results to only include prices for assets that were ever used in this workspace's transactions. Cannot be combined with baseSymbolIds or baseAssetIds"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"transaction-limits": {
		"get":  {Method: "GET", Path: "/workspaces/{workspaceId}/transaction-limits/{limitId}", BodyRef: "", ResponseRef: "TransactionLimit", Summary: "Get Transaction Limit by ID", PathArgs: []string{"limitId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"list": {Method: "GET", Path: "/workspaces/{workspaceId}/transaction-limits", BodyRef: "", ResponseRef: "TransactionLimits", Summary: "Get Transaction Limits", QueryParams: []HelpQueryParam{{Name: "limitIds", Required: false, Type: "string[]"}, {Name: "statuses", Required: false, Type: "array", Description: "[See details](/enums/TransactionLimitStatus)", Enum: []string{"new", "active", "deactivated", "declined"}}, {Name: "fromAccountIds", Required: false, Type: "string[]"}, {Name: "toAddressBookRecordIds", Required: false, Type: "string[]"}, {Name: "toAccountIds", Required: false, Type: "string[]"}, {Name: "appliesToUserIds", Required: false, Type: "string[]"}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
	"tx": {
		"accept-deposit-offer":   {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/accept-deposit-offer", BodyRef: "OfferActions", ResponseRef: "Transaction", Summary: "Accept Deposit Offer", PathArgs: []string{"transactionId"}, BodyFields: []HelpBodyField{{DotPath: "accept", Required: true, Type: "boolean"}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"approve":                {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/approve", BodyRef: "ApproveTransaction", ResponseRef: "Transaction", Summary: "Approve Transaction", PathArgs: []string{"transactionId"}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"bulk-create":            {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/bulk-create", BodyRef: "CreateTransactions", ResponseRef: "Transactions", Summary: "Create Multiple Transactions", BodyFields: []HelpBodyField{{DotPath: "transactions", Required: true, Type: "object[]", Description: "List of transactions to create"}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"cancel":                 {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/cancel", BodyRef: "CancelTransaction", ResponseRef: "Transaction", Summary: "Cancel Transaction", PathArgs: []string{"transactionId"}, BodyFields: []HelpBodyField{{DotPath: "reason", Type: "string"}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"create":                 {Method: "POST", Path: "/workspaces/{workspaceId}/transactions", BodyRef: "CreateTransaction", ResponseRef: "Transaction", Summary: "Create Transaction", BodyFields: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}, {DotPath: "transactionType", Required: true, Type: "string", Description: "The transaction type. [See details](/enums/TransactionType)", Enum: []string{"deposit", "withdrawal", "multi-withdrawal", "negative-deposit", "auto-withdrawal", "allowance", "defi", "defi-message", "address-activation", "address-creation", "stake-delegation", "stake-undelegation", "stake-claim", "stake-withdrawal", "stake-take-reward", "stake-earn-reward", "swap-lifi", "intents", "intent-solver-settlement", "loyalty-lock", "loyalty-unlock", "loyalty-collect-rewards", "canton-reward", "nft-deposit", "nft-withdrawal", "nft-allowance", "fiat-out", "fiat-in", "bridge"}}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"create-signing-request": {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/create-signing-request", BodyRef: "CreateSigningRequest", ResponseRef: "Transaction", Summary: "Create signing request", PathArgs: []string{"transactionId"}, BodyFields: []HelpBodyField{{DotPath: "primitivesVersion", Type: "string", Format: "int32", Description: "Version of the primitives used for signing."}}, Permissions: []string{"Full Access", "MPC Hot Signer"}},
		"decline":                {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/decline", BodyRef: "CancelTransaction", ResponseRef: "Transaction", Summary: "Decline Transaction", PathArgs: []string{"transactionId"}, BodyFields: []HelpBodyField{{DotPath: "reason", Type: "string"}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"dry-run":                {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/dry-run", BodyRef: "CreateTransaction", ResponseRef: "DryRunTransaction", Summary: "Dry-Run Transaction", BodyFields: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}, {DotPath: "transactionType", Required: true, Type: "string", Description: "The transaction type. [See details](/enums/TransactionType)", Enum: []string{"deposit", "withdrawal", "multi-withdrawal", "negative-deposit", "auto-withdrawal", "allowance", "defi", "defi-message", "address-activation", "address-creation", "stake-delegation", "stake-undelegation", "stake-claim", "stake-withdrawal", "stake-take-reward", "stake-earn-reward", "swap-lifi", "intents", "intent-solver-settlement", "loyalty-lock", "loyalty-unlock", "loyalty-collect-rewards", "canton-reward", "nft-deposit", "nft-withdrawal", "nft-allowance", "fiat-out", "fiat-in", "bridge"}}}, Permissions: []string{"Transaction Operator", "Full Access"}},
		"events":                 {Method: "GET", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/events", BodyRef: "", ResponseRef: "TransactionEvents", Summary: "Get Transaction Events", PathArgs: []string{"transactionId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
		"get":                    {Method: "GET", Path: "/workspaces/{workspaceId}/transactions/{transactionId}", BodyRef: "", ResponseRef: "Transaction", Summary: "Get Transaction by ID", PathArgs: []string{"transactionId"}, Permissions: []string{"View only", "Transaction Operator", "Full Access", "MPC Hot Signer"}},
		"list":                   {Method: "GET", Path: "/workspaces/{workspaceId}/transactions", BodyRef: "", ResponseRef: "Transactions", Summary: "Get Transactions", QueryParams: []HelpQueryParam{{Name: "transactionId", Required: false, Type: "string", Description: "Transaction ID"}, {Name: "transactionIds", Required: false, Type: "string[]", Description: "Comma-separated transaction ids"}, {Name: "transactionTypes", Required: false, Type: "array", Description: "Comma-separated transaction types. [See details](/enums/TransactionType)", Enum: []string{"deposit", "withdrawal", "multi-withdrawal", "negative-deposit", "auto-withdrawal", "allowance", "defi", "defi-message", "address-activation", "address-creation", "stake-delegation", "stake-undelegation", "stake-claim", "stake-withdrawal", "stake-take-reward", "stake-earn-reward", "swap-lifi", "intents", "intent-solver-settlement", "loyalty-lock", "loyalty-unlock", "loyalty-collect-rewards", "canton-reward", "nft-deposit", "nft-withdrawal", "nft-allowance", "fiat-out", "fiat-in", "bridge"}}, {Name: "accountTypes", Required: false, Type: "array", Description: "Comma-separated account types. [See details](/enums/AccountType)", Enum: []string{"vault"}}, {Name: "accountId", Required: false, Type: "string"}, {Name: "accountIds", Required: false, Type: "string[]", Description: "Comma-separated account ids"}, {Name: "transactionStatuses", Required: false, Type: "array", Description: "Comma-separated transaction statuses. [See details](/enums/TransactionStatus)", Enum: []string{"new", "waiting-confirmations", "waiting-approval", "approved", "awaiting-security-policy", "completed", "partially-completed", "canceled", "expired", "signing-required", "signing", "signed", "broadcasted", "manual-resolving", "failed-on-blockchain", "removed-from-blockchain", "error", "awaiting-deposit", "awaiting-conversion", "awaiting-payout", "awaiting-defi-execution", "acceptance-required"}}, {Name: "transactionStatusNotIn", Required: false, Type: "array", Description: "Comma-separated transaction statuses to filter out. [See details](/enums/TransactionStatus)", Enum: []string{"new", "waiting-confirmations", "waiting-approval", "approved", "awaiting-security-policy", "completed", "partially-completed", "canceled", "expired", "signing-required", "signing", "signed", "broadcasted", "manual-resolving", "failed-on-blockchain", "removed-from-blockchain", "error", "awaiting-deposit", "awaiting-conversion", "awaiting-payout", "awaiting-defi-execution", "acceptance-required"}}, {Name: "assetIds", Required: false, Type: "string[]", Description: "Filter by Asset IDs"}, {Name: "blockchainTxId", Required: false, Type: "string", Description: "Blockchain transaction id to filter"}, {Name: "toAccountId", Required: false, Type: "string", Description: "Account ID to where the transaction was sent to"}, {Name: "toAddress", Required: false, Type: "string", Description: "Address to where the transaction was sent to"}, {Name: "fromAddress", Required: false, Type: "string", Description: "Address from where the transaction was sent"}, {Name: "address", Required: false, Type: "string", Description: "Address to search for, matching either fromAddress or toAddress"}, {Name: "isTerminated", Required: false, Type: "boolean", Description: "Filer on only terminated transactions or not"}, {Name: "terminatedAtFrom", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter by terminated date since timestamp"}, {Name: "terminatedAtTo", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter by terminated date until timestamp"}, {Name: "createdAtFrom", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter by created date since timestamp"}, {Name: "createdAtTo", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter by created date until timestamp"}, {Name: "updatedAtFrom", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter by updated date since timestamp"}, {Name: "updatedAtTo", Required: false, Type: "string", Format: "date-time-millis", Description: "Filter by updated date until timestamp"}, {Name: "canSignWithDeviceId", Required: false, Type: "string", Description: "Filter by deviceId that can sign this transaction"}, {Name: "sortBy", Required: false, Type: "string", Description: "[See details](/enums/SortBy)", Enum: []string{"updated", "activity"}}, {Name: "sortDirection", Required: false, Type: "string", Description: "[See details](/enums/SortingDirection)", Enum: []string{"ASC", "DESC"}}, {Name: "limit", Required: false, Type: "string", Format: "int64", Description: "Limit for pagination"}, {Name: "offset", Required: false, Type: "string", Format: "int64", Description: "Offset for pagination"}, {Name: "externalId", Required: false, Type: "string", Description: "External Id"}, {Name: "includeEvents", Required: false, Type: "boolean", Description: "Include events in the response _embedded field"}, {Name: "includeCurrentSigningRequest", Required: false, Type: "boolean", Description: "Include current signing requests in the response _embedded field"}, {Name: "includeAttestationSignature", Required: false, Type: "boolean", Description: "Include the order-bound payer attestation signature in the response _embedded field"}}, EmbedTokens: []string{"attestation-signature", "current-signing-request", "events"}, Permissions: []string{"View only", "Transaction Operator", "Full Access", "MPC Hot Signer"}},
		"reject-outgoing-offer":  {Method: "POST", Path: "/workspaces/{workspaceId}/transactions/{transactionId}/reject-outgoing-offer", BodyRef: "OfferActions", ResponseRef: "Transaction", Summary: "Reject Outgoing Offer", PathArgs: []string{"transactionId"}, BodyFields: []HelpBodyField{{DotPath: "accept", Required: true, Type: "boolean"}}, Permissions: []string{"Transaction Operator", "Full Access"}},
	},
	"workspace": {
		"info": {Method: "GET", Path: "/workspaces/{workspaceId}", BodyRef: "", ResponseRef: "Workspace", Summary: "Get Workspace by ID", QueryParams: []HelpQueryParam{{Name: "workspaceIds", Required: false, Type: "string[]", Description: "List of comma-separated workspace ids"}, {Name: "includeSettings", Required: false, Type: "boolean", Description: "Include workspace settings"}, {Name: "limit", Required: false, Type: "string", Format: "int64"}, {Name: "offset", Required: false, Type: "string", Format: "int64"}}, EmbedTokens: []string{"settings"}, Permissions: []string{"View only", "Transaction Operator", "Full Access"}},
	},
}
View Source
var HelpTopics = []HelpTopic{
	{
		Topic: "transaction-amounts",
		Title: "Reading transaction amounts and settlement",
		Details: "`params.amount` on a transaction is the requested amount, not the settled one. " +
			"For financial totals call bron_tx_list with `includeEvents: true` (or bron_tx_events for one " +
			"transaction) and aggregate `_embedded.events` — never sum `params.amount`.",
	},
	{
		Topic: "query-dates",
		Title: "Date filters and timestamps",
		Details: "Date query params accept ISO-8601 (`2026-04-01`, `2026-04-01T00:00:00Z`), raw epoch-millis, " +
			"or relative past forms `now`, `now-7d`, `-24h` (units s/m/h/d/w). Response timestamps come back as " +
			"ISO-8601 UTC.",
	},
	{
		Topic: "shaping-output",
		Title: "Trimming and reshaping tool responses",
		Details: "Pass `fields` (comma-separated dot-paths, e.g. `transactionId,params.amount`) to keep only those " +
			"paths, then `jq` for further filtering/aggregation. Both run server-side before the reply returns.",
	},
}
View Source
var Spec []byte
View Source
var TxShortcuts = map[string]TxShortcut{
	"address-activation":       {ParamsRef: "AddressActivationParams", Params: []string{"assetId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "assetId", Required: true, Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"address-creation":         {ParamsRef: "AddressCreationParams", Params: []string{"assetId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "assetId", Required: true, Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"allowance":                {ParamsRef: "AllowanceParams", Params: []string{"amount", "assetId", "feeLevel", "networkFees.feePerByte", "networkFees.gasLimit", "networkFees.gasPriceGwei", "networkFees.maxFeePerGas", "networkFees.maxPriorityFeePerGas", "toAddress", "unlimited"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Type: "string", Format: "decimal"}, {DotPath: "assetId", Required: true, Type: "string"}, {DotPath: "feeLevel", Type: "string", Description: "[See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "networkFees.feePerByte", Type: "string", Format: "int64"}, {DotPath: "networkFees.gasLimit", Type: "string", Format: "int64"}, {DotPath: "networkFees.gasPriceGwei", Type: "string", Format: "decimal"}, {DotPath: "networkFees.maxFeePerGas", Type: "string", Format: "decimal"}, {DotPath: "networkFees.maxPriorityFeePerGas", Type: "string", Format: "decimal"}, {DotPath: "toAddress", Required: true, Type: "string"}, {DotPath: "unlimited", Type: "boolean"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"bridge":                   {ParamsRef: "BridgeParams", Params: []string{"amount", "feeLevel", "sourceAssetId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Required: true, Type: "string", Format: "decimal", Description: "The amount to bridge"}, {DotPath: "feeLevel", Type: "string", Description: "The fee level for the source-network withdrawal. [See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "sourceAssetId", Required: true, Type: "string", Description: "The asset ID on the source network"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"defi":                     {ParamsRef: "DefiParams", Params: []string{"data", "externalBroadcast", "feeLevel", "method", "networkId", "origin", "rawTransaction", "rawTransactions", "to", "value"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "data", Type: "string", Description: "Hex-encoded transaction data payload for contract interaction (EVM networks)"}, {DotPath: "externalBroadcast", Type: "boolean", Description: "If true, the transaction will be broadcast externally by the client instead of the wallet"}, {DotPath: "feeLevel", Type: "string", Description: "[See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "method", Required: true, Type: "string", Description: "WalletConnect method name that defines the requested operation (e.g. eth_sendTransaction, solana_signTransaction)"}, {DotPath: "networkId", Required: true, Type: "string"}, {DotPath: "origin", Required: true, Type: "string", Description: "Origin of defi operation"}, {DotPath: "rawTransaction", Type: "string", Description: "Fully formed transaction to be signed or broadcast (used for TRON network)"}, {DotPath: "rawTransactions", Type: "string[]", Description: "List of fully formed serialized transactions to be signed or broadcast (used for Solana, TON networks)"}, {DotPath: "to", Type: "string", Description: "Recipient address for EVM-compatible transaction"}, {DotPath: "value", Type: "string", Description: "Hex-encoded amount (EVM networks)"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"defi-message":             {ParamsRef: "DefiMessageParams", Params: []string{"message", "networkId", "origin", "version"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "message", Required: true, Type: "string"}, {DotPath: "networkId", Required: true, Type: "string"}, {DotPath: "origin", Required: true, Type: "string", Description: "Origin of defi operation"}, {DotPath: "version", Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"deposit":                  {ParamsRef: "DepositParams", Params: []string{"amount", "assetId", "networkId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Required: true, Type: "string", Format: "decimal", Description: "The amount of transaction"}, {DotPath: "assetId", Required: true, Type: "string", Description: "The asset ID for the transaction"}, {DotPath: "networkId", Required: true, Type: "string", Description: "The asset's blockchain network name for the transaction"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"fiat-in":                  {ParamsRef: "FiatInParams", Params: []string{"amount", "assetId", "fiatAssetId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Required: true, Type: "string", Format: "decimal", Description: "Amount to deposit"}, {DotPath: "assetId", Required: true, Type: "string", Description: "Target crypto asset to receive"}, {DotPath: "fiatAssetId", Required: true, Type: "string", Description: "Source fiat asset"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"fiat-out":                 {ParamsRef: "FiatOutParams", Params: []string{"amount", "assetId", "feeLevel", "fiatAssetId", "paymentPurpose", "processingTier", "reference", "toAddressBookRecordId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Required: true, Type: "string", Format: "decimal", Description: "Crypto amount to sell"}, {DotPath: "assetId", Required: true, Type: "string", Description: "Crypto asset to sell"}, {DotPath: "feeLevel", Type: "string", Description: "[See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "fiatAssetId", Required: true, Type: "string", Description: "Target fiat asset"}, {DotPath: "paymentPurpose", Type: "string", Description: "Payment purpose"}, {DotPath: "processingTier", Type: "string", Description: "Optional settlement speed tier for the selected rail when the provider offers more than one (e.g. \"instant\" or \"standard\")"}, {DotPath: "reference", Type: "string", Description: "Reference shown on the recipient's bank statement; overrides the saved bank record reference"}, {DotPath: "toAddressBookRecordId", Required: true, Type: "string", Description: "Bank account record ID from address book"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"intent-solver-settlement": {ParamsRef: "IntentSolverSettlementParams", Params: []string{"amount", "assetId", "feeLevel", "includeFee", "intentId", "memo", "networkFees.feePerByte", "networkFees.gasLimit", "networkFees.gasPriceGwei", "networkFees.maxFeePerGas", "networkFees.maxPriorityFeePerGas", "networkId", "symbol", "toAccountId", "toAddress", "toAddressBookRecordId", "toWorkspaceTag"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Required: true, Type: "string", Format: "decimal", Description: "The amount of transaction"}, {DotPath: "assetId", Type: "string", Description: "The asset ID for the transaction"}, {DotPath: "feeLevel", Type: "string", Description: "The fee level for the withdrawal. [See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "includeFee", Type: "boolean", Description: "Indicates whether the fee should be included in the withdrawal amount or added on top of it"}, {DotPath: "intentId", Required: true, Type: "string", Description: "The ID of the intent this settlement fulfils. The signer also produces an intent-bound attestation, retrievable with includeAttestationSignature."}, {DotPath: "memo", Type: "string", Description: "Memo for the transaction"}, {DotPath: "networkFees.feePerByte", Type: "string", Format: "int64"}, {DotPath: "networkFees.gasLimit", Type: "string", Format: "int64"}, {DotPath: "networkFees.gasPriceGwei", Type: "string", Format: "decimal"}, {DotPath: "networkFees.maxFeePerGas", Type: "string", Format: "decimal"}, {DotPath: "networkFees.maxPriorityFeePerGas", Type: "string", Format: "decimal"}, {DotPath: "networkId", Type: "string", Description: "The asset's blockchain network name for the transaction"}, {DotPath: "symbol", Type: "string", Description: "The asset's symbol for the transaction"}, {DotPath: "toAccountId", Type: "string", Description: "In case of a transfer on a different account, the ID of the destination account"}, {DotPath: "toAddress", Type: "string", Description: "Destination address for the transaction"}, {DotPath: "toAddressBookRecordId", Type: "string", Description: "In case of a withdrawal to address from address book, the ID of the address book record"}, {DotPath: "toWorkspaceTag", Type: "string", Description: "Destination workspace tag for the transaction (e.g. 'tesla')"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"intents":                  {ParamsRef: "IntentsParams", Params: []string{"feeLevel", "intentId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "feeLevel", Type: "string", Description: "[See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "intentId", Required: true, Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"stake-claim":              {ParamsRef: "StakeClaimParams", Params: []string{"amount", "assetId", "stakeId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Type: "string", Format: "decimal"}, {DotPath: "assetId", Required: true, Type: "string"}, {DotPath: "stakeId", Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"stake-delegation":         {ParamsRef: "StakeDelegationParams", Params: []string{"amount", "assetId", "poolId", "resource"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Type: "string", Format: "decimal"}, {DotPath: "assetId", Required: true, Type: "string"}, {DotPath: "poolId", Type: "string"}, {DotPath: "resource", Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"stake-undelegation":       {ParamsRef: "StakeUnDelegationParams", Params: []string{"amount", "assetId", "resource", "stakeId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Type: "string", Format: "decimal"}, {DotPath: "assetId", Required: true, Type: "string"}, {DotPath: "resource", Type: "string"}, {DotPath: "stakeId", Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"stake-withdrawal":         {ParamsRef: "StakeWithdrawalParams", Params: []string{"amount", "assetId", "poolId"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Type: "string", Format: "decimal"}, {DotPath: "assetId", Required: true, Type: "string"}, {DotPath: "poolId", Type: "string"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
	"withdrawal":               {ParamsRef: "WithdrawalParams", Params: []string{"amount", "assetId", "feeAssetId", "feeLevel", "includeFee", "memo", "networkFees.feePerByte", "networkFees.gasLimit", "networkFees.gasPriceGwei", "networkFees.maxFeePerGas", "networkFees.maxPriorityFeePerGas", "networkId", "symbol", "toAccountId", "toAddress", "toAddressBookRecordId", "toWorkspaceTag"}, TopFields: []string{"accountId", "description", "expiresAt", "externalId"}, ParamDefs: []HelpBodyField{{DotPath: "amount", Required: true, Type: "string", Format: "decimal", Description: "The amount of transaction"}, {DotPath: "assetId", Type: "string", Description: "The asset ID for the transaction"}, {DotPath: "feeAssetId", Type: "string", Description: "The asset ID to pay the network fee in. When set to one of the network's supported fee assets, the network fee is paid in that token instead of the network's native asset."}, {DotPath: "feeLevel", Type: "string", Description: "The fee level for the withdrawal. [See details](/enums/FeeLevel)", Enum: []string{"low", "medium", "high"}}, {DotPath: "includeFee", Type: "boolean", Description: "Indicates whether the fee should be included in the withdrawal amount or added on top of it"}, {DotPath: "memo", Type: "string", Description: "Memo for the transaction"}, {DotPath: "networkFees.feePerByte", Type: "string", Format: "int64"}, {DotPath: "networkFees.gasLimit", Type: "string", Format: "int64"}, {DotPath: "networkFees.gasPriceGwei", Type: "string", Format: "decimal"}, {DotPath: "networkFees.maxFeePerGas", Type: "string", Format: "decimal"}, {DotPath: "networkFees.maxPriorityFeePerGas", Type: "string", Format: "decimal"}, {DotPath: "networkId", Type: "string", Description: "The asset's blockchain network name for the transaction"}, {DotPath: "symbol", Type: "string", Description: "The asset's symbol for the transaction"}, {DotPath: "toAccountId", Type: "string", Description: "In case of a transfer on a different account, the ID of the destination account"}, {DotPath: "toAddress", Type: "string", Description: "Destination address for the transaction"}, {DotPath: "toAddressBookRecordId", Type: "string", Description: "In case of a withdrawal to address from address book, the ID of the address book record"}, {DotPath: "toWorkspaceTag", Type: "string", Description: "Destination workspace tag for the transaction (e.g. 'tesla')"}}, TopFieldDefs: []HelpBodyField{{DotPath: "accountId", Required: true, Type: "string", Description: "The id of the account where the transaction should be placed"}, {DotPath: "description", Type: "string", Description: "The description of the transaction"}, {DotPath: "expiresAt", Type: "string", Format: "date-time-millis", Description: "Optional expiration time for the transaction"}, {DotPath: "externalId", Required: true, Type: "string", Description: "Unique transaction identifier from client (should be unique per the account)"}}},
}

Functions

func DateKeys

func DateKeys() map[string]bool

DateKeys returns the set of field/parameter names the spec marks with `format: "date-time-millis"` (the OpenAPI translation of the backend's `@EpochMillis` marker). Consumers wire it into request-side coercion (qparam) and response-side humanization (output). Returns a fresh copy so callers can't mutate the cached set.

func ExternalTextKeys

func ExternalTextKeys(schemaRef string) map[string]bool

ExternalTextKeys returns the property key names marked format:"external-text" anywhere in the response tree rooted at schemaRef (HelpEntry.ResponseRef), resolving $refs into components.schemas and descending arrays, nested objects and _embedded. These are user/counterparty free-text fields the MCP layer wraps in <untrusted> markers. Returns a fresh copy so callers can't mutate the cached set.

func ResponseEnvelopeArrayKey

func ResponseEnvelopeArrayKey(schemaRef string) (string, bool)

ResponseEnvelopeArrayKey returns the property name of a list-envelope response schema — an object component whose properties contain exactly one array. The second result is false for non-envelope schemas (get-by-id DTOs, multi-array or non-object shapes). schemaRef is the component name (HelpEntry.ResponseRef).

Types

type HelpBodyField

type HelpBodyField struct {
	DotPath     string // dot-path into the request body, e.g. "networkFees.gasLimit"
	Required    bool
	Type        string // OpenAPI type — "string" | "integer" | "boolean" | "number". "string[]" / "integer[]" for array of primitive.
	Format      string // OpenAPI format — "int64" | "date-time-millis" | "decimal" | ...
	Description string
	Enum        []string
}

type HelpEntry

type HelpEntry struct {
	Method      string
	Path        string
	Summary     string // OpenAPI operation summary — cobra Short / CLI help one-liner
	BodyRef     string
	ResponseRef string
	QueryParams []HelpQueryParam
	BodyFields  []HelpBodyField // request-body leaves (spec-derived), sans oneOf branches
	PathArgs    []string
	EmbedTokens []string // valid --embed values, derived from includeXxx query params
	Permissions []string // API key permissions allowed, e.g. ["View only", "Transaction Operator"] — used by `bron mcp --read-only`
}

type HelpQueryParam

type HelpQueryParam struct {
	Name        string
	Required    bool
	Type        string // OpenAPI type — "string" | "integer" | "boolean" | "number" | "array". "string[]" / "integer[]" for array of primitive.
	Format      string // OpenAPI format — "int64" | "date-time-millis" | "decimal" | ...
	Description string
	Enum        []string
}

type HelpTopic

type HelpTopic struct {
	Topic   string
	Title   string
	Details string
}

func HelpTopicByName

func HelpTopicByName(topic string) (HelpTopic, bool)

type TxShortcut

type TxShortcut struct {
	ParamsRef    string
	Params       []string
	TopFields    []string
	ParamDefs    []HelpBodyField // params.* leaves (spec-derived), prefix stripped
	TopFieldDefs []HelpBodyField // CreateTransaction top-level leaves shared by every shortcut
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL