Technical Reference
Environment Variables
Every environment variable with types, defaults, and descriptions
5 required | 87 optional
Required Variables
The application will fail to start without these.
| Variable | Type | Description |
|---|---|---|
SUPABASE_URL | str | |
SUPABASE_KEY | str | Anon key |
SUPABASE_SERVICE_ROLE_KEY | str | |
XPRESSDOCS_USERNAME | str | |
XPRESSDOCS_PASSWORD | str |
Optional Variables
| Variable | Type | Default | Description |
|---|---|---|---|
API_HOST | str | "0.0.0.0" | |
API_PORT | int | 8000 | |
API_RELOAD | bool | True | |
API_V1_PREFIX | str | "/api/v1" | |
SUPABASE_JWT_SECRET | Optional[str] | None | JWT secret for token verification |
CRM_RICOCHET_GREGG_BLANCHARD_API_TOKEN | `SecretStr | None` | None |
CRM_RICOCHET_NICK_SAKHA_API_TOKEN | `SecretStr | None` | None |
CRM_RICOCHET_DAVIS_AGENCY_API_TOKEN | `SecretStr | None` | None |
CARRIER_SCRUB_SUPPRESSION_GATE_TOKEN | `SecretStr | None` | None |
REDIS_BROKER_URL | str | "redis://localhost:6379/0" | |
REDIS_BACKEND_URL | str | "redis://localhost:6379/0" | |
DEBOUNCE_API_KEY | Optional[str] | None | |
DEBOUNCE_RATE_LIMIT | int | 10 | Requests per minute (adjust based on your plan) |
DEBOUNCE_BULK_UPLOAD_URL | str | "https://bulk.debounce.io/v1/upload/" | |
DEBOUNCE_BULK_STATUS_URL | str | "https://bulk.debounce.io/v1/status/" | |
DEBOUNCE_BULK_THRESHOLD | int | 50 | Switch to bulk API when batch > this size |
DEBOUNCE_BULK_MAX_BATCH_SIZE | int | 200000 | Max emails per upload |
DEBOUNCE_BULK_POLL_INTERVAL | int | 10 | Seconds between status checks |
DEBOUNCE_BULK_TIMEOUT | int | 21600 | 6 hours max wait for large batches |
USE_BULK_VERIFICATION | bool | True | Enable bulk verification for large batches |
OMNIVERIFIER_API_KEY | Optional[str] | None | |
OMNIVERIFIER_API_URL | str | "https://api.omniverifier.com/v1/validate" | |
REACHER_URL | Optional[str] | None | http://<kvm8-ip>:8080 |
REACHER_HEADER_SECRET | Optional[str] | None | |
MAILTESTER_API_KEY | Optional[str] | None | |
MAILTESTER_API_URL | str | "https://happy.mailtester.ninja/ninja" | |
MAILTESTER_RATE_PER_SEC | float | 5.0 | |
MAILTESTER_MAX_WORKERS | int | 8 | |
VERIFIER_PROVIDER | str | "debounce" | |
VERIFIER_HYBRID_DEBOUNCE_DOMAINS | str | "yahoo.com,aol.com,bellsouth.net,sbcglobal.net,att.net,ymail.com,rocketmail.com" | |
VERIFIER_AB_PERCENT | int | 100 | |
VERIFIER_DRY_RUN | bool | False | |
EMAIL_BISON_API_URL | str | "https://send.maverickmarketingllc.com/api" | |
EMAIL_BISON_API_KEY | Optional[str] | None | |
EMAIL_BISON_WORKSPACE_ID | Optional[str] | None | Default workspace ID |
SCRUB_SMTP_HOST | Optional[str] | None | |
SCRUB_SMTP_PORT | int | 587 | |
SCRUB_SMTP_USER | Optional[str] | None | |
SCRUB_SMTP_PASSWORD | Optional[str] | None | |
SCRUB_EMAIL_FROM | Optional[str] | None | e.g. "Maverick Marketing <ops@maverickmarketingllc.com>" |
SLACK_BOT_TOKEN | Optional[str] | None | |
SLACK_WEBHOOK_URL | Optional[str] | None | |
SLACK_SIGNING_SECRET | Optional[str] | None | |
SLACK_TEAM_ID | Optional[str] | None | |
SLACK_WORKSPACE_DOMAIN | Optional[str] | None | |
SLACK_TASKS_BOT_TOKEN | Optional[str] | None | |
SLACK_TASKS_SIGNING_SECRET | Optional[str] | None | |
SLACK_OPERATING_INTAKE_USER_TOKEN | Optional[str] | None | |
SLACK_OPERATING_INTAKE_BOT_USER_ID | Optional[str] | None | |
SLACK_OPERATING_INTAKE_AUTO_ENABLE | bool | False | |
SLACK_OPERATING_INTAKE_BRAIN_WRITEBACK_ENABLED | bool | False | |
SLACK_OPERATING_INTAKE_BRAIN_VAULT_PATH | str | "/Users/tommychavez/MaverickBrain" | |
OPERATING_QUEUE_MAINTENANCE_ENABLED | bool | False | I8: gates weekly queue-maintenance + auto-promotion beat tasks |
INFRA_SLACK_WEBHOOK_URL | Optional[str] | None | Infrastructure ops channel (falls back to SLACK_WEBHOOK_URL) |
WEBHOOK_SWEEP_ENFORCE | bool | False | |
INFRA_ALERT_SLACK_CHANNEL_ID | Optional[str] | None | #infastructure-management channel id — CSV file upload target (scrub_slack) |
BILLING_SLACK_WEBHOOK_URL | Optional[str] | None | Cheap Inboxes billing audit alerts (#billing) |
LEAD_DROUGHT_SLACK_WEBHOOK_URL | Optional[str] | None | Daily lead-drought digest (currently #performance) |
AUDIT_SLACK_WEBHOOK_URL | Optional[str] | None | |
BILLING_GMAIL_OAUTH_TOKEN_JSON | Optional[str] | None | JSON refresh-token blob from billing_oauth_setup.py |
BILLING_MASTER_SHEET_ID | str | "1DwPo6Jcvnv96p_8rV5CykRpg7w_4g50ZWrqxR5w57Co" | |
BILLING_MASTER_SHEET_RANGE | str | "A1:N1000" | |
OPS_INTAKE_IMPORT_TOKEN | Optional[str] | None | |
OPS_INTAKE_CLASSIFY_MODEL | str | "google/gemini-3-flash-preview" | |
OPS_INTAKE_LLM_FALLBACK_MODELS | Optional[str] | None | |
OPS_INTAKE_EMAIL_POLL_MINUTES | int | 5 | |
OPS_INTAKE_DRIVE_POLL_MINUTES | int | 10 | |
OPS_INTAKE_DEFAULT_RETENTION_DAYS | int | 90 | |
OPS_INTAKE_GOOGLE_WORKSPACE_DOMAIN | Optional[str] | None | |
OPS_INTAKE_GOOGLE_ADMIN_SUBJECT | Optional[str] | None | |
OPS_INTAKE_GOOGLE_SERVICE_ACCOUNT_JSON | Optional[str] | None | |
OPS_INTAKE_GOOGLE_SERVICE_ACCOUNT_SECRET_REF | Optional[str] | None | |
OPS_INTAKE_GMAIL_DEFAULT_QUERY | str | "-in:spam -in:trash" | |
OPS_INTAKE_FIREFLIES_API_KEY | Optional[str] | None | |
SECRET_KEY | str | "" | Must be set from environment, no default |
ALGORITHM | str | "HS256" | |
ACCESS_TOKEN_EXPIRE_MINUTES | int | 30 | |
ENVIRONMENT | str | "development" | |
ALLOWED_ORIGINS | str | "http://localhost:3000,http://localhost:3001" | |
WEBHOOK_SECRET | str | "" | Secret for webhook signature validation |
CSV_FIELD_SIZE_LIMIT_BYTES | int | "1024 * 1024" | 1MB per field |
SENTRY_DSN | Optional[str] | None | |
VERSION | str | "1.0.0" | |
MASTER_CONTACTS_API_URL | Optional[str] | None | |
MASTER_CONTACTS_API_KEY | Optional[str] | None | |
MASTER_CONTACTS_ENABLED | bool | False | Set to True when master contacts service is ready |
DATAMOON_CHANNEL_ENABLED | bool | True |
Environment Files
| File | Purpose | In Git? |
|---|---|---|
backend/.env | Local development | No |
backend/.env.production | Production (server-local) | No |
backend/.env.beta | Beta (server-local) | No |
frontend/apps/dashboard/.env.local | Local frontend | No |
frontend/apps/dashboard/.env.production | Production frontend | No |
frontend/apps/dashboard/.env.beta | Beta frontend | No |