JSONBill
Lightweight JSON-based Billing Documents
For Developers & AI Agents
Create professional PDF invoices and settlement statements from JSON data with a simple RESTful API. Pay with credits or x402 (USDC on Base).
A Product of Quaily
Fast
Super lightweight API with minimal overhead. Get your documents generated in milliseconds.
Simple
JSON in, PDF out. No complex SDKs or configurations needed. Works with any language.
AI-Ready
Designed for AI agents. Perfect for automated billing workflows and agentic applications.
curl -X POST https://api.jsonbill.com/tasks/docs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <APIKey>" \
-d @doc.jsoncurl -X POST https://api.jsonbill.com/tasks/docs \
-H "Content-Type: application/json" \
-H "PAYMENT-SIGNATURE: <base64 signature>" \
-d @doc.jsonFeatures
Everything you need for professional document generation
> JSON Format
Uses JSON format for billing data
> PDF Output
Generates professional PDF invoices and settlement statements
> Multi-Currency
Supports multiple currencies and tax rates
> Crypto Payments
x402 onchain payments (USDC on Base) plus native crypto payment fields
> Templates
Multiple built-in templates for invoices and statements
> Secure
JWT and API key authentication for secure access
SKILL.md for Agents
A ready-to-use SKILL file that teaches agents how to call JSONBill correctly.
Drop it into your agent skills or fetch it on demand.
curl -s https://jsonbill.com/SKILL.mdFrequently Asked Questions
Authorization (JWT/API key) to pay with credits, or use x402 (USDC on Base) for pay-per-request without Authorization. With x402, the first request returns 402 with PAYMENT-REQUIRED, then you retry with PAYMENT-SIGNATURE.params.currency is the default. You can override per section using summary.currency and detail_items[].currency. To show a quote/reference amount (implied FX), use total_include_tax_quote_amount and total_include_tax_quote_symbol (supported on both summary and detail_items[]).bill_to_company/bill_to_address. Settlement statement uses recipient_company/recipient_address and type=settlementstatement. Payment instructions are ignored for settlement statements (only payment.result is rendered).total_include_tax or total_exclude_tax. If using total_exclude_tax, also provide tax or tax_rate so the PDF can show the tax-inclusive total.Ready to start generating documents?
Get started in minutes with our simple API