docs.rs failed to build noah-sdk-1.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
noah-sdk-1.0.4
Noah SDK

A modern, type-safe Rust SDK for the Noah Business API.
Features
- ✅ Type Safety: Strongly typed models generated from OpenAPI schema
- ✅ Async Support: Built on async/await with
reqwest - ✅ Dual Authentication: Support for both JWT signing (
Api-Signature) and API key (X-Api-Key) authentication - ✅ Comprehensive Error Handling: Detailed error types with context
- ✅ Production Ready: Well-tested and documented
Installation
Add this to your Cargo.toml:
[]
= { = "1.0", = ["rustls-tls"] }
For native TLS:
[]
= { = "1.0", = ["native-tls"] }
Quick Start
Basic Example
use ;
use utilities_api;
async
Authentication
The SDK supports two authentication methods:
API Key Authentication
use ;
let mut config = default;
config.api_key = Some;
JWT Signature Authentication
let mut config = default;
config.bearer_access_token = Some;
// Or pass api_signature parameter to API calls
Both Methods
You can use both by setting both api_key and passing api_signature to individual API calls.
Examples
See the examples directory for more detailed examples:
Run an example:
API Coverage
The SDK provides typed methods for all major Noah API endpoints:
- Balances: Get account balances (
utilities_api::balances_get) - Channels: List and get channel information (
utilities_api::channels_sell_get,utilities_api::channels_channel_id_get) - Customers: Create, update, and retrieve customers (
onboarding_api::customers_customer_id_put,utilities_api::customers_customer_id_get) - Transactions: Prepare and execute sell transactions (
payout_api::transactions_sell_prepare_post,payout_api::transactions_sell_post) - Checkout: Create payin and payout checkout sessions (
payin_api::checkout_payin_crypto_post,payout_api::checkout_payout_fiat_post) - Onboarding: Create onboarding sessions and prefill customer data (
onboarding_api::onboarding_customer_id_post) - Payment Methods: List customer payment methods (
utilities_api::payment_methods_get) - Workflows: Create automated workflows (
payin_api::workflows_bank_deposit_to_onchain_address_post)
Error Handling
The SDK uses comprehensive error types for each API endpoint:
use utilities_api;
match balances_get.await
Configuration
Environment Selection
use Configuration;
// Sandbox (default)
let mut config = default;
config.base_path = "https://api.sandbox.noah.com/v1".to_string;
// Production
let mut config = default;
config.base_path = "https://api.noah.com/v1".to_string;
// Custom URL
let mut config = default;
config.base_path = "https://api.custom.com/v1".to_string;
Custom Configuration
let mut config = default;
config.base_path = "https://api.sandbox.noah.com/v1".to_string;
config.user_agent = Some;
config.api_key = Some;
Features
default: Enables native-tlsrustls-tls: Use rustls for TLSnative-tls: Use native TLS implementation (default)
License
Licensed under the MIT license (LICENSE).
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.