mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-20 10:47:29 +03:00
2d1b53c597
[ci skip]
95 lines
2.2 KiB
Markdown
95 lines
2.2 KiB
Markdown
% hledger-api(1) hledger-api _version_
|
|
% _author_
|
|
% _monthyear_
|
|
|
|
_web_({{
|
|
_docversionlinks_({{hledger-api}})
|
|
}})
|
|
|
|
_man_({{
|
|
# NAME
|
|
|
|
hledger-api - web API server for the hledger accounting tool
|
|
|
|
# SYNOPSIS
|
|
|
|
`hledger-api [OPTIONS]`\
|
|
`hledger api -- [OPTIONS]`
|
|
|
|
# DESCRIPTION
|
|
|
|
_hledgerdescription_
|
|
}})
|
|
|
|
hledger-api is a simple web API server, intended to support
|
|
client-side web apps operating on hledger data. It comes with a series
|
|
of simple client-side app examples, which drive its evolution.
|
|
|
|
Like hledger, it reads _files_
|
|
For more about this see hledger(1), hledger_journal(5) etc.
|
|
|
|
The server listens on IP address 127.0.0.1, accessible only to local requests, by default.
|
|
You can change this with `--host`, eg `--host 0.0.0.0` to listen on all addresses.
|
|
Note there is no other access control, and hledger-api allows file browsing,
|
|
so on shared machines you will certainly need to put it behind an authenticating proxy to restrict access.
|
|
|
|
You can change the TCP port it listens on (default: 8001) with `-p PORT`.
|
|
|
|
API methods look like:
|
|
```
|
|
/api/v1/accountnames
|
|
/api/v1/transactions
|
|
/api/v1/prices
|
|
/api/v1/commodities
|
|
/api/v1/accounts
|
|
/api/v1/accounts/ACCTNAME
|
|
```
|
|
See `/api/swagger.json` for a full list in Swagger 2.0 format.
|
|
(Or you can run `hledger-api --swagger` to print this in the console.)
|
|
|
|
hledger-api also serves files, from the current directory by default,
|
|
and the `/` path will also show a directory listing.
|
|
This is convenient for serving client-side web code, in addition to the server-side api.
|
|
|
|
# OPTIONS
|
|
|
|
Note: if invoking hledger-api as a hledger subcommand, write `--` before options as shown above.
|
|
|
|
`-f --file=FILE`
|
|
: use a different input file. For stdin, use - (default: `$LEDGER_FILE` or `$HOME/.hledger.journal`)
|
|
|
|
`-d --static-dir=DIR`
|
|
: serve files from a different directory (default: `.`)
|
|
|
|
`--host=IPADDR`
|
|
: listen on this IP address (default: 127.0.0.1)
|
|
|
|
`-p --port=PORT`
|
|
: listen on this TCP port (default: 8001)
|
|
|
|
`--swagger`
|
|
: print API docs in Swagger 2.0 format, and exit
|
|
|
|
`--version`
|
|
: show version
|
|
|
|
`-h --help`
|
|
: show usage
|
|
|
|
|
|
_man_({{
|
|
|
|
# ENVIRONMENT
|
|
|
|
_LEDGER_FILE_
|
|
|
|
# FILES
|
|
|
|
Reads _files_
|
|
|
|
# BUGS
|
|
|
|
The need to precede options with `--` when invoked from hledger is awkward.
|
|
|
|
}})
|