leafwright-co API

leafwright-co API as documented publicly: 21 operations. Contract generated from the documentation by API Evangelist (2026-10-30); not the provider's own document.

Operations 21

POST /api/v1/api-keys/{keyId}/rotate Rotate an API key and revoke the previous one. #
POST /api/v1/billing/checkout Create a billing checkout session for a plan. #
POST /api/v1/cron/webhooks/retry Retry webhooks via cron job. #
PATCH /api/v1/dashboard/brand Set project document brand defaults. #
GET /api/v1/dashboard/brand/references Get brand references for a project. #
POST /api/v1/dashboard/brand/references Create brand reference for dashboard. #
POST /api/v1/dashboard/brand/upload-url Get an upload URL for brand assets. #
POST /api/v1/dashboard/webhooks Create webhook subscription for render events. #
POST /api/v1/dashboard/webhooks/deliveries/{deliveryId}/retry Retry a webhook delivery. #
GET /api/v1/jobs/$JOB_ID/input GET /api/v1/jobs/$JOB_ID/input #
GET /api/v1/jobs/$JOB_ID/logs GET /api/v1/jobs/$JOB_ID/logs #
POST /api/v1/pdfs POST /api/v1/pdfs #
POST /api/v1/templates Create a new template. #
POST /api/v1/templates/ai/generate Generate a template using AI. #
PATCH /api/v1/templates/{templateId} Update an existing template. #
POST /api/v1/templates/{templateId}/archive Archive a template. #
POST /api/v1/templates/{templateId}/duplicate Duplicate a template. #
POST /api/v1/templates/{templateId}/preview Preview a template. #
POST /api/v1/templates/{templateId}/publish Publish a template. #
POST /api/v1/templates/{templateId}/validate Validate a template. #
POST /api/v1/templates/{templateId}/versions/{versionId}/restore Restore a published template version back into the draft. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leafwright-co:leafwright-co-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

leafwright-co-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: leafwright-co API
  version: '2026-10-30'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-30: 21 operation(s) read from 4 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; leafwright-co has published no machine-readable contract that
    the pipeline could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 4
    documentation: 17
    pages-with-code: 3
    pages-read: 4
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-30'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://leafwright.co/docs/api
  - https://leafwright.co
  - https://leafwright.co/vs/pdfmonkey
  - https://leafwright.co/vs/docraptor
