Documentation
LicenseComposer API and integration reference.
Quick Start
- 1.Sign up at licensecomposer.com/signup
- 2.Pick a template from the Template Store
- 3.Answer the wizard questions and click Generate
- 4.Copy your badge snippet and paste it into your storefront
- 5.Share your /c/[slug] checkout link with buyers
Badge Embed
Embed a live SVG badge on any storefront that renders images. The badge auto-updates based on your license status.
<!-- Markdown -->
[](https://licensecomposer.com/v/YOUR-SLUG)
<!-- HTML -->
<a href="https://licensecomposer.com/v/YOUR-SLUG">
<img src="https://licensecomposer.com/badge/YOUR-SLUG.svg" alt="Licensed" />
</a>
Style options:
https://licensecomposer.com/badge/SLUG.svg # flat (default)
https://licensecomposer.com/badge/SLUG.svg?style=flat-square
https://licensecomposer.com/badge/SLUG.svg?style=for-the-badge
Verification API
Public endpoint โ no authentication required.
GET https://licensecomposer.com/api/verify/:slug
Response:
{
"verified": true,
"status": "verified",
"slug": "abc123",
"product_name": "Pixel Pack",
"jurisdiction": "US",
"template_version": "1.1.0",
"document_hash": "sha256:...",
"provenance": { "chain_valid": true, "version_count": 1 },
"stats": { "acceptance_count": 12 },
"links": { "verify_page": "...", "badge_svg": "...", "export_md": "..." }
}
Checkout / Acceptance Link
Each license has a public acceptance page at licensecomposer.com/c/[slug]. Buyers enter their name and email, read the terms, and accept. Acceptances are stored permanently.
https://licensecomposer.com/c/YOUR-SLUG
Paste this URL in your Gumroad product description, itch.io page, or anywhere buyers can see it.
Export API
Download your contract in different formats.
GET /api/export?slug=SLUG&format=markdown # .md with YAML frontmatter
GET /api/export?slug=SLUG&format=html # styled HTML
GET /api/export?slug=SLUG&format=txt # plain text
GET /api/export?slug=SLUG&format=pdf # PDF (Pro only)
Webhooks (Stripe)
LicenseComposer uses Stripe webhooks to provision subscriptions and template purchases. The endpoint is at POST /api/webhooks/stripe.
Events handled: checkout.session.completed, customer.subscription.updated, customer.subscription.deleted, invoice.payment_failed.