Skip to main content
The Autype Developer API lets you generate PDFs, DOCX, and ODT documents at scale. Perfect for automating document workflows, batch processing, and integrating document generation into your applications.

Base URL

https://api.autype.com/api/v1/dev

Key capabilities

Persistent Documents

Create and manage documents that are saved in your Autype workspace — visible in the app and editable by your team.

Document Rendering

Render persistent documents or ad-hoc JSON/Markdown to PDF, DOCX, or ODT.

Bulk Rendering

Create up to 100 documents at once from a template with different variable sets.

Template Variables

Use {{variables}} or ${variables} for dynamic content substitution.

PDF Tools

Merge, split, rotate, watermark, and extract metadata from PDFs.

Persistent vs. temporary resources

The API works with two types of resources. Understanding the difference is important:

Persistent resources (visible in the Autype app)

ResourceEndpointsDescription
ProjectsPOST /projects, GET /projectsWorkspaces that organize documents. Created via the API as PUBLIC projects.
DocumentsPOST /documents, GET /documents, GET /documents/{id}Documents stored in your workspace. Editable in the Autype editor and accessible by your team.
Document imagesAuto-converted on document creationPermanent images attached to a document (referenced as /image/{assetId} in document JSON). See Images in documents.

Temporary resources (API-only, not visible in the app)

ResourceEndpointsLifetimeDescription
Temporary imagesPOST /images/upload, GET /images, DELETE /images/{id}24 hoursShort-lived images for use in temporary renders. Referenced as /temp-image/{id} in document JSON. Not visible in the Autype app.
Render jobsPOST /render, POST /render/markdown, GET /render/{id}TransientAd-hoc render jobs from inline JSON or Markdown. The input document is not saved. Not visible in the Autype app.
Bulk render jobsPOST /bulk-render, GET /bulk-render/{id}TransientBulk render outputs. Not visible in the Autype app.
Tool filesPOST /tools/files/upload, GET /tools/files, DELETE /tools/files/{id}60 minutesTemporary files for PDF tools (merge, split, etc.). Not visible in the Autype app.
Tool jobsPOST /tools/pdf/*, GET /tools/jobs/{id}TransientPDF processing jobs (merge, split, rotate, watermark, metadata). Not visible in the Autype app.
Use POST /render/document/ to render a persistent document. This uses the document’s saved content and its permanent images — no temporary image uploads needed.

Images in documents

How you handle images depends on whether you’re working with persistent or temporary resources:

Persistent documents with images

When creating a persistent document via POST /documents, you can embed images using the following workflow:
  1. Upload images via POST /images/upload — you receive /temp-image/{id} reference paths.
  2. Create the document via POST /documents with the /temp-image/{id} paths in your document JSON.
  3. Automatic conversion — the API detects all /temp-image/{id} references in the document content, copies them to permanent storage, and replaces the paths with /image/{assetId}. The resulting document contains only permanent image references.
The conversion happens transparently. The temporary images remain available for their 24-hour lifetime, but the document itself now references permanent copies that will not expire.

Temporary renders with images

For ad-hoc renders (POST /render, POST /render/markdown), use POST /images/upload to upload temporary images and reference them as /temp-image/{id} in your document JSON. These images are valid for 24 hours and are resolved at render time.

External URLs

You can also use full https:// URLs for images in any context — both persistent documents and temporary renders. External URLs are fetched at render time.

Credit costs

Operations consume credits from your organization’s balance. Credits are only charged on successful completion.
OperationCredit Cost
Temporary Image UploadFree
Single Render5 credits
Bulk Render4 credits per item
Tool File UploadFree
Tool PDF Action1 credit

Quick example

Render a persistent document:
curl -X POST "https://api.autype.com/api/v1/dev/render/document/YOUR_DOCUMENT_ID" \
  -H "X-API-Key: ak_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "variables": { "clientName": "Acme Inc" }
  }'
Or render from inline JSON (temporary, not saved):
curl -X POST "https://api.autype.com/api/v1/dev/render" \
  -H "X-API-Key: ak_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "config": {
      "document": { "type": "pdf", "size": "A4" },
      "variables": { "name": "World" },
      "sections": [{
        "id": "main",
        "type": "flow",
        "content": [
          { "type": "h1", "text": "Hello, {{name}}!" }
        ]
      }]
    }
  }'

Next steps