npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@nickchristensen/ppls

v1.2.0

Published

A node-based paperless-ngx cli

Readme

ppls

A node-based paperless-ngx cli

oclif Version Downloads/week

Quickstart

$ npm install -g @nickchristensen/ppls
$ ppls config set hostname http://your-paperless-installation
$ ppls config set token your-api-auth-token
$ ppls --help

Configuration

Configuration options can be specified via config file ($XDG_CONFIG_HOME/ppls/config.json), environment variables, or command flags.

| Config file | Env var | Flag | Notes | | ------------ | ------------------ | --------------- | --------------------------------------------------------------------------------------- | | hostname | PPLS_HOSTNAME | --hostname | Required | | token | PPLS_TOKEN | --token | Required | | headers | PPLS_HEADERS | --header | --header and PPLS_HEADERS use Key=Value (repeat --header for multiple headers). | | dateFormat | PPLS_DATE_FORMAT | --date-format | uses date-fns format tokens |

Precedence: command flags > environment variables > config file.

Config file management

See the ppls config commands (init, set, get, list, remove) to manage the config file.

Examples:

$ ppls config init
$ ppls config set hostname https://paperless.example.com
$ ppls config set token your-api-token
$ ppls config set headers '{"X-Api-Key":"token"}'
$ ppls config list
$ ppls config get hostname

Commands

ppls config get KEY

Get a config value

USAGE
  $ ppls config get KEY [--json]

ARGUMENTS
  KEY  Config key

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Get a config value

EXAMPLES
  $ ppls config get hostname

See code: src/commands/config/get.ts

ppls config init

Initialize a config file

USAGE
  $ ppls config init [--json] [-f]

FLAGS
  -f, --force  Overwrite existing config file

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Initialize a config file

EXAMPLES
  $ ppls config init

See code: src/commands/config/init.ts

ppls config list

List config values

USAGE
  $ ppls config list [--plain | --json | --table]

FLAGS
  --plain  Format output as plain text.
  --table  Format output as table.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List config values

EXAMPLES
  $ ppls config list

See code: src/commands/config/list.ts

ppls config remove KEY

Remove a config value

USAGE
  $ ppls config remove KEY [--json]

ARGUMENTS
  KEY  Config key

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Remove a config value

EXAMPLES
  $ ppls config remove token

See code: src/commands/config/remove.ts

ppls config set KEY VALUE

Set a config value

USAGE
  $ ppls config set KEY VALUE [--json]

ARGUMENTS
  KEY    Config key
  VALUE  Config value

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Set a config value

EXAMPLES
  $ ppls config set hostname https://paperless.example.com

  $ ppls config set headers '{"X-Api-Key":"token"}'

See code: src/commands/config/set.ts

ppls correspondents add NAME

Create a correspondent

USAGE
  $ ppls correspondents add NAME [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  NAME  Correspondent name

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Create a correspondent

EXAMPLES
  $ ppls correspondents add "Acme Corp"

See code: src/commands/correspondents/add.ts

ppls correspondents delete ID

Delete a correspondent

USAGE
  $ ppls correspondents delete ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [-y]

ARGUMENTS
  ID  Correspondent id

FLAGS
  -y, --yes  Skip confirmation prompt

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Delete a correspondent

EXAMPLES
  $ ppls correspondents delete 123

See code: src/commands/correspondents/delete.ts

ppls correspondents list

List correspondents

USAGE
  $ ppls correspondents list [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--id-in <value>... | --name-contains <value>] [--page <value> --page-size <value>]
    [--sort <value>]

FLAGS
  --page=<value>       Page number to fetch
  --page-size=<value>  [default: disable pagination, all results] Number of results per page
  --sort=<value>       Sort results by the provided field

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

FILTER FLAGS
  --id-in=<value>...       Filter by id list (repeatable or comma-separated)
  --name-contains=<value>  Filter by name substring

DESCRIPTION
  List correspondents

EXAMPLES
  $ ppls correspondents list

See code: src/commands/correspondents/list.ts

ppls correspondents show ID

Show correspondent details

USAGE
  $ ppls correspondents show ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  ID  Correspondent id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Show correspondent details

EXAMPLES
  $ ppls correspondents show 123

See code: src/commands/correspondents/show.ts

ppls correspondents update ID

Update a correspondent

USAGE
  $ ppls correspondents update ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--name <value>]

ARGUMENTS
  ID  Correspondent id

FLAGS
  --name=<value>  Correspondent name

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Update a correspondent

