Grammar
The basic structure of a Latch URL islatch://, followed by a (possibly empty) Domain, finally ending with an absolute /-separated path. This is summarized below.
latch cp and latch mv), the latch prefix can be omitted, resulting in a URL of the form ://<DOMAIN><PATH>.
Domains
A domain can be in one of several different forms. Each of these domains affect the way that the path following it is resolved.<ACCOUNT_ID>.account: Resolve the path as if it were a path in the specified account.<BUCKET_NAME>.mount: Resolve the path as if it were a path in the mounted S3 bucket specified. (Note: the bucket must be mounted to Latch first)<NODE_ID>.node: Resolve the path as if it were a relative path under the specified node.shared.<ACCOUNT_ID>.account: Resolve the path as if it were shared in the specified account.
latch:///...) and the domain shared are both valid. When used, their behavior depends on the workspace that the user is currently in.
Specifically, latch:///... is treated the same as latch://<CURRENT_WORKSPACE>.account/..., and latch://shared/... is treated the same as latch://shared.<CURRENT_WORKSPACE>.account/....
Paths
The path following the domain, if provided, must be an absolute/-separated path. In <NODE_ID>.node domains, the path is resolved relative to the node specified. In <BUCKET_NAME>.mount domains, the path is resolved as if it were an S3 key in the mounted bucket.
A path can be omitted altogether (i.e. a path of the form latch://<DOMAIN>) if and only if the domain is of the form <NODE_ID>.node.
Whether or not a path ends with a slash does not affect the file or directory it resolves to. However, it may affect the result of a command that uses it (e.g. latch cp).
Examples
latch:///points to root directory in the user’s current workspace.latch://71.account/bottomly/genomic.fna/points to the file at/bottomly/genomic.fnain the account with id71.latch://shared/results/summary.csvpoints to the file at/results/summary.csv, that was shared to the user’s current workspace.latch://mount-test.mount/11211a11.fastqpoints to the file with key11211a11.fastqin the S3 bucketmount-test.latch://2698497.nodepoints to the node with ID2698497.latch://2698497.node/file.txtpoints to the child of the node with ID2698497calledfile.txt.