Product and API guide

Marketplace templates

What ready-made designs provide

Marketplace provides PDFgine-designed starting points for proposals, reports, presentations and similar documents. After adding a template to your workspace, you can edit its text, data, colors and layout in Generator.

For now, only PDFgine publishes templates in Marketplace. There is no publisher flow for customers to sell their own templates.

Access types

  • Free: A user with the required permission can add the template directly to the workspace.
  • Included with plan: There is no extra charge when your active subscription plan includes the template.
  • Paid: The template can be installed in the relevant workspace after its one-time payment is verified.

Get and use a template

  1. Find a design by category or search, then inspect its cover and description.
  2. Add a free or plan-included template, or complete the secure checkout for a paid design.
  3. Installation adds an editable copy of the design to the Templates section of the selected workspace.
  4. Open it in Generator, replace sample data with your data, and verify PDF, Word and Viewer outputs before publishing.

The template code must be unique within the workspace. A collision never overwrites the existing template; you are asked to choose another code.

Publishing and installing over the API

Everything the marketplace screen does is available as an endpoint: list what is published, copy a template into your own account, publish one of yours, and set its price.

cURL
# List what is published
curl -s "https://api.pdfgine.com/api/v1/marketplace/templates?locale=en" \
  -H "X-PDFgine-Key: $PDFGINE_KEY"

# Copy one into your own account
curl -X POST https://api.pdfgine.com/api/v1/marketplace/templates/consulting-proposal/install \
  -H "X-PDFgine-Key: $PDFGINE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "code": "proposal", "name": "Proposal" }'

# Publish one of yours
curl -X POST https://api.pdfgine.com/api/v1/templates/invoice/marketplace \
  -H "X-PDFgine-Key: $PDFGINE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "title": "Invoice with payment terms",
        "summary": "A billing template that carries payment terms and a totals block.",
        "category": "reports",
        "locale": "en",
        "license": "commercial",
        "visibility": "public",
        "confirmAssetRedistributionRights": true
      }'

# Set its price - priceMinorUnits is required when isFree is false
curl -X PUT https://api.pdfgine.com/api/v1/marketplace/templates/invoice-with-payment-terms/offer \
  -H "X-PDFgine-Key: $PDFGINE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "isFree": false,
        "priceMinorUnits": 4900,
        "currency": "USD",
        "includedPlanCodes": ["business", "enterprise"],
        "expectedVersion": 3
      }'

Installing copies the template into your account; later changes by the publisher do not reach your copy. Publishing asks you to confirm that you may redistribute the fonts and images the template carries - that confirmation is recorded.

Your own charts and templates

Creating your own template or chart does not require a Marketplace purchase. What is sold is the ready-made design prepared by PDFgine.

Open Marketplace →

What usually goes wrong

  • Installing copies the design into your workspace. Later work by the publisher does not reach that copy, and your edits are never overwritten either.
  • The code has to be free in your workspace. A collision never overwrites your template; the install is refused and asks for another code.
  • Today only PDFgine publishes. The publish and offer endpoints answer 403 for a workspace without the publisher role, so do not build a seller flow on them yet.
  • The listing cursor carries the filters. Changing search, category or locale while keeping before answers 400 on purpose - the same cursor would otherwise point into a different list.
  • A paid design installs only after its payment is verified. Calling install first and checkout afterwards gets you a refusal, not a queue.