Skip to main content

List and inspect contracts

hevn contracts list
hevn contracts list --yaml
hevn contracts get <contract-id>
hevn contracts preview --id <contract-id> --yaml
Print rendered contract body when previewing:
hevn contracts preview --id <contract-id> --document

Contract statuses

Common statuses:
pending_approval_by_contractor
pending_approval_by_client
active
completed
cancelled
paused

Upload an existing contract

Use contracts new when you already have a contract file and want to attach it as an active contract:
hevn contracts new \
  --contractor-email contractor@example.com \
  --document-path ./contract.pdf \
  --amount 1000 \
  --currency USD \
  --period monthly \
  --activation-at 2026-07-10 \
  --yaml
You can attach a previously uploaded document id:
hevn contracts new \
  --client-email client@example.com \
  --document-id <document-id> \
  --type custom \
  --field contractorName="Your Company" \
  --field clientName="Counterparty"
contracts new creates the contract with status=active and does not start the signing flow.

Generate a HEVN contract

Use contracts generate when HEVN should generate the contract from a backend template:
hevn contracts generate \
  --contractor-email contractor@example.com \
  --type default_contractor \
  --amount 1000 \
  --currency USD \
  --period monthly \
  --activation-at 2026-05-01 \
  --yaml
Generated contract types must start with default_. Use contracts new for uploaded existing contracts.

Hire shortcut

hevn hire is a shortcut for generating a default_contractor contract:
hevn hire \
  --contractor-email contractor@example.com \
  --job-title "Engineer" \
  --scope-description "Full-time engineering work" \
  --amount 5000 \
  --currency USD \
  --period monthly \
  --start-date 2026-05-01 \
  --yaml
Preview and approve:
hevn contracts preview --id <contract-id> --yaml
hevn contracts --id <contract-id> approve --yaml

Update terms and schedule

Contract creators can edit terms and invoice schedule:
hevn contracts update \
  --id <contract-id> \
  --period monthly \
  --activation-at 2026-07-10 \
  --field 'paymentTerms=Payment on the 10th for the previous month' \
  --yaml
Use --activation-at as the recurring invoice anchor date.

Payment methods

Set contract payment methods with repeatable JSON objects:
hevn contracts payment-methods \
  --id <contract-id> \
  --payment-method '{"accountType":"email","email":"contractor@example.com"}' \
  --yaml
Or pass a JSON array:
hevn contracts payment-methods \
  --id <contract-id> \
  --payment-methods-json '[{"accountType":"email","email":"contractor@example.com"}]'

Pause and delete

hevn contracts pause --id <contract-id>
hevn contracts delete --id <contract-id> --yes
Before creating a contract from a file, determine which party is the current HEVN user. Use --contractor-email when the current user is the client, and --client-email when the current user is the contractor.