pdf.create, pdf.createAsync, pdf.createImage, pdf.createMerge,
pdf.createParallel) need a template_id, which the templates list operation
returns, and the JSON data that fills it; the merge and parallel calls take one
per entry. pdf.create and pdf.createImage can fetch that data from a URL
with load_data_from instead of data. The PDF editing calls (pdf.merge,
pdf.addText, pdf.addWatermark, pdf.updateFields, pdf.getInfo) take PDF
URLs and no template.
Generation is metered: each PDF or image costs one credit from the monthly
allowance. Reads (account, templates, transactions) are free.
CraftMyPDF runs several regional APIs. The plugin calls the Singapore host
(https://api.craftmypdf.com/v1) unless you pass region, which accepts sg,
de, us or au.
What you get:
- 23 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
List the templates on the accountWhat’s next
API reference
Every
craftmypdf.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.