Docs

Minimal reference for integrating with the RenderLayer public API.

Base URL

https://renderlayer.ynnova.ag

Authentication

Header Value
X-RenderLayer-Tenant-Id The tenant id shown in the control plane.
Authorization Bearer <api-key-secret>
X-RenderLayer-Key Alternative API key header when Authorization Bearer is not convenient.

Endpoints

Method Path Purpose
POST /v1/pdf Renders HTML into a PDF and returns application/pdf.
GET /v1/usage/current Returns the current monthly usage bucket for the authenticated tenant.

PDF request

{
  "html": "<!doctype html><html><body><h1>RenderLayer</h1></body></html>",
  "fileName": "renderlayer-output.pdf",
  "timeoutSeconds": 120,
  "paper": {
    "format": "A4",
    "printBackground": true
  }
}

Limits

Limit Default Failure
HTML payload 2,000,000 bytes 413 payload_too_large
Render timeout 1-300 seconds 400 invalid_request or 503 renderer_timeout
Monthly quota Depends on plan 429 monthly_render_limit_exceeded

Error response

{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key does not match this tenant.",
    "requestId": "renderRequest_..."
  }
}

Every public API response includes X-RenderLayer-Request-Id. Use it to correlate client errors with RenderLayer logs and render history.

Error codes

Status Code Meaning
400 invalid_request Required input is missing or invalid.
401 missing_api_credentials Tenant id or API key is missing.
401 invalid_api_key The API key does not match this tenant.
401 api_key_revoked The API key exists but has been revoked.
402 billing_subscription_inactive The paid subscription is not active or trialing.
413 payload_too_large The HTML payload exceeds the configured tenant API limit.
429 monthly_render_limit_exceeded The tenant has used all renders available for the current month.
503 renderer_timeout The renderer did not finish before the timeout.
503 renderer_unavailable The rendering service is temporarily unavailable or not configured.

Operational pages

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.