SnapPDF
endpoint

Metadata

POST /api/v1/metadata

Read or update the PDF info dict (title, author, subject, keywords, producer, creator, dates).

credits: 1returns: application/json (action=get) or application/pdf (action=set)

Parameters

NameTypeRequiredDescription
filemultipart filerequiredSource PDF.
action"get" | "set"requiredRead or write.
metadataJSON stringoptionalRequired when action=set.
replacebooleanoptionalClear fields not present in `metadata`.

Examples

curl
curl -X POST https://api.snappdf.au/api/v1/metadata \
  -H "Authorization: Bearer $SNAPPDF_API_KEY" \
  -F "file=@doc.pdf" -F "action=set" \
  -F 'metadata={"title":"Quarterly Report","author":"Finance Team"}' \
  -o tagged.pdf
JavaScript
await snap.pdf.setMetadata({ file: bytes, metadata: { title: 'Quarterly Report', author: 'Finance Team' } });
Python
snap.pdf.set_metadata(file=bytes, metadata={"title": "Quarterly Report", "author": "Finance Team"})
PHP
$snap->pdf->setMetadata(file: $bytes, metadata: ['title' => 'Quarterly Report', 'author' => 'Finance Team']);
Ruby
snap.pdf.set_metadata(file: bytes, metadata: { title: 'Quarterly Report', author: 'Finance Team' })
Go
client.SetMetadata(ctx, &snappdf.SetMetadataInput{File: bytes, Metadata: map[string]any{"title": "Quarterly Report", "author": "Finance Team"}})