Skip to main content

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

ToolStorage locationPermissions
CLI~/.config/headshotmarketing-cli/auth.json0600
Browser extensionChrome extension storageEncrypted
VS Code extensionVS Code SecretStorageEncrypted
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