diff --git a/tools/clis/supermetrics.js b/tools/clis/supermetrics.js index 26b4165..2b505a1 100755 --- a/tools/clis/supermetrics.js +++ b/tools/clis/supermetrics.js @@ -9,17 +9,18 @@ if (!API_KEY) { } async function api(method, path, body) { - const separator = path.includes('?') ? '&' : '?' - const url = `${BASE_URL}${path}${separator}api_key=${API_KEY}` + const url = `${BASE_URL}${path}` + const headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'x-api-key': API_KEY, + } if (args['dry-run']) { - return { _dry_run: true, method, url: url.replace(API_KEY, '***'), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: body || undefined } + return { _dry_run: true, method, url, headers: { ...headers, 'x-api-key': '***' }, body: body || undefined } } const res = await fetch(url, { method, - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - }, + headers, body: body ? JSON.stringify(body) : undefined, }) const text = await res.text() diff --git a/tools/clis/zoominfo.js b/tools/clis/zoominfo.js index 6ab1aaf..01aa181 100755 --- a/tools/clis/zoominfo.js +++ b/tools/clis/zoominfo.js @@ -92,7 +92,14 @@ async function main() { break } const token = await authenticate() - result = { jwt: token } + if (args['show-token']) { + result = { jwt: token } + } else { + const masked = token.length > 12 + ? token.slice(0, 6) + '…' + token.slice(-6) + : '***' + result = { jwt: masked, hint: 'Use --show-token to reveal full JWT' } + } break } @@ -188,7 +195,7 @@ async function main() { result = { error: 'Unknown command', usage: { - auth: 'auth — authenticate and get JWT token', + auth: 'auth [--show-token] — authenticate and get JWT token (masked by default)', contacts: { search: 'contacts search [--job-title ] [--company ] [--location ] [--seniority ] [--department ] [--page ]', enrich: 'contacts enrich --email | --person-id ',