Docs
Endpoints · Signed links

GET/v1/file

The PDF itself, for whoever holds a fresh signed link.

What it does

The print-ready PDF, for a link that is fresh and unaltered: l the line, e the expiry (unix), s the signature. No key: take the link from GET /v1/print or the design.print_ready webhook. Answers Content-Disposition: attachment.

No key: the signed link is the credential.

curl "https://printwisp.com/v1/file?l=oln_41aa8c3e9d2b7f16&e=1759640400&s=9f2c4e1a7b3d8f05c6e2a9d1b4f7c3e8a5d2b9f6c1e4a7d3b8f5c2e9a6d1b4f7" \
  -o WEB-10021-1.pdf
<?php
file_put_contents('WEB-10021-1.pdf', file_get_contents('https://printwisp.com/v1/file?l=oln_41aa8c3e9d2b7f16&e=1759640400&s=9f2c4e1a7b3d8f05c6e2a9d1b4f7c3e8a5d2b9f6c1e4a7d3b8f5c2e9a6d1b4f7'));
// Node
const r = await fetch('https://printwisp.com/v1/file?l=oln_41aa8c3e9d2b7f16&e=1759640400&s=9f2c4e1a7b3d8f05c6e2a9d1b4f7c3e8a5d2b9f6c1e4a7d3b8f5c2e9a6d1b4f7');
require('fs').writeFileSync('WEB-10021-1.pdf', Buffer.from(await r.arrayBuffer()));
import requests

r = requests.get(
    "https://printwisp.com/v1/file?l=oln_41aa8c3e9d2b7f16&e=1759640400&s=9f2c4e1a7b3d8f05c6e2a9d1b4f7c3e8a5d2b9f6c1e4a7d3b8f5c2e9a6d1b4f7",
)
open("WEB-10021-1.pdf", "wb").write(r.content)

Parameters

ParameterTypeDescription
l requiredstringThe line (oln_…).
e requiredintegerWhen the link expires (unix seconds).
s requiredstringThe link's signature.

Response

200 application/pdf. The PDF.

HTTP/1.1 200
Content-Type: application/pdf

Errors

HTTPerrormessage
404plain textThis link has expired or is not valid. Ask the shop for a fresh one.
This link has expired or is not valid. Ask the shop for a fresh one.

← Every routeQuickstart →