Base URL
BugViper is self-hosted, so your base URL is the domain where you’ve deployed the service. All examples in this documentation use the placeholder:your-bugviper-domain.com with your actual deployment domain (or localhost:8000 during local development). Every API endpoint is served under the /api/v1/ prefix.
API Versioning
The current API version is v1. Prefix every endpoint path with/api/v1/. For example, to fetch your profile, you call:
/api/v2/) so existing integrations remain stable.
Authentication
BugViper uses Firebase Authentication with GitHub OAuth. Most endpoints are protected and require you to pass a valid Firebase ID Token as a Bearer token in theAuthorization header:
POST /api/v1/auth/login directly with a GitHub access token. Firebase ID Tokens are JWTs that expire after 1 hour; the BugViper frontend refreshes them automatically.
The following endpoints are public and do not require an Authorization header:
If you’re building an integration against the BugViper API, the dashboard’s auth flow issues Firebase ID Tokens automatically. You can extract the current token from the Firebase SDK (
getIdToken()) and pass it directly in your requests without implementing a separate OAuth flow.Content Type
All request and response bodies are JSON. Include the following header on every request that sends a body:Interactive Documentation
BugViper ships with two interactive API explorers at your deployment URL:- Swagger UI —
https://your-bugviper-domain.com/docs— try requests directly in the browser with a built-in form interface. - ReDoc —
https://your-bugviper-domain.com/redoc— a clean, three-panel reference layout ideal for reading.
https://your-bugviper-domain.com/openapi.json.
Quick Reference
The table below lists every available endpoint grouped by resource. All routes except those marked Public require anAuthorization: Bearer <token> header.