lnd.xprv/lnrpc/rest-annotations.yaml
Andras Banki-Horvath 9aacc35989
lnrpc: add GetState to stateservice (v1/state)
This commit adds a new GetState call to the state service in order to
make leader election integrate simply with k8s using a readinessProbe.
2021-05-04 17:33:13 +02:00

342 lines
12 KiB
YAML

type: google.api.Service
config_version: 3
# Mapping for the grpc-gateway REST proxy.
# Please make sure to also update the `metadata.go` file when editing this file
# and adding a new client-streaming RPC!
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
post: "/v1/channels/acceptor"
body: "*"
- 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
post: "/v1/channels/transaction-stream"
body: "*"
- 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.GetMissionControlConfig
get: "/v2/router/mccfg"
- selector: routerroc.Router.SetMissionControlConfig
post: "/v2/router/mccfg"
body: "*"
- selector: routerrpc.Router.QueryProbability
get: "/v2/router/mc/probability/{from_node}/{to_node}/{amt_msat}"
- selector: routerrpc.Router.XImportMissionControl
post: "/v2/router/x/importhistory"
body: "*"
- 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
post: "/v2/router/htlcinterceptor"
body: "*"
- selector: routerrpc.UpdateChanStatus
post: "/v2/router/updatechanstatus"
body: "*"
# 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: "*"
# stateservice.proto
- selector: lnrpc.State.SubscribeState
get: "/v1/state/subscribe"
- selector: lnrpc.State.GetState
get: "/v1/state"
# 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.ListLeases
post: "/v2/wallet/utxos/leases"
- selector: walletrpc.WalletKit.DeriveNextKey
post: "/v2/wallet/key/next"
body: "*"
- selector: walletrpc.WalletKit.DeriveKey
post: "/v2/wallet/key"
body: "*"
- selector: walletrpc.WalletKit.ImportPublicKey
post: "/v2/wallet/key/import"
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: "*"
- selector: walletrpc.WalletKit.FundPsbt
post: "/v2/wallet/psbt/fund"
body: "*"
- selector: walletrpc.WalletKit.FinalizePsbt
post: "/v2/wallet/psbt/finalize"
body: "*"
- selector: walletrpc.WalletKit.ListAccounts
get: "/v2/wallet/accounts"
- selector: walletrpc.WalletKit.ImportAccount
post: "/v2/wallet/accounts/import"
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"