- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore) - Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md) - Remove executable permissions from web assets (HTML, CSS, JS files) - Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt) - Remove executable permissions from source code files across all apps - Add executable permissions to Python
1.6 KiB
1.6 KiB
title, description
| title | description |
|---|---|
| API Authentication | Understanding and implementing API authentication |
API Authentication
All AITBC API endpoints require authentication using API keys.
Getting API Keys
Production
- Visit the AITBC Dashboard
- Create an account or sign in
- Navigate to API Keys section
- 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 registrationtest-tenant- Default tenant ID for testing
Using API Keys
HTTP Header
X-API-Key: your_api_key_here
X-Tenant-ID: your_tenant_id # Optional for multi-tenant
Environment Variable
export AITBC_API_KEY="your_api_key_here"
SDK Configuration
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
from aitbc.exceptions import AuthenticationError
try:
client.jobs.create({...})
except AuthenticationError:
print("Invalid API key")
Key Management
View Your Keys
aitbc api-keys list
Revoke a Key
aitbc api-keys revoke <key_id>
Regenerate a Key
aitbc api-keys regenerate <key_id>