paths:
  /api/v1/api-keys/{keyId}/rotate:
    post:
      operationId: post_api_v1_api_keys_keyId_rotate
      tags:
      - Api
      summary: Rotate an API key and revoke the previous one.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: keyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/billing/checkout:
    post:
      operationId: post_api_v1_billing_checkout
      tags:
      - Api
      summary: Create a billing checkout session for a plan.
      x-source: https://leafwright.co/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1BillingCheckoutRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/cron/webhooks/retry:
    post:
      operationId: post_api_v1_cron_webhooks_retry
      tags:
      - Api
      summary: Retry webhooks via cron job.
      x-source: https://leafwright.co/docs/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/dashboard/brand:
    patch:
      operationId: patch_api_v1_dashboard_brand
      tags:
      - Api
      summary: Set project document brand defaults.
      x-source: https://leafwright.co/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchApiV1DashboardBrandRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/dashboard/brand/references:
    get:
      operationId: get_api_v1_dashboard_brand_references
      tags:
      - Api
      summary: Get brand references for a project.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: project_id
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_v1_dashboard_brand_references
      tags:
      - Api
      summary: Create brand reference for dashboard.
      x-source: https://leafwright.co/docs/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/dashboard/brand/upload-url:
    post:
      operationId: post_api_v1_dashboard_brand_upload_url
      tags:
      - Api
      summary: Get an upload URL for brand assets.
      x-source: https://leafwright.co/docs/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/dashboard/webhooks:
    post:
      operationId: post_api_v1_dashboard_webhooks
      tags:
      - Api
      summary: Create webhook subscription for render events.
      x-source: https://leafwright.co/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1DashboardWebhooksRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/dashboard/webhooks/deliveries/{deliveryId}/retry:
    post:
      operationId: post_api_v1_dashboard_webhooks_deliveries_deliveryId_retry
      tags:
      - Api
      summary: Retry a webhook delivery.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: deliveryId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/jobs/$JOB_ID/input:
    get:
      operationId: get_api_v1_jobs_JOB_ID_input
      tags:
      - Api
      summary: GET /api/v1/jobs/$JOB_ID/input
      x-source: https://leafwright.co/docs/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl https://leafwright.co/api/v1/jobs/$JOB_ID/input  -H \"Authorization: Bearer $LEAFWRIGHT_API_KEY\"\n{\n \"data\": {\n \"\
          jobId\": \"job_...\",\n \"sourceType\": \"html\",\n \"payload\": {\n \"source\": { \"type\": \"html\", \"html\": \"<h1>Hello from Leafwright</h1>\"\
          \ },\n \"options\": { \"format\": \"A4\", \"print_background\": true },\n \"filename\": \"hello.pdf\",\n \"delivery\": { \"mode\": \"\
          sync\", \"return\": \"url\", \"webhookOrigin\": null }"
  /api/v1/jobs/$JOB_ID/logs:
    get:
      operationId: get_api_v1_jobs_JOB_ID_logs
      tags:
      - Api
      summary: GET /api/v1/jobs/$JOB_ID/logs
      x-source: https://leafwright.co/docs/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl https://leafwright.co/api/v1/jobs/$JOB_ID/logs  -H "Authorization: Bearer $LEAFWRIGHT_API_KEY" Example Copy # 5. Read what
          was sent to the renderer for a job (also logs:read)'
  /api/v1/pdfs:
    post:
      operationId: post_api_v1_pdfs
      tags:
      - Api
      summary: POST /api/v1/pdfs
      x-source: https://leafwright.co/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiV1PdfsRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiV1PdfsResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl -X POST https://leafwright.co/api/v1/pdfs  -H "Authorization: Bearer $LEAFWRIGHT_API_KEY"  -H "Content-Type: application/json"  -d
          ''{"source":{"type":"html","html":"<h1>Hello from Leafwright</h1>"},"delivery":{"mode":"sync","return":"bytes"}}''  -o hello.pdf Prefer
          a visual start? Try the Render tester without writing an integration, or create an editable document in Studio . Authentication Be'
  /api/v1/templates:
    post:
      operationId: post_api_v1_templates
      tags:
      - Api
      summary: Create a new template.
      x-source: https://leafwright.co/docs/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/ai/generate:
    post:
      operationId: post_api_v1_templates_ai_generate
      tags:
      - Api
      summary: Generate a template using AI.
      x-source: https://leafwright.co/docs/api
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}:
    patch:
      operationId: patch_api_v1_templates_templateId
      tags:
      - Api
      summary: Update an existing template.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}/archive:
    post:
      operationId: post_api_v1_templates_templateId_archive
      tags:
      - Api
      summary: Archive a template.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}/duplicate:
    post:
      operationId: post_api_v1_templates_templateId_duplicate
      tags:
      - Api
      summary: Duplicate a template.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}/preview:
    post:
      operationId: post_api_v1_templates_templateId_preview
      tags:
      - Api
      summary: Preview a template.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}/publish:
    post:
      operationId: post_api_v1_templates_templateId_publish
      tags:
      - Api
      summary: Publish a template.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}/validate:
    post:
      operationId: post_api_v1_templates_templateId_validate
      tags:
      - Api
      summary: Validate a template.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/templates/{templateId}/versions/{versionId}/restore:
    post:
      operationId: post_api_v1_templates_templateId_versions_versionId_restore
      tags:
      - Api
      summary: Restore a published template version back into the draft.
      x-source: https://leafwright.co/docs/api
      parameters:
      - name: templateId
        in: path
        required: true
        schema:
          type: string
      - name: versionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    PostApiV1BillingCheckoutRequest:
      type: object
      properties:
        org_id:
          type: string
        plan_slug:
          type: string
      required:
      - org_id
      - plan_slug
    PatchApiV1DashboardBrandRequest:
      type: object
      properties:
        project_id:
          type: string
        logo_url:
          type: string
        primary_color:
          type: string
        accent_color:
          type: string
        footer_text:
          type: string
        disclaimer:
          type: string
        support_email:
          type: string
        website_url:
          type: string
      required:
      - project_id
    PostApiV1DashboardWebhooksRequest:
      type: object
      properties:
        project_id:
          type: string
        url:
          type: string
        events:
          type: string
      required:
      - project_id
      - url
      - events
    PostApiV1PdfsRequest:
      type: object
      properties:
        source:
          type: object
          properties:
            type:
              type: string
            html:
              type: string
        delivery:
          type: object
          properties:
            mode:
              type: string
            return:
              type: string
    PostApiV1PdfsResponse:
      type: object
      properties:
        id:
          type: string
        job_id:
          type: string
        status:
          type: string
        download_url:
          type: string
        expires_at:
          type: string
          format: date-time
        metadata:
          type: object
          properties:
            pages:
              type: integer
            file_size_bytes:
              type: integer
            render_duration_ms:
              type: integer
            credits_used:
              type: integer
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Api