Contents

← API docs

Offline outcomes

Every answer unforged-nib and unforged-loupe can give, with the exit code, the JSON value and what to do next.

Exit codes

Every command

ValueExitMeaning and next step
00

It ran, and the answer is on standard output.

11

It couldn’t run, for example a file it couldn’t read. The reason is on standard error.

22

The command or one of its options was mistyped.

33

The licence stopped it. The state below says why, and standard error what to do.

44

The licence is fine but doesn’t include this command.

Licence states

state in licence --json; the state row of licence

ValueExitMeaning and next step
active0

The licence is in its term. Nothing to do.

renew_soon0

The term ends within 30 days. Talk to whoever gave you the licence about renewing.

grace0

The term has ended and everything keeps working for 14 more days, until works_until. Renew before then.

trial0

A trial licence. Results carry "trial": true.

short_lived0

A short-lived licence given to you by one of our customers. It ends on valid_until, with no grace days; ask them for a new one.

not_started3

The licence starts on a later day. Wait until valid_from.

expired3

The licence has ended. Ask whoever gave it to you for a new one.

not_licensed4

The licence doesn’t include this command. includes lists what it does include.

clock_rolled_back3

The computer’s clock reads earlier than the last time the program ran. Put the clock right and run it again.

clock_before_issue3

The computer’s clock reads earlier than the day the licence was issued. Put the clock right and run it again.

invalid3

The licence text was changed, cut short or isn’t ours. Download it again, or ask for a new one.

missing3

No licence was found. Set UNFORGED_LICENSE, or pass --license-file.

needs_newer_version3

The licence is newer than this release of the program. Install the latest release.

Decisions

decision from unforged-nib verify; verdict from unforged-loupe check

ValueExitMeaning and next step
AUTO_APPROVE0

A clear match, above the line your policy sets for approving on its own. Nothing to do.

APPROVE0

Probably genuine, but not clear enough to pass on its own. File it, or spot-check it.

FLAG0

It could go either way. Have a person look at it.

FAILED0

Strong signs of a different hand or a copied or altered document. Have a person look at every one; it is never a rejection on its own.

UNREADABLE0

The image is too poor to check. Ask for a better copy.

NO_SIGNATURE0

No signature was found. Check it was the right file, or whether it was left unsigned.

Who a result was run under

Every JSON result

ValueExitMeaning and next step
licensed_to–

The customer the licence was issued to.

licensed_for–

On a short-lived licence, the client it was given to. Absent on any other licence.

trial–

true on a trial licence. Absent otherwise.