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/v1

Format

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

POST/generate

Generate a new signature. Returns download URLs for PNG and SVG formats.

Request Body

namestringrequired

The name or text to render (1–200 characters)

stylestring

Style preset — see /styles for options. Default: elegant

slantfloat

Slant angle override (-1.0 to 1.0)

pressurefloat

Pen pressure override (0.1 to 2.0)

sizefloat

Output size multiplier (0.5 to 3.0)

watermarkboolean

Include 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

GET/styles

Returns all available signature styles with descriptions.

curl https://signatureai.ai/api/v1/styles

#Signatures CRUD

POST/signatures/save

Save a generated signature to your account for later retrieval.

GET/signatures

List 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"
DELETE/signatures/{sig_id}

Permanently delete a saved signature. Returns 204 No Content on success.

#API Keys

POST/api-keys

Create 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*
GET/api-keys

List all API keys with usage stats. Full key values are never returned.

DELETE/api-keys/{key_id}

Revoke an API key. Revoked keys cannot be used for authentication.

POST/api-keys/validate

Validate 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.

TierLimitWindowWatermark
Free (no key)100 requestsper minuteYes
API Key (Pro)Per-key limitsper minuteNo

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"
}
StatusMeaningCommon Causes
400Bad RequestInvalid parameters, malformed JSON
401UnauthorizedMissing or invalid API key
403ForbiddenAPI key lacks required scope
404Not FoundResource doesn't exist
429Rate LimitedToo many requests — slow down
500Server ErrorInternal error — retry with backoff
503UnavailableModel not loaded yet — retry shortly

Ready to get started?

Create your free account and generate your first signature in seconds.