Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 3s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 2s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 3s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 2s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Deploy to Testnet / deploy-testnet (push) Successful in 1m12s
Documentation Validation / validate-docs (push) Failing after 8s
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Successful in 2m6s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Failing after 4s
P2P Network Verification / p2p-verification (push) Successful in 4s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 32s
Package Tests / Python package - aitbc-core (push) Successful in 14s
Package Tests / Python package - aitbc-crypto (push) Successful in 12s
Package Tests / Python package - aitbc-sdk (push) Successful in 9s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 8s
Package Tests / JavaScript package - aitbc-token (push) Successful in 17s
Python Tests / test-python (push) Successful in 15s
Security Scanning / security-scan (push) Successful in 27s
Node Failover Simulation / failover-test (push) Successful in 7s
Multi-Node Stress Testing / stress-test (push) Successful in 6s
Cross-Node Transaction Testing / transaction-test (push) Successful in 4s
- Add SQLCipher encryption for ait-mainnet database with configurable flag - Add db_encryption_enabled and db_encryption_key_path config settings - Implement encryption key loading and PRAGMA key setup via connection events - Add shutdown_db function for proper database cleanup - Export middleware classes in aitbc/__init__.py - Fix import path in sync.py for settings - Remove duplicate agent documentation from docs
86 lines
1.6 KiB
Markdown
86 lines
1.6 KiB
Markdown
---
|
|
title: API Authentication
|
|
description: Understanding and implementing API authentication
|
|
---
|
|
|
|
# API Authentication
|
|
|
|
All AITBC API endpoints require authentication using API keys.
|
|
|
|
## Getting API Keys
|
|
|
|
### Production
|
|
1. Visit the [AITBC Dashboard](https://dashboard.aitbc.io)
|
|
2. Create an account or sign in
|
|
3. Navigate to API Keys section
|
|
4. Generate a new API key
|
|
|
|
### Testing/Development
|
|
For integration tests and development, these test keys are available:
|
|
- `${CLIENT_API_KEY}` - For client API access
|
|
- `${MINER_API_KEY}` - For miner registration
|
|
- `test-tenant` - Default tenant ID for testing
|
|
|
|
## Using API Keys
|
|
|
|
### HTTP Header
|
|
```http
|
|
X-API-Key: your_api_key_here
|
|
X-Tenant-ID: your_tenant_id # Optional for multi-tenant
|
|
```
|
|
|
|
### Environment Variable
|
|
```bash
|
|
export AITBC_API_KEY="your_api_key_here"
|
|
```
|
|
|
|
### SDK Configuration
|
|
```python
|
|
from aitbc import AITBCClient
|
|
|
|
client = AITBCClient(api_key="your_api_key")
|
|
```
|
|
|
|
## Security Best Practices
|
|
|
|
- Never commit API keys to version control
|
|
- Use environment variables in production
|
|
- Rotate keys regularly
|
|
- Use different keys for different environments
|
|
- Monitor API key usage
|
|
|
|
## Rate Limits
|
|
|
|
API requests are rate-limited based on your plan:
|
|
- Free: 60 requests/minute
|
|
- Pro: 600 requests/minute
|
|
- Enterprise: 6000 requests/minute
|
|
|
|
## Error Handling
|
|
|
|
```python
|
|
from aitbc.exceptions import AuthenticationError
|
|
|
|
try:
|
|
client.jobs.create({...})
|
|
except AuthenticationError:
|
|
print("Invalid API key")
|
|
```
|
|
|
|
## Key Management
|
|
|
|
### View Your Keys
|
|
```bash
|
|
aitbc api-keys list
|
|
```
|
|
|
|
### Revoke a Key
|
|
```bash
|
|
aitbc api-keys revoke <key_id>
|
|
```
|
|
|
|
### Regenerate a Key
|
|
```bash
|
|
aitbc api-keys regenerate <key_id>
|
|
```
|