Skip to main content

Command Palette

Search for a command to run...

Getting Started with Rynko in 5 Minutes

Sign up, create a template, and generate your first PDF — all in under 5 minutes.

Updated
5 min readView as Markdown
Getting Started with Rynko in 5 Minutes

This guide walks you through generating your first document with Rynko. By the end, you'll have a working PDF generated from a template via our API.

Step 1: Create Your Account (30 seconds)

Head to app.rynko.dev/signup and create a free account. No credit card required.

Every new account comes with 5,000 free document credits as part of our Founder's Preview — more than enough to build and test.

Browse pre-built templates or create your own from scratch.

Step 2: Create a Template (2 minutes)

Once you're in the dashboard, click New Template to open the visual designer.

You have three options:

Option A: Use a Pre-Built Template

Browse the template gallery and pick one that's close to what you need — invoices, reports, certificates, and more. Customize it in the designer.

Option B: Design from Scratch

The drag-and-drop designer supports 28 component types. Drag in text, tables, images, charts, QR codes, and more. Set up variables using {{variableName}} syntax in any text field.

Option C: Let AI Create It (MCP)

If you're using Claude Desktop or Cursor with our MCP server, just describe what you need:

"Create an invoice template with company logo, customer details,
a line items table, and totals with tax calculation"

For this guide, let's create a simple invoice. Add these variables to your template:

VariableTypeDescription
invoiceNumberstringInvoice identifier (e.g., "INV-2026-001")
clientNamestringCustomer name
clientEmailstringCustomer email
lineItemsarrayLine items with description, quantity, price
subtotalnumberSubtotal amount
taxnumberTax amount
totalnumberTotal amount

Click Publish when you're happy with the design.

Tip: Use the Preview button to test your template before publishing. Previews are free and don't consume credits.

The visual template designer with a working invoice template — variables, tables, calculated fields, and live preview.

Step 3: Get Your API Key (30 seconds)

Go to Settings > API Keys and create a new key. Copy it — you'll need it in the next step.

Your API key starts with your team ID and gives programmatic access to your templates and document generation.

Step 4: Generate a Document (2 minutes)

Pick your language:

You can also test document generation without code using the API Playground in your dashboard — paste in variables and generate a document directly from the browser.

Node.js

npm install @rynko/sdk
import { Rynko } from '@rynko/sdk';

const rynko = new Rynko({
  apiKey: process.env.RYNKO_API_KEY!,
});

// Generate a PDF
const job = await rynko.documents.generatePdf({
  templateId: 'invoice', // Your template slug, shortId, or UUID
  variables: {
    invoiceNumber: 'INV-2026-001',
    clientName: 'Acme Technologies Pvt. Ltd.',
    clientEmail: 'accounts@acmetech.com',
    lineItems: [
      { description: 'Technical Consulting', quantity: 2, price: 150.00 },
      { description: 'Software License', quantity: 1, price: 500.00 },
    ],
    subtotal: 800.00,
    tax: 80.00,
    total: 880.00,
  },
});

console.log('Job queued:', job.jobId);

// Wait for completion
const completed = await rynko.documents.waitForCompletion(job.jobId);
console.log('Download URL:', completed.downloadUrl);

Python

pip install rynko
import os
from rynko import Rynko

client = Rynko(api_key=os.environ["RYNKO_API_KEY"])

# Generate a PDF
job = client.documents.generate_pdf(
    template_id="invoice",
    variables={
        "invoiceNumber": "INV-2026-001",
        "clientName": "Acme Technologies Pvt. Ltd.",
        "clientEmail": "accounts@acmetech.com",
        "lineItems": [
            {"description": "Technical Consulting", "quantity": 2, "price": 150.00},
            {"description": "Software License", "quantity": 1, "price": 500.00},
        ],
        "subtotal": 800.00,
        "tax": 80.00,
        "total": 880.00,
    },
)

print(f"Job queued: {job['jobId']}")

# Wait for completion
completed = client.documents.wait_for_completion(job["jobId"])
print(f"Download URL: {completed['downloadUrl']}")

cURL

# Generate a document
curl -X POST https://api.rynko.dev/api/v1/documents/generate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "invoice",
    "format": "pdf",
    "variables": {
      "invoiceNumber": "INV-2026-001",
      "clientName": "Acme Technologies Pvt. Ltd.",
      "clientEmail": "accounts@acmetech.com",
      "lineItems": [
        {"description": "Technical Consulting", "quantity": 2, "price": 150.00},
        {"description": "Software License", "quantity": 1, "price": 500.00}
      ],
      "subtotal": 800.00,
      "tax": 80.00,
      "total": 880.00
    }
  }'

# Response includes a jobId - poll for completion
curl https://api.rynko.dev/api/v1/documents/jobs/JOB_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

Run the code. In under a second, you'll get a signed download URL for your PDF. Click it — there's your document.

The generated PDF invoice — professional layout with line items, calculated totals, and branding.

Want Excel Instead?

Same template, different format:

// Node.js
const job = await rynko.documents.generateExcel({
  templateId: 'invoice',
  variables: { /* same variables */ },
});
# Python
job = client.documents.generate_excel(
    template_id="invoice",
    variables={ ... },
)

That's it. One template, both formats.

Step 5: Set Up Webhooks (Optional)

Instead of polling for completion, you can receive a webhook when your document is ready:

  1. Go to Settings > Webhooks in the dashboard

  2. Add your endpoint URL

  3. Select the document.generated event

When a document finishes generating, we'll POST to your endpoint with the download URL:

import { verifyWebhookSignature } from '@rynko/sdk';

app.post('/webhooks/rynko', (req, res) => {
  const event = verifyWebhookSignature({
    payload: req.body.toString(),
    signature: req.headers['x-rynko-signature'],
    secret: process.env.WEBHOOK_SECRET,
  });

  if (event.type === 'document.generated') {
    console.log('Document ready:', event.data.downloadUrl);
  }

  res.status(200).json({ received: true });
});

What's Next?

Now that you've generated your first document, here's what to explore:

  • Visual Designer — Design templates with drag-and-drop, live preview, and 28 component types

  • MCP Server — Let Claude or Cursor create and generate documents for you

  • API Reference — Full API documentation with interactive examples

  • Template Schema — Deep dive into template structure and capabilities

  • Integrations — Connect with Zapier, Make.com, n8n, and Google Sheets

Need Help?

Happy generating!

Disclosure: I ideate and draft content, then refine it with the aid of artificial intelligence tools like Claude and revise it to reflect my intended message.

Building with AI Agents

Part 3 of 17

How we built Rynko — a validation gateway and document generation platform for AI agents. Architecture decisions, MCP integrations, performance benchmarks, and lessons from shipping infrastructure that agents use autonomously.

Up next

Design Once, Generate Anywhere: How Our Unified Template System Works

One template. Two formats. Zero compromise. Here's how Rynko generates both PDF and Excel from a single template design.

More from this blog

B

Building Rynko

19 posts