EXAMPLES
  $ ppls correspondents update 123 --name "Acme Corp"

See code: src/commands/correspondents/update.ts

ppls custom-fields add NAME

Create a custom field

USAGE
  $ ppls custom-fields add NAME --data-type boolean|date|integer|number|monetary|text|url|document link|select|long
    text [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json | --table] [--token
    <value>] [--option <value>...]

ARGUMENTS
  NAME  Custom field name

FLAGS
  --data-type=<option>  (required) Custom field data type
                        <options: boolean|date|integer|number|monetary|text|url|document link|select|long text>
  --option=<value>...   Select option label (repeatable)

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Create a custom field

EXAMPLES
  $ ppls custom-fields add "Due Date" --data-type date

See code: src/commands/custom-fields/add.ts

ppls custom-fields delete ID

Delete a custom field

USAGE
  $ ppls custom-fields delete ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [-y]

ARGUMENTS
  ID  Custom field id

FLAGS
  -y, --yes  Skip confirmation prompt

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Delete a custom field

EXAMPLES
  $ ppls custom-fields delete 123

See code: src/commands/custom-fields/delete.ts

ppls custom-fields list

List custom fields

USAGE
  $ ppls custom-fields list [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--id-in <value>... | --name-contains <value>] [--page <value> --page-size <value>]
    [--sort <value>]

FLAGS
  --page=<value>       Page number to fetch
  --page-size=<value>  [default: disable pagination, all results] Number of results per page
  --sort=<value>       Sort results by the provided field

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

FILTER FLAGS
  --id-in=<value>...       Filter by id list (repeatable or comma-separated)
  --name-contains=<value>  Filter by name substring

DESCRIPTION
  List custom fields

EXAMPLES
  $ ppls custom-fields list

See code: src/commands/custom-fields/list.ts

ppls custom-fields show ID

Show custom field details

USAGE
  $ ppls custom-fields show ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  ID  Custom field id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Show custom field details

EXAMPLES
  $ ppls custom-fields show 123

See code: src/commands/custom-fields/show.ts

ppls custom-fields update ID

Update a custom field

USAGE
  $ ppls custom-fields update ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--data-type boolean|date|integer|number|monetary|text|url|document link|select|long
    text] [--name <value>] [--option <value>...]

ARGUMENTS
  ID  Custom field id

FLAGS
  --data-type=<option>  Custom field data type
                        <options: boolean|date|integer|number|monetary|text|url|document link|select|long text>
  --name=<value>        Custom field name
  --option=<value>...   Select option label (repeatable)

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Update a custom field

EXAMPLES
  $ ppls custom-fields update 123 --name "Due Date"

See code: src/commands/custom-fields/update.ts

ppls document-types add NAME

Create a document type

USAGE
  $ ppls document-types add NAME [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  NAME  Document type name

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Create a document type

EXAMPLES
  $ ppls document-types add "Invoice"

See code: src/commands/document-types/add.ts

ppls document-types delete ID

Delete a document type

USAGE
  $ ppls document-types delete ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [-y]

ARGUMENTS
  ID  Document type id

FLAGS
  -y, --yes  Skip confirmation prompt

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Delete a document type

EXAMPLES
  $ ppls document-types delete 123

See code: src/commands/document-types/delete.ts

ppls document-types list

List document types

USAGE
  $ ppls document-types list [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--id-in <value>... | --name-contains <value>] [--page <value> --page-size <value>]
    [--sort <value>]

FLAGS
  --page=<value>       Page number to fetch
  --page-size=<value>  [default: disable pagination, all results] Number of results per page
  --sort=<value>       Sort results by the provided field

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

FILTER FLAGS
  --id-in=<value>...       Filter by id list (repeatable or comma-separated)
  --name-contains=<value>  Filter by name substring

DESCRIPTION
  List document types

EXAMPLES
  $ ppls document-types list

See code: src/commands/document-types/list.ts

ppls document-types show ID

Show document type details

USAGE
  $ ppls document-types show ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  ID  Document type id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Show document type details

EXAMPLES
  $ ppls document-types show 123

See code: src/commands/document-types/show.ts

ppls document-types update ID

Update a document type

USAGE
  $ ppls document-types update ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--name <value>]

ARGUMENTS
  ID  Document type id

FLAGS
  --name=<value>  Document type name

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Update a document type

EXAMPLES
  $ ppls document-types update 123 --name "Invoice"

See code: src/commands/document-types/update.ts

ppls documents add [PATH]

Upload one or more documents. Supports multiple arguments or a glob.

