API Keys Guide
Learn how to manage API authentication using the Wacht Rust SDK. API keys allow you to securely authenticate applications and services with the Wacht API.Prerequisites
Before using any API methods, you must initialize the SDK:List API Auth Apps
Get all API authentication apps in your deployment.Include Inactive Apps
Get API Auth App
Retrieve a specific API auth app by name.Create API Auth App
Create a new API authentication app with rate limiting.Basic App Creation
With Rate Limiting
Update API Auth App
Modify an existing API auth app configuration.Delete API Auth App
Remove an API auth app entirely.List API Keys
Get all keys for a specific app.Include Inactive Keys
Create API Key
Generate a new API key for an app.Basic Key Creation
With Permissions and Expiration
Revoke API Key
Revoke an API key when it’s no longer needed.Rotate API Key
Rotate an API key while maintaining the same permissions.Rate Limiting
Configure rate limits for your API auth apps to control usage.Rate Limit Units
Rate Limit Modes
Example Rate Limit Configuration
Builder Methods
ListApiAuthAppsBuilder
include_inactive(bool)- Include inactive apps in results
ListApiKeysBuilder
include_inactive(bool)- Include inactive keys in results
Request Models
CreateApiAuthAppRequest
name(String) - App name (required)description(Option<String>) - App descriptionrate_limits(Option<Vec<RateLimit>>) - Rate limit configuration
UpdateApiAuthAppRequest
name(Option<String>) - New app namedescription(Option<String>) - New descriptionis_active(Option<bool>) - Active statusrate_limits(Option<Vec<RateLimit>>) - New rate limits
CreateApiKeyRequest
name(String) - Key name (required)key_prefix(String) - Key prefix (required)permissions(Option<Vec<String>>) - Permission scopesexpires_at(Option<DateTime<Utc>>) - Expiration timestampmetadata(Option<Value>) - Additional metadata
RevokeApiKeyRequest
key_id(String) - Key ID to revoke (required)reason(Option<String>) - Revocation reason
RotateApiKeyRequest
key_id(String) - Key ID to rotate (required)
Error Handling
All SDK methods return aResult<T, Error>:
Related
- Installation - SDK setup
- Settings Guide - Deployment configuration
- API Reference - Backend API - Full API docs
