The papis_id key

Every Papis document should have a papis_id key created at random by the Papis database. This id should serve as a UUID-type key for the document (by default it contains a hash of the document keys and documents with a bit of randomness thrown in).

The papis_id is added automatically when using papis add or other commands, but is not updated after the initial creation of the document. If you manually add a document into your library, e.g. by creating an info.yaml file without Papis, you will have to clear the library cache in order to trigger a rebuild using

papis cache clear

When the library scans the document added manually, it will create a papis_id key automatically and it will edit your info.yaml file accordingly. We stress again that the database will edit the info.yaml file, without committing the changes (in the case that you are using a git repository), so that you can inspect the changes manually.

Please note that if you add a document manually with an existing papis_id to your library, Papis will not check if there is an id clash. A clash of ids has a very low probability and can be checked using the papis doctor command.

Use of papis_id in scripts

Since the papis_id key is a unique (ish) identifier, it is quite useful for scripts that do not depend on the actual path to the document in your system.

For instance you can get the papis_id of a document using

id=$(papis list --id query)

and subsequently use the id variable to trigger other commands. For example, you can open the files attached to the document using

papis open "papis_id:${id}"