Cloudyy logoCloudyy · Document generation

Your data in. Finished documents out.

A document generation service you call from any application. Send your content, receive a precise, print-ready PDF — invoices, payslips, certificates and statements, produced identically every single time.

generate.sh
curl -X POST https://api.cloudy.cloudhub.lk/v1/render \
  -H "X-API-Key: $CLOUDYY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "invoice",
    "data": { "no": "A-1042", "total": "184,500" },
    "format": "A4"
  }' \
  --output invoice.pdf

Endpoint shown for illustration — your dashboard carries the exact base URL and key.

INPUTHTML & CSS
OUTPUTPrint-ready PDF
SPEEDMilliseconds
ACCESSScoped API keys
CAPABILITIES

Built for documents that must be right

The kind that go to customers, regulators and payroll — where “close enough” is not a result.

01 · The API

One call, one document

Post your markup or reference a saved template, and the finished PDF comes straight back in the response. No rendering software to install on your servers, no fonts to chase, no queue to manage.

  • Simple HTTP request from any language or platform
  • Authenticate with a scoped key you can rotate or revoke
  • Page size, orientation and margins set per request
  • Rendering runs in an isolated environment per request
  • Execution time limits guard against runaway layouts
  • Request rate limits protect you from accidental load
Request lifecycle~ ms
AuthenticateAPI key verified
OK
ComposeTemplate + merge data
OK
RenderIsolated environment
OK
Returninvoice.pdf · 84 KB
200
02 · Templates

Design once, reuse everywhere

Save a layout with merge fields, then send only the data. Your finance team’s invoice keeps the same design whether it is produced by your billing system, an internal tool or a scheduled job.

  • Reusable templates with merge-variable fields
  • Design in ordinary HTML and CSS — no proprietary editor
  • Consistent output across every system that calls it
  • Update the template without touching the applications
  • Custom font packs for brand or language requirements
  • Preview before you commit a template to production
Rendered outputinvoice.pdf
03 · Bulk generation

Five hundred payslips, one request

Send an array of records and receive every document back in a single archive. Month-end payroll, statement runs and certificate batches become one call instead of a loop your application has to babysit.

  • Many records in, one archive out
  • Each document named from your own data
  • Same template applied consistently across the batch
  • Suited to payroll runs, statements and certificates
  • Progress and result reported back to your system
Batch jobpayslips-july
Records submittedOne row per employee
512
Documents producedNamed from employee number
512
Delivered aspayslips-july.zip
Archive
StatusAll records rendered
Complete
04 · Visibility

Know exactly what you are using

Usage is metered and visible as it happens — by day, by document type and by client. If you resell document generation to your own customers, the cost attribution is already done for you.

  • Daily usage charted over any period
  • Breakdown by document type
  • Per-client usage and cost attribution
  • Credit balance and consumption visible at all times
  • Expiry and threshold notifications by email
  • Request logs for tracing a specific document
Usage this monthby document type
Invoices8,410
Payslips3,072
Certificates946
Credits remainingRenews 1 August
Healthy
05 · Getting started

Try it before you commit anything

A sandbox with trial credits lets your developers draft a template, render it and see the result before a contract exists. Integration snippets cover the languages most teams are already working in.

  • Sandbox environment with trial credits
  • Draft and preview a document in the browser
  • Ready-made snippets for Node, Python, PHP and Deluge
  • QR code generation for embedding in your documents
  • Documentation and worked examples
  • Direct access to our engineers during integration
NodePythonPHPDelugecURL
invoice.html
<div class="invoice">
  <h1>Invoice #{{no}}</h1>
  <p>Billed to {{customer}}</p>
  <table>
    <!-- line items -->
  </table>
  <strong>Total {{total}}</strong>
</div>
WHERE IT FITS

Documents businesses generate every day

If your system already holds the data, it can produce the document.

Invoices & receipts

Produced the moment a sale completes, in your layout, with your tax presentation and numbering.

Payslips

Whole payroll runs generated in one request and delivered as a single archive for distribution.

Certificates

Training, warranty and compliance certificates with verification codes embedded as QR.

Statements & reports

Scheduled account statements and management reports, rendered from your live figures.

Tickets & passes

Event tickets and gate passes with scannable codes generated alongside the document.

Contracts & quotations

Long-form documents with consistent pagination, headers and page numbering throughout.

COMMON QUESTIONS

Before you ask

Do we need to change how our application works?

No. Cloudyy is a single HTTP call from any language or platform, so you add it where your application currently produces a document.

Will the PDF look exactly like our design?

Templates are written in ordinary HTML and CSS, so the output follows your layout, fonts and page settings. Preview a template before it goes to production.

Can we try it before committing?

Yes. A sandbox with trial credits lets your developers draft, render and review documents before a contract exists.

How is it priced?

Usage is metered by document, and credits and consumption are visible at all times. Contact us for current pricing that fits your volumes.

What happens to the data we send?

Rendering runs in an isolated environment per request. Ask us for the details of how data is handled and retained.

Can we resell this to our own clients?

Yes. Usage is tracked per client, so cost attribution for resale is already done for you.

Send us a document you generate today.

We will reproduce it and show you the call that produces it. If it turns out your existing approach is fine, we will tell you that instead.