# Rust API client for bark-rest-client
A simple REST API for barkd, a wallet daemon for integrating bitcoin payments into your app over HTTP. Supports self-custodial Lightning, Ark, and on-chain out of the box.
barkd is a long-running daemon best suited for always-on or high-connectivity environments like nodes, servers, desktops, and point-of-sale terminals.
All endpoints return JSON. Amounts are denominated in satoshis.
## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.
- API version: 0.2.5
- Package version: 0.2.5
- Generator version: 7.17.0
- Build package: `org.openapitools.codegen.languages.RustClientCodegen`
## Installation
Put the package under your project folder in a directory named `bark-rest-client` and add the following to `Cargo.toml` under `[dependencies]`:
```
bark-rest-client = { path = "./bark-rest-client" }
```
## Documentation for API Endpoints
All URIs are relative to *http://localhost*
*BitcoinApi* | [**tip**](docs/BitcoinApi.md#tip) | **GET** /api/v1/bitcoin/tip | Get bitcoin tip height
*BoardsApi* | [**board_all**](docs/BoardsApi.md#board_all) | **POST** /api/v1/boards/board-all | Board all on-chain bitcoin
*BoardsApi* | [**board_amount**](docs/BoardsApi.md#board_amount) | **POST** /api/v1/boards/board-amount | Board a specific amount
*BoardsApi* | [**get_pending_boards**](docs/BoardsApi.md#get_pending_boards) | **GET** /api/v1/boards/pending | List pending boards
*DefaultApi* | [**ping**](docs/DefaultApi.md#ping) | **GET** /ping | Ping
*ExitsApi* | [**exit_claim_all**](docs/ExitsApi.md#exit_claim_all) | **POST** /api/v1/exits/claim/all | Claim all exited VTXOs
*ExitsApi* | [**exit_claim_vtxos**](docs/ExitsApi.md#exit_claim_vtxos) | **POST** /api/v1/exits/claim/vtxos | Claim specific exited VTXOs
*ExitsApi* | [**exit_progress**](docs/ExitsApi.md#exit_progress) | **POST** /api/v1/exits/progress | Progress exits
*ExitsApi* | [**exit_start_all**](docs/ExitsApi.md#exit_start_all) | **POST** /api/v1/exits/start/all | Start exit for all VTXOs
*ExitsApi* | [**exit_start_vtxos**](docs/ExitsApi.md#exit_start_vtxos) | **POST** /api/v1/exits/start/vtxos | Start exit for specific VTXOs
*ExitsApi* | [**get_all_exit_status**](docs/ExitsApi.md#get_all_exit_status) | **GET** /api/v1/exits/status | List all exit statuses
*ExitsApi* | [**get_exit_status_by_vtxo_id**](docs/ExitsApi.md#get_exit_status_by_vtxo_id) | **GET** /api/v1/exits/status/{vtxo_id} | Get exit status
*FeesApi* | [**board_fee**](docs/FeesApi.md#board_fee) | **GET** /api/v1/fees/board | Estimate board fee
*FeesApi* | [**lightning_receive_fee**](docs/FeesApi.md#lightning_receive_fee) | **GET** /api/v1/fees/lightning/receive | Estimate Lightning receive fee
*FeesApi* | [**lightning_send_fee**](docs/FeesApi.md#lightning_send_fee) | **GET** /api/v1/fees/lightning/pay | Estimate Lightning send fee
*FeesApi* | [**offboard_all_fee**](docs/FeesApi.md#offboard_all_fee) | **GET** /api/v1/fees/offboard-all | Estimate offboard-all fee
*FeesApi* | [**onchain_fee_rates**](docs/FeesApi.md#onchain_fee_rates) | **GET** /api/v1/fees/onchain | Get on-chain fee rates
*FeesApi* | [**send_onchain_fee**](docs/FeesApi.md#send_onchain_fee) | **GET** /api/v1/fees/send-onchain | Estimate send-onchain fee
*HistoryApi* | [**list**](docs/HistoryApi.md#list) | **GET** /api/v1/history | Get wallet history
*HistoryApi* | [**update_metadata**](docs/HistoryApi.md#update_metadata) | **POST** /api/v1/history/{id}/metadata | Patch movement metadata
*LightningApi* | [**cancel_receive**](docs/LightningApi.md#cancel_receive) | **DELETE** /api/v1/lightning/receives/{identifier} | Cancel a pending receive
*LightningApi* | [**generate_invoice**](docs/LightningApi.md#generate_invoice) | **POST** /api/v1/lightning/receives/invoice | Create a BOLT11 invoice
*LightningApi* | [**get_receive_status**](docs/LightningApi.md#get_receive_status) | **GET** /api/v1/lightning/receives/{identifier} | Get receive status
*LightningApi* | [**list_receive_statuses**](docs/LightningApi.md#list_receive_statuses) | **GET** /api/v1/lightning/receives | List all pending receive statuses
*LightningApi* | [**pay**](docs/LightningApi.md#pay) | **POST** /api/v1/lightning/pay | Send a Lightning payment
*NotificationsApi* | [**websocket_ticket**](docs/NotificationsApi.md#websocket_ticket) | **GET** /api/v1/notifications/ws/ticket | Create a websocket ticket
*OnchainApi* | [**onchain_address**](docs/OnchainApi.md#onchain_address) | **POST** /api/v1/onchain/addresses/next | Generate on-chain address
*OnchainApi* | [**onchain_balance**](docs/OnchainApi.md#onchain_balance) | **GET** /api/v1/onchain/balance | Get on-chain balance
*OnchainApi* | [**onchain_drain**](docs/OnchainApi.md#onchain_drain) | **POST** /api/v1/onchain/drain | Drain on-chain wallet
*OnchainApi* | [**onchain_send**](docs/OnchainApi.md#onchain_send) | **POST** /api/v1/onchain/send | Send on-chain payment
*OnchainApi* | [**onchain_send_many**](docs/OnchainApi.md#onchain_send_many) | **POST** /api/v1/onchain/send-many | Send to multiple addresses
*OnchainApi* | [**onchain_sync**](docs/OnchainApi.md#onchain_sync) | **POST** /api/v1/onchain/sync | Sync on-chain wallet
*OnchainApi* | [**onchain_transactions**](docs/OnchainApi.md#onchain_transactions) | **GET** /api/v1/onchain/transactions | List on-chain transactions
*OnchainApi* | [**onchain_utxos**](docs/OnchainApi.md#onchain_utxos) | **GET** /api/v1/onchain/utxos | List on-chain UTXOs
*WalletApi* | [**address**](docs/WalletApi.md#address) | **POST** /api/v1/wallet/addresses/next | Generate Ark address
*WalletApi* | [**ark_info**](docs/WalletApi.md#ark_info) | **GET** /api/v1/wallet/ark-info | Get Ark server info
*WalletApi* | [**balance**](docs/WalletApi.md#balance) | **GET** /api/v1/wallet/balance | Get wallet balance
*WalletApi* | [**connected**](docs/WalletApi.md#connected) | **GET** /api/v1/wallet/connected | Check server connection
*WalletApi* | [**create_wallet**](docs/WalletApi.md#create_wallet) | **POST** /api/v1/wallet/create | Create a wallet
*WalletApi* | [**get_vtxo**](docs/WalletApi.md#get_vtxo) | **GET** /api/v1/wallet/vtxos/{id} | Get VTXO detail
*WalletApi* | [**get_vtxo_encoded**](docs/WalletApi.md#get_vtxo_encoded) | **GET** /api/v1/wallet/vtxos/{id}/encoded | Get encoded VTXO
*WalletApi* | [**history**](docs/WalletApi.md#history) | **GET** /api/v1/wallet/history | Get wallet history (deprecated)
*WalletApi* | [**import_vtxo**](docs/WalletApi.md#import_vtxo) | **POST** /api/v1/wallet/import-vtxo | Import a VTXO
*WalletApi* | [**mnemonic**](docs/WalletApi.md#mnemonic) | **GET** /api/v1/wallet/mnemonic | Get wallet mnemonic
*WalletApi* | [**movements**](docs/WalletApi.md#movements) | **GET** /api/v1/wallet/movements | List movements (deprecated)
*WalletApi* | [**next_round**](docs/WalletApi.md#next_round) | **GET** /api/v1/wallet/next-round | Get next round time
*WalletApi* | [**offboard_all**](docs/WalletApi.md#offboard_all) | **POST** /api/v1/wallet/offboard/all | Offboard all VTXOs
*WalletApi* | [**offboard_vtxos**](docs/WalletApi.md#offboard_vtxos) | **POST** /api/v1/wallet/offboard/vtxos | Offboard specific VTXOs
*WalletApi* | [**peek_address**](docs/WalletApi.md#peek_address) | **GET** /api/v1/wallet/addresses/index/{index} | Get Ark address by index
*WalletApi* | [**pending_rounds**](docs/WalletApi.md#pending_rounds) | **GET** /api/v1/wallet/rounds | List round participations
*WalletApi* | [**refresh_all**](docs/WalletApi.md#refresh_all) | **POST** /api/v1/wallet/refresh/all | Refresh all VTXOs
*WalletApi* | [**refresh_counterparty**](docs/WalletApi.md#refresh_counterparty) | **POST** /api/v1/wallet/refresh/counterparty | Refresh received VTXOs
*WalletApi* | [**refresh_vtxos**](docs/WalletApi.md#refresh_vtxos) | **POST** /api/v1/wallet/refresh/vtxos | Refresh specific VTXOs
*WalletApi* | [**send**](docs/WalletApi.md#send) | **POST** /api/v1/wallet/send | Send a payment
*WalletApi* | [**send_onchain**](docs/WalletApi.md#send_onchain) | **POST** /api/v1/wallet/send-onchain | Send on-chain from Ark balance
*WalletApi* | [**sync**](docs/WalletApi.md#sync) | **POST** /api/v1/wallet/sync | Sync wallet
*WalletApi* | [**sync_mailbox**](docs/WalletApi.md#sync_mailbox) | **POST** /api/v1/wallet/sync/mailbox | Sync mailbox only
*WalletApi* | [**vtxos**](docs/WalletApi.md#vtxos) | **GET** /api/v1/wallet/vtxos | List VTXOs
*WalletApi* | [**wallet_delete**](docs/WalletApi.md#wallet_delete) | **DELETE** /api/v1/wallet |
*WalletApi* | [**wallet_exists**](docs/WalletApi.md#wallet_exists) | **GET** /api/v1/wallet |
## Documentation For Models
- [Address](docs/Address.md)
- [ArkAddressResponse](docs/ArkAddressResponse.md)
- [ArkInfo](docs/ArkInfo.md)
- [BadRequestError](docs/BadRequestError.md)
- [Balance](docs/Balance.md)
- [BarkNetwork](docs/BarkNetwork.md)
- [BitcoindAuth](docs/BitcoindAuth.md)
- [BitcoindAuthOneOf](docs/BitcoindAuthOneOf.md)
- [BitcoindAuthOneOf1](docs/BitcoindAuthOneOf1.md)
- [BitcoindAuthOneOf1UserPass](docs/BitcoindAuthOneOf1UserPass.md)
- [BitcoindAuthOneOfCookie](docs/BitcoindAuthOneOfCookie.md)
- [BlockRef](docs/BlockRef.md)
- [BoardFees](docs/BoardFees.md)
- [BoardRequest](docs/BoardRequest.md)
- [ChainSourceConfig](docs/ChainSourceConfig.md)
- [ChainSourceConfigOneOf](docs/ChainSourceConfigOneOf.md)
- [ChainSourceConfigOneOf1](docs/ChainSourceConfigOneOf1.md)
- [ChainSourceConfigOneOf1Esplora](docs/ChainSourceConfigOneOf1Esplora.md)
- [ChainSourceConfigOneOfBitcoind](docs/ChainSourceConfigOneOfBitcoind.md)
- [ChildTransactionInfo](docs/ChildTransactionInfo.md)
- [ConnectedResponse](docs/ConnectedResponse.md)
- [CreateWalletRequest](docs/CreateWalletRequest.md)
- [CreateWalletResponse](docs/CreateWalletResponse.md)
- [EncodedVtxoResponse](docs/EncodedVtxoResponse.md)
- [ExitAwaitingDeltaState](docs/ExitAwaitingDeltaState.md)
- [ExitClaimAllRequest](docs/ExitClaimAllRequest.md)
- [ExitClaimInProgressState](docs/ExitClaimInProgressState.md)
- [ExitClaimResponse](docs/ExitClaimResponse.md)
- [ExitClaimVtxosRequest](docs/ExitClaimVtxosRequest.md)
- [ExitClaimableState](docs/ExitClaimableState.md)
- [ExitClaimedState](docs/ExitClaimedState.md)
- [ExitError](docs/ExitError.md)
- [ExitErrorOneOf](docs/ExitErrorOneOf.md)
- [ExitErrorOneOf1](docs/ExitErrorOneOf1.md)
- [ExitErrorOneOf10](docs/ExitErrorOneOf10.md)
- [ExitErrorOneOf11](docs/ExitErrorOneOf11.md)
- [ExitErrorOneOf12](docs/ExitErrorOneOf12.md)
- [ExitErrorOneOf13](docs/ExitErrorOneOf13.md)
- [ExitErrorOneOf14](docs/ExitErrorOneOf14.md)
- [ExitErrorOneOf15](docs/ExitErrorOneOf15.md)
- [ExitErrorOneOf16](docs/ExitErrorOneOf16.md)
- [ExitErrorOneOf17](docs/ExitErrorOneOf17.md)
- [ExitErrorOneOf18](docs/ExitErrorOneOf18.md)
- [ExitErrorOneOf19](docs/ExitErrorOneOf19.md)
- [ExitErrorOneOf2](docs/ExitErrorOneOf2.md)
- [ExitErrorOneOf20](docs/ExitErrorOneOf20.md)
- [ExitErrorOneOf21](docs/ExitErrorOneOf21.md)
- [ExitErrorOneOf22](docs/ExitErrorOneOf22.md)
- [ExitErrorOneOf23](docs/ExitErrorOneOf23.md)
- [ExitErrorOneOf24](docs/ExitErrorOneOf24.md)
- [ExitErrorOneOf25](docs/ExitErrorOneOf25.md)
- [ExitErrorOneOf3](docs/ExitErrorOneOf3.md)
- [ExitErrorOneOf4](docs/ExitErrorOneOf4.md)
- [ExitErrorOneOf5](docs/ExitErrorOneOf5.md)
- [ExitErrorOneOf6](docs/ExitErrorOneOf6.md)
- [ExitErrorOneOf7](docs/ExitErrorOneOf7.md)
- [ExitErrorOneOf8](docs/ExitErrorOneOf8.md)
- [ExitErrorOneOf9](docs/ExitErrorOneOf9.md)
- [ExitProcessingState](docs/ExitProcessingState.md)
- [ExitProgressRequest](docs/ExitProgressRequest.md)
- [ExitProgressResponse](docs/ExitProgressResponse.md)
- [ExitProgressStatus](docs/ExitProgressStatus.md)
- [ExitStartRequest](docs/ExitStartRequest.md)
- [ExitStartResponse](docs/ExitStartResponse.md)
- [ExitStartState](docs/ExitStartState.md)
- [ExitState](docs/ExitState.md)
- [ExitStateOneOf](docs/ExitStateOneOf.md)
- [ExitStateOneOf1](docs/ExitStateOneOf1.md)
- [ExitStateOneOf2](docs/ExitStateOneOf2.md)
- [ExitStateOneOf3](docs/ExitStateOneOf3.md)
- [ExitStateOneOf4](docs/ExitStateOneOf4.md)
- [ExitStateOneOf5](docs/ExitStateOneOf5.md)
- [ExitStatusRequest](docs/ExitStatusRequest.md)
- [ExitTransactionPackage](docs/ExitTransactionPackage.md)
- [ExitTransactionStatus](docs/ExitTransactionStatus.md)
- [ExitTx](docs/ExitTx.md)
- [ExitTxOrigin](docs/ExitTxOrigin.md)
- [ExitTxOriginOneOf](docs/ExitTxOriginOneOf.md)
- [ExitTxOriginOneOf1](docs/ExitTxOriginOneOf1.md)
- [ExitTxOriginOneOf2](docs/ExitTxOriginOneOf2.md)
- [ExitTxStatus](docs/ExitTxStatus.md)
- [ExitTxStatusOneOf](docs/ExitTxStatusOneOf.md)
- [ExitTxStatusOneOf1](docs/ExitTxStatusOneOf1.md)
- [ExitTxStatusOneOf2](docs/ExitTxStatusOneOf2.md)
- [ExitTxStatusOneOf3](docs/ExitTxStatusOneOf3.md)
- [ExitTxStatusOneOf4](docs/ExitTxStatusOneOf4.md)
- [FeeEstimateQuery](docs/FeeEstimateQuery.md)
- [FeeEstimateResponse](docs/FeeEstimateResponse.md)
- [FeeInfo](docs/FeeInfo.md)
- [FeeSchedule](docs/FeeSchedule.md)
- [ImportVtxoRequest](docs/ImportVtxoRequest.md)
- [InternalServerError](docs/InternalServerError.md)
- [InvoiceInfo](docs/InvoiceInfo.md)
- [LightningInvoiceRequest](docs/LightningInvoiceRequest.md)
- [LightningPayRequest](docs/LightningPayRequest.md)
- [LightningPayResponse](docs/LightningPayResponse.md)
- [LightningReceiveFees](docs/LightningReceiveFees.md)
- [LightningReceiveInfo](docs/LightningReceiveInfo.md)
- [LightningSendFees](docs/LightningSendFees.md)
- [MailboxSyncResponse](docs/MailboxSyncResponse.md)
- [MnemonicResponse](docs/MnemonicResponse.md)
- [Movement](docs/Movement.md)
- [MovementDestination](docs/MovementDestination.md)
- [MovementStatus](docs/MovementStatus.md)
- [MovementSubsystem](docs/MovementSubsystem.md)
- [MovementTimestamp](docs/MovementTimestamp.md)
- [NextRoundStart](docs/NextRoundStart.md)
- [NotFoundError](docs/NotFoundError.md)
- [OffboardAllFeeEstimateQuery](docs/OffboardAllFeeEstimateQuery.md)
- [OffboardAllRequest](docs/OffboardAllRequest.md)
- [OffboardFees](docs/OffboardFees.md)
- [OffboardResult](docs/OffboardResult.md)
- [OffboardVtxosRequest](docs/OffboardVtxosRequest.md)
- [OnchainBalance](docs/OnchainBalance.md)
- [OnchainDrainRequest](docs/OnchainDrainRequest.md)
- [OnchainFeeRatesResponse](docs/OnchainFeeRatesResponse.md)
- [OnchainSendManyRequest](docs/OnchainSendManyRequest.md)
- [OnchainSendRequest](docs/OnchainSendRequest.md)
- [PaymentMethod](docs/PaymentMethod.md)
- [PendingBoardInfo](docs/PendingBoardInfo.md)
- [PendingRoundInfo](docs/PendingRoundInfo.md)
- [PpmExpiryFeeEntry](docs/PpmExpiryFeeEntry.md)
- [RefreshFees](docs/RefreshFees.md)
- [RefreshRequest](docs/RefreshRequest.md)
- [RoundParticipationInfo](docs/RoundParticipationInfo.md)
- [RoundStatus](docs/RoundStatus.md)
- [RoundStatusOneOf](docs/RoundStatusOneOf.md)
- [RoundStatusOneOf1](docs/RoundStatusOneOf1.md)
- [RoundStatusOneOf2](docs/RoundStatusOneOf2.md)
- [RoundStatusOneOf3](docs/RoundStatusOneOf3.md)
- [RoundStatusOneOf4](docs/RoundStatusOneOf4.md)
- [RoundStatusOneOf5](docs/RoundStatusOneOf5.md)
- [Send](docs/Send.md)
- [SendOnchainFeeEstimateQuery](docs/SendOnchainFeeEstimateQuery.md)
- [SendOnchainRequest](docs/SendOnchainRequest.md)
- [SendRequest](docs/SendRequest.md)
- [SendResponse](docs/SendResponse.md)
- [TipResponse](docs/TipResponse.md)
- [TransactionInfo](docs/TransactionInfo.md)
- [UtxoInfo](docs/UtxoInfo.md)
- [VtxoInfo](docs/VtxoInfo.md)
- [VtxoRequestInfo](docs/VtxoRequestInfo.md)
- [VtxoStateInfo](docs/VtxoStateInfo.md)
- [VtxoStateInfoOneOf](docs/VtxoStateInfoOneOf.md)
- [VtxoStateInfoOneOf1](docs/VtxoStateInfoOneOf1.md)
- [VtxoStateInfoOneOf2](docs/VtxoStateInfoOneOf2.md)
- [VtxosQuery](docs/VtxosQuery.md)
- [WalletDeleteRequest](docs/WalletDeleteRequest.md)
- [WalletDeleteResponse](docs/WalletDeleteResponse.md)
- [WalletExistsResponse](docs/WalletExistsResponse.md)
- [WalletNotification](docs/WalletNotification.md)
- [WalletNotificationOneOf](docs/WalletNotificationOneOf.md)
- [WalletNotificationOneOf1](docs/WalletNotificationOneOf1.md)
- [WalletNotificationOneOf2](docs/WalletNotificationOneOf2.md)
- [WalletTxInfo](docs/WalletTxInfo.md)
- [WalletVtxoInfo](docs/WalletVtxoInfo.md)
To get access to the crate's generated documentation, use:
```
cargo doc --open
```
## Author
hello@second.tech