Skip to content

Wajub CLI

The API, your webhooks and your sandbox, from the terminal.

The CLI is the same API you call from code, reachable without writing any. It does four things that a curl alias cannot: it keeps your keys out of your shell history, it forwards live events to localhost without a tunnel, it produces real sandbox payments on demand, and it installs Wajub's guidance into your coding agent.

The three commands that cover the first day
npm install -g @wajub/cli

wajub login
wajub doctor
wajub listen --forward-to localhost:3000/webhooks/wajub

Version 1.4.0 ships 91 commands across 15 topics. You will use about eight of them.

What it is good at

You want toCommand
Receive live events on your laptopwajub listen
Produce a real sandbox paymentwajub trigger
Read or write any resourcewajub payments list, wajub get /balance
Find out why nothing workswajub doctor
Teach your coding agent the APIwajub skills install

The command grammar

Topics are separated by a space, not a colon. wajub payments list, never wajub payments:list.

The same four verbs on every resource
wajub payments list --limit 5
wajub payments retrieve trx_CSUGajfv9xh0XQ5wu2lx
wajub customers create -d email=amina@example.com -d name="Amina Nkem"
wajub customers update cus_4tRb3nP8sZcXvK2mQ9wL -d name="Amina N."

Every topic below answers to the same shape, so learning one teaches you the rest.

TopicCommandsWhat it covers
payments6Create, process, cancel, list, retrieve, list refunds
customers9The four verbs, plus block, unblock, activate, deactivate, delete
invoices8The four verbs, plus send, mark-paid, cancel, delete
accounts6Sync connected accounts, including token
disputes6Accept, close, message, submit-evidence, list, retrieve
shield6Blocklist, settings, stats, block, unblock
webhooks6Endpoints, plus rotate-secret
beneficiaries, links5 eachThe four verbs, plus delete
refunds, transfers, events, skills3 eachCreate or install, list, retrieve
identity2Resolve a number to a name, validate an account
config2set and use, for profiles

Alongside them sit the commands that belong to no topic: balance, channels, countries, currencies, listen, trigger, login, logout, doctor, status, version, open, samples, feedback, and the raw get, post and delete.

Four flags exist on every command

FlagEffect
--jsonMachine readable output instead of a table
--profileUse a named profile rather than the default
--api-basePoint at another API host
--api-keyPass a key inline. Deprecated, it lands in your shell history

The last one is hidden from --help on purpose. Use wajub login, or WAJUB_API_KEY in CI.

When something is wrong, ask the CLI first

wajub doctor checks the seven things that break an integration, in order, and stops being vague about which one failed.

wajub doctor
Wajub CLI diagnostics

  Config  2 profile(s), default: sandbox
  Credentials  key=pk_test.mT9xW…  env=sandbox  base=https://api.wajub.com  source=profile
  API reachability  https://api.wajub.com (HTTP 200)
  Auth  API key accepted, Boutique Akwa (sandbox)
  Node.js  v22.11.0 (≥ 20 required)
  Environment  wajub-cli v1.4.0  node v22.11.0  darwin/arm64
  Support  last request id: fbe6773e9ce64f158af89e5740fc5817

Everything looks good.

That last line is the one to copy into a support message. The request id lets support find your call in the logs without asking you for anything else.

Check which profile you are on before anything destructive

wajub config lists your profiles with the keys masked and marks the default. A delete or a transfers create run against the wrong profile moves real money.

What did you think of this content?