ba6156d41d
As a convenience method for users to look up what RPC method URIs exist and what permissions they require, we add a new ListPermissions call that simply returns all registered URIs (including internal and external subservers) and their required permissions.
301 lines
10 KiB
YAML
301 lines
10 KiB
YAML
type: google.api.Service
|
|
config_version: 3
|
|
|
|
http:
|
|
rules:
|
|
# rpc.proto
|
|
- selector: lnrpc.Lightning.WalletBalance
|
|
get: "/v1/balance/blockchain"
|
|
- selector: lnrpc.Lightning.ChannelBalance
|
|
get: "/v1/balance/channels"
|
|
- selector: lnrpc.Lightning.GetTransactions
|
|
get: "/v1/transactions"
|
|
- selector: lnrpc.Lightning.EstimateFee
|
|
get: "/v1/transactions/fee"
|
|
- selector: lnrpc.Lightning.SendCoins
|
|
post: "/v1/transactions"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ListUnspent
|
|
get: "/v1/utxos"
|
|
- selector: lnrpc.Lightning.SubscribeTransactions
|
|
get: "/v1/transactions/subscribe"
|
|
- selector: lnrpc.Lightning.SendMany
|
|
post: "/v1/transactions/many"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.NewAddress
|
|
get: "/v1/newaddress"
|
|
- selector: lnrpc.Lightning.SignMessage
|
|
post: "/v1/signmessage"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.VerifyMessage
|
|
post: "/v1/verifymessage"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ConnectPeer
|
|
post: "/v1/peers"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.DisconnectPeer
|
|
delete: "/v1/peers/{pub_key}"
|
|
- selector: lnrpc.Lightning.ListPeers
|
|
get: "/v1/peers"
|
|
- selector: lnrpc.Lightning.SubscribePeerEvents
|
|
get: "/v1/peers/subscribe"
|
|
- selector: lnrpc.Lightning.GetInfo
|
|
get: "/v1/getinfo"
|
|
- selector: lnrpc.Lightning.GetRecoveryInfo
|
|
get: "/v1/getrecoveryinfo"
|
|
- selector: lnrpc.Lightning.PendingChannels
|
|
get: "/v1/channels/pending"
|
|
- selector: lnrpc.Lightning.ListChannels
|
|
get: "/v1/channels"
|
|
- selector: lnrpc.Lightning.SubscribeChannelEvents
|
|
get: "/v1/channels/subscribe"
|
|
- selector: lnrpc.Lightning.ClosedChannels
|
|
get: "/v1/channels/closed"
|
|
- selector: lnrpc.Lightning.OpenChannelSync
|
|
post: "/v1/channels"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.OpenChannel
|
|
post: "/v1/channels/stream"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.FundingStateStep
|
|
post: "/v1/funding/step"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ChannelAcceptor
|
|
# request streaming RPC, REST not supported
|
|
- selector: lnrpc.Lightning.CloseChannel
|
|
delete: "/v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}"
|
|
- selector: lnrpc.Lightning.AbandonChannel
|
|
delete: "/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}"
|
|
- selector: lnrpc.Lightning.SendPayment
|
|
- selector: lnrpc.Lightning.SendPaymentSync
|
|
post: "/v1/channels/transactions"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.SendToRoute
|
|
# deprecated, no REST endpoint
|
|
- selector: lnrpc.Lightning.SendToRouteSync
|
|
post: "/v1/channels/transactions/route"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.AddInvoice
|
|
post: "/v1/invoices"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ListInvoices
|
|
get: "/v1/invoices"
|
|
- selector: lnrpc.Lightning.LookupInvoice
|
|
get: "/v1/invoice/{r_hash_str}"
|
|
- selector: lnrpc.Lightning.SubscribeInvoices
|
|
get: "/v1/invoices/subscribe"
|
|
- selector: lnrpc.Lightning.DecodePayReq
|
|
get: "/v1/payreq/{pay_req}"
|
|
- selector: lnrpc.Lightning.ListPayments
|
|
get: "/v1/payments"
|
|
- selector: lnrpc.Lightning.DeleteAllPayments
|
|
delete: "/v1/payments"
|
|
- selector: lnrpc.Lightning.DescribeGraph
|
|
get: "/v1/graph"
|
|
- selector: lnrpc.Lightning.GetNodeMetrics
|
|
get: "/v1/graph/nodemetrics"
|
|
- selector: lnrpc.Lightning.GetChanInfo
|
|
get: "/v1/graph/edge/{chan_id}"
|
|
- selector: lnrpc.Lightning.GetNodeInfo
|
|
get: "/v1/graph/node/{pub_key}"
|
|
- selector: lnrpc.Lightning.QueryRoutes
|
|
get: "/v1/graph/routes/{pub_key}/{amt}"
|
|
- selector: lnrpc.Lightning.GetNetworkInfo
|
|
get: "/v1/graph/info"
|
|
- selector: lnrpc.Lightning.StopDaemon
|
|
post: "/v1/stop"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.SubscribeChannelGraph
|
|
get: "/v1/graph/subscribe"
|
|
- selector: lnrpc.Lightning.DebugLevel
|
|
post: "/v1/debuglevel"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.FeeReport
|
|
get: "/v1/fees"
|
|
- selector: lnrpc.Lightning.UpdateChannelPolicy
|
|
post: "/v1/chanpolicy"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ForwardingHistory
|
|
post: "/v1/switch"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ExportChannelBackup
|
|
get: "/v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}"
|
|
- selector: lnrpc.Lightning.ExportAllChannelBackups
|
|
get: "/v1/channels/backup"
|
|
- selector: lnrpc.Lightning.VerifyChanBackup
|
|
post: "/v1/channels/backup/verify"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.RestoreChannelBackups
|
|
post: "/v1/channels/backup/restore"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.SubscribeChannelBackups
|
|
get: "/v1/channels/backup/subscribe"
|
|
- selector: lnrpc.Lightning.BakeMacaroon
|
|
post: "/v1/macaroon"
|
|
body: "*"
|
|
- selector: lnrpc.Lightning.ListMacaroonIDs
|
|
get: "/v1/macaroon/ids"
|
|
- selector: lnrpc.Lightning.DeleteMacaroonID
|
|
delete: "/v1/macaroon/{root_key_id}"
|
|
- selector: lnrpc.Lightning.ListPermissions
|
|
get: "/v1/macaroon/permissions"
|
|
|
|
# walletunlocker.proto
|
|
- selector: lnrpc.WalletUnlocker.GenSeed
|
|
get: "/v1/genseed"
|
|
- selector: lnrpc.WalletUnlocker.InitWallet
|
|
post: "/v1/initwallet"
|
|
body: "*"
|
|
- selector: lnrpc.WalletUnlocker.UnlockWallet
|
|
post: "/v1/unlockwallet"
|
|
body: "*"
|
|
- selector: lnrpc.WalletUnlocker.ChangePassword
|
|
post: "/v1/changepassword"
|
|
body: "*"
|
|
|
|
# autopilotrpc/autopilot.proto
|
|
- selector: autopilotrpc.Autopilot.Status
|
|
get: "/v2/autopilot/status"
|
|
- selector: autopilotrpc.Autopilot.ModifyStatus
|
|
post: "/v2/autopilot/modify"
|
|
body: "*"
|
|
- selector: autopilotrpc.Autopilot.QueryScores
|
|
get: "/v2/autopilot/scores"
|
|
- selector: autopilotrpc.Autopilot.SetScores
|
|
post: "/v2/autopilot/scores"
|
|
body: "*"
|
|
|
|
# chainrpc/chainnotifier.proto
|
|
- selector: chainrpc.ChainNotifier.RegisterConfirmationsNtfn
|
|
post: "/v2/chainnotifier/register/confirmations"
|
|
body: "*"
|
|
- selector: chainrpc.ChainNotifier.RegisterSpendNtfn
|
|
post: "/v2/chainnotifier/register/spends"
|
|
body: "*"
|
|
- selector: chainrpc.ChainNotifier.RegisterBlockEpochNtfn
|
|
post: "/v2/chainnotifier/register/blocks"
|
|
body: "*"
|
|
|
|
# invoicesrpc/invoices.proto
|
|
- selector: invoicesrpc.Invoices.SubscribeSingleInvoice
|
|
get: "/v2/invoices/subscribe/{r_hash}"
|
|
- selector: invoicesrpc.Invoices.CancelInvoice
|
|
post: "/v2/invoices/cancel"
|
|
body: "*"
|
|
- selector: invoicesrpc.Invoices.AddHoldInvoice
|
|
post: "/v2/invoices/hodl"
|
|
body: "*"
|
|
- selector: invoicesrpc.Invoices.SettleInvoice
|
|
post: "/v2/invoices/settle"
|
|
body: "*"
|
|
|
|
# routerrpc/router.proto
|
|
- selector: routerrpc.Router.SendPaymentV2
|
|
post: "/v2/router/send"
|
|
body: "*"
|
|
- selector: routerrpc.Router.TrackPaymentV2
|
|
get: "/v2/router/track/{payment_hash}"
|
|
- selector: routerrpc.Router.EstimateRouteFee
|
|
post: "/v2/router/route/estimatefee"
|
|
body: "*"
|
|
- selector: routerrpc.Router.SendToRoute
|
|
# deprecated, no REST endpoint
|
|
- selector: routerrpc.Router.SendToRouteV2
|
|
post: "/v2/router/route/send"
|
|
body: "*"
|
|
- selector: routerrpc.Router.ResetMissionControl
|
|
post: "/v2/router/mc/reset"
|
|
body: "*"
|
|
- selector: routerrpc.Router.QueryMissionControl
|
|
get: "/v2/router/mc"
|
|
- selector: routerrpc.Router.QueryProbability
|
|
get: "/v2/router/mc/probability/{from_node}/{to_node}/{amt_msat}"
|
|
- selector: routerrpc.Router.BuildRoute
|
|
post: "/v2/router/route"
|
|
body: "*"
|
|
- selector: routerrpc.Router.SubscribeHtlcEvents
|
|
get: "/v2/router/htlcevents"
|
|
- selector: routerrpc.Router.SendPayment
|
|
# deprecated, no REST endpoint
|
|
- selector: routerrpc.Router.TrackPayment
|
|
# deprecated, no REST endpoint
|
|
- selector: routerrpc.HtlcInterceptor
|
|
# request streaming RPC, REST not supported
|
|
|
|
# signrpc/signer.proto
|
|
- selector: signrpc.Signer.SignOutputRaw
|
|
post: "/v2/signer/signraw"
|
|
body: "*"
|
|
- selector: signrpc.Signer.ComputeInputScript
|
|
post: "/v2/signer/inputscript"
|
|
body: "*"
|
|
- selector: signrpc.Signer.SignMessage
|
|
post: "/v2/signer/signmessage"
|
|
body: "*"
|
|
- selector: signrpc.Signer.VerifyMessage
|
|
post: "/v2/signer/verifymessage"
|
|
body: "*"
|
|
- selector: signrpc.Signer.DeriveSharedKey
|
|
post: "/v2/signer/sharedkey"
|
|
body: "*"
|
|
|
|
# verrpc/verrpc.proto
|
|
- selector: verrpc.Versioner.GetVersion
|
|
get: "/v2/versioner/version"
|
|
|
|
# walletrpc/walletkit.proto
|
|
- selector: walletrpc.WalletKit.ListUnspent
|
|
post: "/v2/wallet/utxos"
|
|
- selector: walletrpc.WalletKit.LeaseOutput
|
|
post: "/v2/wallet/utxos/lease"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.ReleaseOutput
|
|
post: "/v2/wallet/utxos/release"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.DeriveNextKey
|
|
post: "/v2/wallet/key/next"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.DeriveKey
|
|
post: "/v2/wallet/key"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.NextAddr
|
|
post: "/v2/wallet/address/next"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.PublishTransaction
|
|
post: "/v2/wallet/tx"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.SendOutputs
|
|
post: "/v2/wallet/send"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.EstimateFee
|
|
get: "/v2/wallet/estimatefee/{conf_target}"
|
|
- selector: walletrpc.WalletKit.PendingSweeps
|
|
get: "/v2/wallet/sweeps/pending"
|
|
- selector: walletrpc.WalletKit.BumpFee
|
|
post: "/v2/wallet/bumpfee"
|
|
body: "*"
|
|
- selector: walletrpc.WalletKit.ListSweeps
|
|
get: "/v2/wallet/sweeps"
|
|
- selector: walletrpc.WalletKit.LabelTransaction
|
|
post: "/v2/wallet/tx/label"
|
|
body: "*"
|
|
|
|
# watchtowerrpc/watchtower.proto
|
|
- selector: watchtowerrpc.Watchtower.GetInfo
|
|
get: "/v2/watchtower/server"
|
|
|
|
# wtclientrpc/wtclient.proto
|
|
- selector: wtclientrpc.WatchtowerClient.AddTower
|
|
post: "/v2/watchtower/client"
|
|
body: "*"
|
|
- selector: wtclientrpc.WatchtowerClient.RemoveTower
|
|
delete: "/v2/watchtower/client/{pubkey}"
|
|
- selector: wtclientrpc.WatchtowerClient.ListTowers
|
|
get: "/v2/watchtower/client"
|
|
- selector: wtclientrpc.WatchtowerClient.GetTowerInfo
|
|
get: "/v2/watchtower/client/info/{pubkey}"
|
|
- selector: wtclientrpc.WatchtowerClient.Stats
|
|
get: "/v2/watchtower/client/stats"
|
|
- selector: wtclientrpc.WatchtowerClient.Policy
|
|
get: "/v2/watchtower/client/policy"
|