Coming Soon - API authentication is currently in development. This documentation is prepared in advance for the upcoming release.
Overview
API keys will provide programmatic access to Watchman Tower. Each key will:- Grant account access with configurable permissions
- Remain active until revoked
- Be revocable at any time
- Require secure storage
Base URL
All API requests will be made to:Authentication Method
API keys will be passed via the Authorization header:Key Format
API keys will follow this format:Generating API Keys
API keys will be generated through:- Dashboard: Settings → API Keys → Generate New Key
- API Endpoint: Create keys programmatically (requires existing key)
- Name: Descriptive identifier (e.g., “CI/CD Pipeline”, “Production”)
- Permissions: Read-only or full access
- Expiration: Optional expiration date
- IP Whitelist: Optional IP restrictions (Enterprise)
Key Permissions
Read-Only Access
Will allow:- List and view monitors
- Get monitor status and metrics
- View incidents and history
- Access uptime data
- Creating or modifying monitors
- Changing alert settings
- Managing team members
- Deleting resources
Full Access
Will allow:- All read operations
- Create, update, delete monitors
- Configure alerts and integrations
- Manage account settings
Security Best Practices
Environment Variables
Store keys in environment variables, never in source code
Separate Keys
Use different keys for different services and environments
Minimum Permissions
Use read-only keys when write access isn’t needed
Regular Rotation
Rotate keys every 90 days or when team members change
Monitor Usage
Review key usage regularly and revoke unused keys
Never Commit
Add keys to .gitignore and use placeholder values in version control
Rate Limiting
API keys will be subject to rate limits based on your plan:| Plan | Rate Limit |
|---|---|
| Free | 100 requests/hour |
| Solo | 500 requests/hour |
| Team | 2,000 requests/hour |
| Stack | 10,000 requests/hour |
Error Responses
Authentication errors will return standard HTTP status codes:| Status | Code | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Invalid or missing API key |
| 403 | FORBIDDEN | Insufficient permissions for operation |
| 429 | RATE_LIMITED | Rate limit exceeded |
