Account & Sign-in
HeadshotMarketing uses the Burdenoff global auth service for identity. One account gives you access to every product in the Burdenoff family, with role-based access control scoped per workspace.
Sign-in methods
Web app
Navigate to https://app.headshotmarketing.com and sign in with your Burdenoff credentials.
CLI
# Install the CLI
npm install -g @headshotmarketing/cli
# Log in via OAuth2 device-code flow
headshotmarketing auth login
This opens a browser for approval. The CLI stores your token at ~/.config/headshotmarketing-cli/auth.json (mode 0600). Platform tokens auto-refresh (1h lifetime); workspace tokens auto-refresh (15min lifetime).
Confirm with:
headshotmarketing auth status
headshotmarketing workspace list
headshotmarketing workspace set <workspace-id>
Node SDK
import { HeadshotmarketingSDK } from '@headshotmarketing/sdk';
const sdk = new HeadshotmarketingSDK();
// Sign in with email/password
await sdk.auth.signIn({ username: '[email protected]', password: 'secret' });
// Fetch workspaces and issue workspace token
const workspaces = await sdk.auth.fetchWorkspaces();
await sdk.auth.issueWorkspaceToken(workspaces[0].id, workspaces[0].organizationId);
Python SDK
from headshotmarketing_sdk import HeadshotmarketingSDK
sdk = HeadshotmarketingSDK()
await sdk.auth.sign_in(email="[email protected]", password="secret")
Auth commands (CLI)
headshotmarketing auth status # Check current auth state
headshotmarketing auth token # Print platform access token
headshotmarketing auth token --workspace # Print workspace token
headshotmarketing auth refresh # Force token refresh
headshotmarketing auth logout # Clear stored tokens
headshotmarketing workspace list # List available workspaces
headshotmarketing workspace current # Show current workspace
headshotmarketing workspace set <id> # Switch workspace (re-issues token)
Token storage
| Tool | Storage location | Permissions |
|---|---|---|
| CLI | ~/.config/headshotmarketing-cli/auth.json | 0600 |
| Browser extension | Chrome extension storage | Encrypted |
| VS Code extension | VS Code SecretStorage | Encrypted |
| MCP server | ~/.config/headshotmarketing-mcp/ | 0o600 |
Workspace context
Every request after login is scoped to a workspace. The workspace token is issued automatically when you set a workspace. All data — campaigns, contacts, content, automation — lives inside the workspace boundary.
Next steps
- Environment Selection — target prod, alpha, or local
- CLI Reference — full command list
- Node SDK — programmatic access