USAGE
  $ ppls documents add [PATH...] [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain |
    --json | --table] [--token <value>] [--archive-serial-number <value>] [--correspondent <value>] [--created <value>]
    [--document-type <value>] [--storage-path <value>] [--tag <value>...] [--title <value>]

ARGUMENTS
  [PATH...]  Document file path(s)

FLAGS
  --archive-serial-number=<value>  Archive serial number
  --correspondent=<value>          Correspondent id
  --created=<value>                Document created date-time
  --document-type=<value>          Document type id
  --storage-path=<value>           Storage path id
  --tag=<value>...                 Tag id (repeatable)
  --title=<value>                  Document title

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Upload one or more documents. Supports multiple arguments or a glob.

EXAMPLES
  $ ppls documents add ./receipt.pdf --title "Receipt"

See code: src/commands/documents/add.ts

ppls documents delete ID

Delete a document

USAGE
  $ ppls documents delete ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [-y]

ARGUMENTS
  ID  Document id

FLAGS
  -y, --yes  Skip confirmation prompt

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Delete a document

EXAMPLES
  $ ppls documents delete 123

See code: src/commands/documents/delete.ts

ppls documents download [ID]

Download one or more documents

USAGE
  $ ppls documents download [ID...] [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json
    | --table] [--token <value>] [--original] [-o <value> | --output-dir <value>]

ARGUMENTS
  [ID...]  Document id (repeatable or comma-separated)

FLAGS
  -o, --output=<value>      Output file path (single document)
      --original            Download original file
      --output-dir=<value>  Output directory (multiple documents)

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Download one or more documents

EXAMPLES
  $ ppls documents download --output document.pdf 123

  $ ppls documents download --output-dir ./downloads 123 456

  $ ppls documents download --output-dir ./downloads 123,456

See code: src/commands/documents/download.ts

ppls documents list

List documents

USAGE
  $ ppls documents list [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--page <value> --page-size <value>] [--sort <value>] [--added-after YYYY-MM-DD|ISO-8601
    | [--id-in <value>... | --name-contains <value>]] [--added-before YYYY-MM-DD|ISO-8601 | ] [--created-after
    YYYY-MM-DD|ISO-8601 | ] [--created-before YYYY-MM-DD|ISO-8601 | ] [--modified-after YYYY-MM-DD|ISO-8601 | ]
    [--modified-before YYYY-MM-DD|ISO-8601 | ] [--no-correspondent | [--correspondent <value>... | ] |
    [--correspondent-not <value>... | ] | ] [--no-document-type | [--document-type <value>... | ] | [--document-type-not
    <value>... | ] | ] [--no-tag | --tag <value>... | --tag-all <value>... | --tag-not <value>... | ]

FLAGS
  --page=<value>       Page number to fetch
  --page-size=<value>  [default: disable pagination, all results] Number of results per page
  --sort=<value>       Sort results by the provided field

FILTER FLAGS
  --added-after=YYYY-MM-DD|ISO-8601      Filter by added date (YYYY-MM-DD) or datetime (ISO 8601) >= value
  --added-before=YYYY-MM-DD|ISO-8601     Filter by added date (YYYY-MM-DD) or datetime (ISO 8601) <= value
  --correspondent=<value>...             Filter by correspondent ids (repeatable or comma-separated)
  --correspondent-not=<value>...         Exclude correspondent ids (repeatable or comma-separated)
  --created-after=YYYY-MM-DD|ISO-8601    Filter by created date (YYYY-MM-DD) or datetime (ISO 8601) >= value
  --created-before=YYYY-MM-DD|ISO-8601   Filter by created date (YYYY-MM-DD) or datetime (ISO 8601) <= value
  --document-type=<value>...             Filter by document type ids (repeatable or comma-separated)
  --document-type-not=<value>...         Exclude document type ids (repeatable or comma-separated)
  --id-in=<value>...                     Filter by id list (repeatable or comma-separated)
  --modified-after=YYYY-MM-DD|ISO-8601   Filter by modified date (YYYY-MM-DD) or datetime (ISO 8601) >= value
  --modified-before=YYYY-MM-DD|ISO-8601  Filter by modified date (YYYY-MM-DD) or datetime (ISO 8601) <= value
  --name-contains=<value>                Filter by name substring
  --no-correspondent                     Filter documents with no correspondent
  --no-document-type                     Filter documents with no document type
  --no-tag                               Filter documents with no tags
  --tag=<value>...                       Filter by tag ids (repeatable or comma-separated, OR)
  --tag-all=<value>...                   Filter by tag ids (repeatable or comma-separated, AND)
  --tag-not=<value>...                   Exclude tag ids (repeatable or comma-separated)

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  List documents

