API Documentation
The SignatureAI API lets you generate beautiful handwritten signatures programmatically. Integrate signature generation into your app with a single HTTP request.
Base URL
https://signatureai.ai/api/v1Format
JSON (REST)Version
v0.2.0#Authentication
Authenticate requests by including your API key in the X-API-Key header. Free-tier requests (with watermark) don't require authentication.
X-API-Key: sk_live_your_api_key_here🔐 Keep your API key secret
Never expose your API key in client-side code. Use it only from your backend server.
#Quick Start
Generate your first signature in under 30 seconds:
curl -X POST https://signatureai.ai/api/v1/generate \
-H "Content-Type: application/json" \
-H "X-API-Key: sk_live_your_key" \
-d '{
"name": "John Doe",
"style": "elegant"
}'#Generate Signature
/generateGenerate a new signature. Returns download URLs for PNG and SVG formats.
Request Body
namestringrequiredThe name or text to render (1–200 characters)
stylestringStyle preset — see /styles for options. Default: elegant
slantfloatSlant angle override (-1.0 to 1.0)
pressurefloatPen pressure override (0.1 to 2.0)
sizefloatOutput size multiplier (0.5 to 3.0)
watermarkbooleanInclude watermark. Default: true (auto-removed with valid API key)
Response
{
"job_id": "job_a1b2c3d4e5f6",
"status": "completed",
"signature_id": "sig_x9y8z7w6v5u4",
"png_url": "/download/sig_x9y8z7w6v5u4.png",
"svg_url": "/download/sig_x9y8z7w6v5u4.svg",
"generation_ms": 142
}#List Styles
/stylesReturns all available signature styles with descriptions.
curl https://signatureai.ai/api/v1/styles#Signatures CRUD
/signatures/saveSave a generated signature to your account for later retrieval.
/signaturesList saved signatures with pagination. Optional user_id, limit, offset query params.
curl "https://signatureai.ai/api/v1/signatures?limit=10&offset=0" \
-H "X-API-Key: sk_live_your_key"/signatures/{sig_id}Permanently delete a saved signature. Returns 204 No Content on success.
#API Keys
/api-keysCreate a new API key. The full key is only returned once — store it securely.
curl -X POST https://signatureai.ai/api/v1/api-keys \
-H "Content-Type: application/json" \
-d '{
"name": "Production App",
"scopes": ["signatures:generate", "signatures:read"],
"expires_in_days": 365
}'Available Scopes
signatures:generatesignatures:readsignatures:deleteusage:read*/api-keysList all API keys with usage stats. Full key values are never returned.
/api-keys/{key_id}Revoke an API key. Revoked keys cannot be used for authentication.
/api-keys/validateValidate an API key and return its scopes. Send the key in the X-API-Key header.
#Rate Limits
Rate limits are applied per IP address on the /generate endpoint.
| Tier | Limit | Window | Watermark |
|---|---|---|---|
| Free (no key) | 100 requests | per minute | Yes |
| API Key (Pro) | Per-key limits | per minute | No |
Rate limit headers are included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1708171260#Error Codes
All errors return a consistent JSON structure:
{
"detail": "Human-readable error message"
}| Status | Meaning | Common Causes |
|---|---|---|
| 400 | Bad Request | Invalid parameters, malformed JSON |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | API key lacks required scope |
| 404 | Not Found | Resource doesn't exist |
| 429 | Rate Limited | Too many requests — slow down |
| 500 | Server Error | Internal error — retry with backoff |
| 503 | Unavailable | Model not loaded yet — retry shortly |
Ready to get started?
Create your free account and generate your first signature in seconds.