# Rynko > Rynko is a developer platform with two products: **Rynko Render** for generating professional PDF and Excel documents from templates via API, and **Rynko Flow** for validating AI/agent outputs against schemas and business rules before they reach downstream systems. ## Rynko Render **Core Value**: Replace complex PDF generation setups (Puppeteer, wkhtmltopdf, DocRaptor) with one simple API. Design once, generate unlimited documents. **Key API Endpoint**: `POST https://api.rynko.dev/api/v1/documents/generate` - Generate PDF or Excel from template ## Rendering Engine Rynko uses a **native rendering engine** (not HTML-to-PDF conversion): - **Sub-second generation**: 200-500ms typical (vs 3-8s for HTML-to-PDF) - **Yoga Layout Engine**: Facebook's Flexbox engine (same as React Native) - **28 Component Types**: Text, tables, charts, QR codes, barcodes, form fields - **8 Chart Types**: Bar, line, pie, doughnut, area, radar, polar area, scatter - **10 Barcode Formats**: Code128, Code39, EAN-13/8, UPC-A/E, ITF-14, PDF417, DataMatrix, QR - **9 PDF Form Fields**: Text, textarea, checkbox, radio, dropdown, signature, date, button, image - **TextRuns**: JSON-based rich text (no HTML parsing, zero XSS surface) - **Hybrid Logic**: JavaScript expressions + Excel formulas in same template ## Pricing The subscription covers **Rynko Flow** (AI output validation). **Rynko Render** (document generation) is a separate add-on — no render credits are included in any subscription tier. ### Subscription Tiers (Flow) | Tier | Flow Runs/Month | Gates | Team Members | Price | |------|----------------|-------|--------------|-------| | Free | 500 | 3 | 1 | $0 | | Starter | 10,000 | Unlimited | 3 | $29/mo | | Growth | 100,000 | Unlimited | 10 | $99/mo | | Scale | 500,000 | Unlimited | Unlimited | $349/mo | Overage: $0.005/run (Starter), $0.004/run (Growth), $0.002/run (Scale). ### Render Pack Add-ons (Recurring Monthly, All Tiers) | Pack | Docs/Month | Price | |------|-----------|-------| | Basic | 500 | +$19/mo | | Pro | 2,000 | +$49/mo | | Business | 10,000 | +$119/mo | ### Credit Packs (One-Time Purchase, Overflow) | Pack | Documents | Price | Per Doc | |------|-----------|-------|---------| | Micro | 100 | $15 | $0.15 | | Small | 500 | $50 | $0.10 | | Medium | 1,000 | $90 | $0.09 | | Large | 2,500 | $200 | $0.08 | **Key Features by Tier**: - **Free**: 3 gates, watermarked docs, no webhooks, no Render Pack - **Starter**: Unlimited gates, no watermark, webhooks, PDF form fields - **Growth**: Batch generation, Google Sheets add-on, higher concurrency - **Scale**: Priority support, SLA, unlimited team members ## Rynko Flow **Core Value**: Validate AI agent outputs before they reach production systems. Define schemas, business rules, and optional AI Judge criteria in a gate, submit payloads for validation, and optionally route edge cases to human approvers. **Key API Endpoint**: `POST https://api.rynko.dev/api/flow/gates/{gateId}/runs` - Submit a payload for validation ### How It Works 1. **Create a Gate** — Define a JSON schema, business rules (e.g., `amount <= 50000`), and optional AI Judge criteria in plain English 2. **Submit Runs** — AI agents POST payloads to the gate; validation is synchronous 3. **Get Results** — Each run returns pass/fail status, a tamper-proof `validation_id`, AI Judge verdict (if enabled), and error details 4. **Optional Approval** — Route edge cases to human reviewers via magic link (no account needed). AI Judge can auto-route low-confidence or failed evaluations to approval. 5. **Webhook Delivery** — Validated payloads are delivered to configured webhook URLs ### Validation Layers | Layer | Type | Speed | Description | |-------|------|-------|-------------| | Schema | Deterministic | ~1ms | Type checking, required fields, constraints | | Business Rules | Deterministic | ~10ms | Cross-field expressions (e.g., `total == subtotal + tax`) | | AI Judge | LLM-based | 2-7s | Natural language criteria (e.g., "functions should follow SRP") | AI Judge is optional. If schema or rules fail, AI Judge is skipped (no LLM cost). Available on paid tiers with 5x credit multiplier. ### Run Lifecycle `pending` → `validating` → `ai_judging` (if async) → `validated` | `validation_failed` | `pending_approval` → `approved` | `rejected` → `delivered` | `delivery_failed` ### Flow Pricing | Tier | Standard Runs/Month | AI Judge/Month | Gates | Price | |------|-----------|-------|-------|-------| | Free | 500 | — | 3 | $0 | | Starter | 10,000 | 500 | Unlimited | $29/mo | | Growth | 100,000 | 5,000 | Unlimited | $99/mo | | Scale | 500,000 | 25,000 | Unlimited | $349/mo | ### Quick Flow Example ```javascript const response = await fetch('https://api.rynko.dev/api/flow/gates/order-validation/runs', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ payload: { orderId: 'ORD-2026-001', amount: 1250.00, currency: 'USD' } }) }); const { runId, status, validation_id, layers } = await response.json(); // status: "validated", layers: { schema: "pass", business_rules: "pass" } ``` ### Transaction Tracking Link runs across gates with `transactionId`: ```javascript body: JSON.stringify({ payload: { ... }, transactionId: 'LOAN-2026-0042', transactionType: 'loan_application', externalRef: 'CASE-2026-1234' }) ``` Query all runs for a transaction: `GET /api/flow/transactions/:transactionId` Filter runs: `GET /api/flow/runs?transactionId=LOAN-2026-0042` --- ## Render Quick Example ```javascript const response = await fetch('https://api.rynko.dev/api/v1/documents/generate', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ templateId: 'invoice-template', format: 'pdf', variables: { invoiceNumber: 'INV-2026-001', customerName: 'Acme Corp', items: [ { description: 'Consulting', quantity: 10, price: 150.00 } ], total: 1500.00 } }) }); const { downloadUrl, statusUrl } = await response.json(); ``` ## Core Documentation - [Getting Started](/getting-started): Create account, API keys, first document - [Generating Documents](/developer-guide/generating-documents): Complete Render API guide - [Template Schema](/developer-guide/template-schema): JSON schema for templates - [Flow API Reference](/api-reference/flow): Flow gates, runs, approvals, and deliveries ## Integrations ### Official SDKs - **Node.js**: `@rynko/sdk` — npm: https://www.npmjs.com/package/@rynko/sdk | GitHub: https://github.com/rynko-dev/sdk-node - **Python**: `rynko` — PyPI: https://pypi.org/project/rynko/ | GitHub: https://github.com/rynko-dev/sdk-python - **Java**: `com.rynko:sdk` — Maven: https://central.sonatype.com/artifact/com.rynko/sdk | GitHub: https://github.com/rynko-dev/sdk-java ### No-Code Platforms - Zapier, Make.com, n8n ### Other - Google Sheets Add-on: Mail merge and batch document generation - Webhooks: Real-time document.generated, document.failed events - MCP Server: AI agent integration for Claude, GPT, etc. ## Output Formats | Feature | PDF | Excel | |---------|-----|-------| | Charts | Yes | Yes (as images for consistency) | | Tables | Yes | Yes (with Excel formulas) | | QR/Barcodes | Yes | Yes | | Form Fields | Yes (9 types) | No | | Flexbox Layout | Yes (Yoga) | No | | Multi-page/sheet | Yes | Yes | | Custom Fonts | Yes | No | ## Security - TLS 1.3 encryption - Signed download URLs (time-limited) - GDPR compliant - SOC 2 Type II (in progress) ## Links - Website: https://rynko.dev - Docs: https://docs.rynko.dev - API Reference: https://docs.rynko.dev/api-reference - Status: https://status.rynko.dev - Node.js SDK: https://www.npmjs.com/package/@rynko/sdk - Python SDK: https://pypi.org/project/rynko/ - Java SDK: https://central.sonatype.com/artifact/com.rynko/sdk - SDK Reference: https://docs.rynko.dev/llms-sdk-reference.txt