Skip to content

Command-line client

Documentation index for AI agents: https://angelwood.io/docs/llms.txt

angelwood-cli is the REST API from a terminal: list your clients, projects, tasks and invoices, and create clients and tasks. It needs Node.js 20 or later and has no dependencies.

Install

npm install -g github:NewOdysseyConsulting/angelwood-cli

This installs it straight from the source repository.

Sign in

Create an API key in Angelwood under Settings, then run:

angelwood login

The key is checked with Angelwood before it is saved to ~/.config/angelwood/config.json, which only you can read. In scripts and CI, set the ANGELWOOD_API_KEY environment variable instead.

Commands

Command What it does
angelwood whoami Shows the organization and user the key belongs to
angelwood clients list Lists clients. Option: --search
angelwood clients get <id> Shows one client
angelwood clients create --name <name> Creates a client. Options: --email, --phone, --address
angelwood projects list Lists projects. Options: --client, --status
angelwood tasks list Lists tasks. Options: --project, --status
angelwood tasks create --project <id> --title <title> Creates a task. Options: --description, --priority, --due
angelwood invoices list Lists invoices. Options: --client, --project, --status
angelwood logout Removes the saved key

Every list command also takes --limit (1 to 100, default 25), --offset and --json.

Examples

# Which invoices are overdue?
angelwood invoices list --status overdue

# Add a task to project 42, due at the end of the year
angelwood tasks create --project 42 --title "Send the Q4 report" --priority high --due 2026-12-31

# Total outstanding balance on sent invoices, with jq
angelwood invoices list --status sent --limit 100 --json | jq '[.data[].balance_due] | add'

Notes

  • Creating clients and tasks needs a key with write permission.
  • Nothing can be updated or deleted from the command line.
  • The limit is 120 API requests per minute per organization.

View this page as Markdown