EXAMPLES
  $ ppls documents list

See code: src/commands/documents/list.ts

ppls documents show ID

Show document details

USAGE
  $ ppls documents show ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  ID  Document id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Show document details

EXAMPLES
  $ ppls documents show 123

See code: src/commands/documents/show.ts

ppls documents update ID

Update a document

USAGE
  $ ppls documents update ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--archive-serial-number <value>] [--content <value>] [--correspondent <value>]
    [--created <value>] [--document-type <value>] [--storage-path <value>] [--tag <value>...] [--title <value>]

ARGUMENTS
  ID  Document id

FLAGS
  --archive-serial-number=<value>  Archive serial number
  --content=<value>                Document content
  --correspondent=<value>          Correspondent id
  --created=<value>                Document created date
  --document-type=<value>          Document type id
  --storage-path=<value>           Storage path id
  --tag=<value>...                 Tag id (repeatable)
  --title=<value>                  Document title

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Update a document

EXAMPLES
  $ ppls documents update 123 --title "Receipt"

See code: src/commands/documents/update.ts

ppls help [COMMAND]

Display help for ppls.

USAGE
  $ ppls help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for ppls.

See code: @oclif/plugin-help

ppls profile

Show profile details

USAGE
  $ ppls profile [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Show profile details

ALIASES
  $ ppls whoami

EXAMPLES
  $ ppls profile

See code: src/commands/profile.ts

ppls tags add NAME

Create a tag

USAGE
  $ ppls tags add NAME [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--color <value>] [--inbox] [--parent <value>]

ARGUMENTS
  NAME  Tag name

FLAGS
  --color=<value>   Tag color (hex value)
  --inbox           Mark tag as an inbox tag
  --parent=<value>  Parent tag id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Create a tag

EXAMPLES
  $ ppls tags add Inbox

See code: src/commands/tags/add.ts

ppls tags delete ID

Delete a tag

USAGE
  $ ppls tags delete ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [-y]

ARGUMENTS
  ID  Tag id

FLAGS
  -y, --yes  Skip confirmation prompt

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Delete a tag

EXAMPLES
  $ ppls tags delete 123

See code: src/commands/tags/delete.ts

ppls tags list

List tags

USAGE
  $ ppls tags list [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--id-in <value>... | --name-contains <value>] [--page <value> --page-size <value>]
    [--sort <value>]

FLAGS
  --page=<value>       Page number to fetch
  --page-size=<value>  [default: disable pagination, all results] Number of results per page
  --sort=<value>       Sort results by the provided field

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

FILTER FLAGS
  --id-in=<value>...       Filter by id list (repeatable or comma-separated)
  --name-contains=<value>  Filter by name substring

DESCRIPTION
  List tags

EXAMPLES
  $ ppls tags list

See code: src/commands/tags/list.ts

ppls tags show ID

Show tag details

USAGE
  $ ppls tags show ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>]

ARGUMENTS
  ID  Tag id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Show tag details

EXAMPLES
  $ ppls tags show 123

See code: src/commands/tags/show.ts

ppls tags update ID

Update a tag

USAGE
  $ ppls tags update ID [--date-format <value>] [--header <value>...] [--hostname <value>] [--plain | --json |
    --table] [--token <value>] [--color <value>] [--inbox] [--name <value>] [--parent <value>]

ARGUMENTS
  ID  Tag id

FLAGS
  --color=<value>   Tag color (hex value)
  --[no-]inbox      Mark tag as an inbox tag
  --name=<value>    Tag name
  --parent=<value>  Parent tag id

GLOBAL FLAGS
  --date-format=<value>  [default: yyyy-MM-dd, env: PPLS_DATE_FORMAT] Format output dates using a template.
  --json                 Format output as json.
  --plain                Format output as plain text.
  --table                Format output as table.

ENVIRONMENT FLAGS
  --header=<value>...  [env: PPLS_HEADERS] Add a custom request header (repeatable, format: Key=Value)
  --hostname=<value>   [env: PPLS_HOSTNAME] Paperless-ngx base URL
  --token=<value>      [env: PPLS_TOKEN] Paperless-ngx API token

DESCRIPTION
  Update a tag

EXAMPLES
  $ ppls tags update 123 --name Inbox

See code: src/commands/tags/update.ts