All endpoints require a Bearer token in the Authorization header. Your account UUID is part of the URL path.
Base URL: https://api.mecanik.dev/v1/client/{uuid}/tools
curl -X POST https://api.mecanik.dev/v1/client/YOUR_UUID/tools/security-headers \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
/v1/client/{uuid}/tools/security-headers
Analyze any URL's HTTP security headers (HSTS, CSP, X-Frame-Options, Permissions-Policy, and more). Returns a letter grade (A+ to F) and actionable recommendations.
{ "url": "https://example.com" }{
"result": {
"url": "https://example.com",
"grade": "B",
"score": 70,
"headers": [
{
"header": "Strict-Transport-Security",
"present": true,
"value": "max-age=31536000; includeSubDomains",
"rating": "good",
"recommendation": ""
}
],
"scanned_at": "2025-06-01T12:00:00.000Z"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/tls-check
Verify SSL/TLS configuration, HSTS enforcement, HTTP-to-HTTPS redirect, and TLS version for any hostname.
{ "host": "example.com", "port": 443 }{
"result": {
"host": "example.com",
"port": 443,
"protocol": "HTTPS",
"tls_version": "TLSv1.3",
"grade": "A",
"issues": [],
"scanned_at": "2025-06-01T12:00:00.000Z"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/tech-detect
Detect the tech stack behind any website: CMS, frameworks, CDN, analytics, and 35+ technology signatures.
{ "url": "https://example.com" }{
"result": {
"url": "https://example.com",
"technologies": [
{ "name": "Cloudflare", "category": "CDN" },
{ "name": "Next.js", "category": "Framework" }
],
"count": 2,
"scanned_at": "2025-06-01T12:00:00.000Z"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/seo-analyze
Analyze meta tags, Open Graph, structured data, canonical URL, robots directives, and 15+ on-page SEO factors with a score.
{ "url": "https://example.com" }{
"result": {
"url": "https://example.com",
"grade": "A",
"score": 85,
"findings": [
{ "name": "title", "content": "Example Domain", "status": "good", "recommendation": "" }
],
"scanned_at": "2025-06-01T12:00:00.000Z"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/dns-lookup
Query A, AAAA, MX, TXT, CNAME, NS, SOA, SRV, and CAA records via Cloudflare DNS-over-HTTPS.
{ "domain": "example.com", "types": ["A", "MX", "TXT"] }{
"result": {
"domain": "example.com",
"records": {
"A": [{ "type": "A", "name": "example.com.", "data": "93.184.216.34", "ttl": 3600 }],
"MX": [],
"TXT": []
},
"queried_types": ["A", "MX", "TXT"],
"scanned_at": "2025-06-01T12:00:00.000Z"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/email-deliverability
Check MX records, SPF, DKIM (9 common selectors), and DMARC for any domain. Get a deliverability score and grade.
{ "domain": "example.com" }{
"result": {
"domain": "example.com",
"score": 75,
"grade": "B",
"checks": [
{ "name": "MX Records", "status": "pass", "detail": "Found 1 MX record(s)" },
{ "name": "SPF", "status": "pass", "detail": "SPF record with hard fail (-all)" }
],
"scanned_at": "2025-06-01T12:00:00.000Z"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/qr-generate
Generate QR codes as SVG or Base64 PNG. Supports custom size, foreground/background colors.
{ "data": "https://mecanik.dev", "format": "svg", "size": 256 }{
"result": {
"format": "svg",
"size": 256,
"data": "<svg xmlns=\"http://www.w3.org/2000/svg\" ...>...</svg>"
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/placeholder-image
Generate SVG placeholder images with custom dimensions, colors, and text. Pass parameters as query string.
Query: ?width=400&height=300&bg=cccccc&color=333333&text=400x300
Returns SVG image directly (Content-Type: image/svg+xml)
/v1/client/{uuid}/tools/hash-generate
Compute SHA-1, SHA-256, SHA-384, SHA-512, and MD5 hashes of any input string (max 100K characters).
{ "input": "hello world", "algorithm": "sha256" }{
"result": {
"algorithm": "SHA-256",
"hash": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",
"input_length": 11
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/jwt-decode
Decode JWT headers and payloads, analyze expiration, issuer, algorithm, and surface security warnings.
{ "token": "eyJhbGciOi..." }{
"result": {
"header": { "alg": "HS256", "typ": "JWT" },
"payload": { "sub": "1234567890", "iat": 1516239022 },
"expired": false,
"warnings": []
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/password-strength
Entropy calculation, pattern detection, dictionary checks, keyboard patterns, and crack-time estimation.
{ "password": "MyP@ssw0rd!" }{
"result": {
"score": 3,
"label": "Strong",
"entropy_bits": 52.4,
"crack_time_display": "centuries",
"suggestions": []
},
"success": true,
"errors": []
}/v1/client/{uuid}/tools/cron-explain
Parse cron expressions into human-readable descriptions with the next N scheduled run times.
{ "expression": "*/5 * * * *", "count": 3 }{
"result": {
"expression": "*/5 * * * *",
"description": "Every 5 minutes",
"next_runs": [
"2025-06-01T12:05:00.000Z",
"2025-06-01T12:10:00.000Z",
"2025-06-01T12:15:00.000Z"
]
},
"success": true,
"errors": []
}Retry-After header.Limits are per user per 1-minute sliding window: