Yurlie REST API
Integrate 30+ developer, network, JSON, and encoding tools directly into your microservices, CLI scripts, and web applications.
Quick start
Create an account
Sign up free →Generate an API key
Dashboard API Keys →Make your first HTTP request
See endpoints below →Authentication & Headers
Include your secret API key in the X-API-Key HTTP header on every API request.
curl -X POST https://api.yurlie.app/v1/network/cidr \
-H "X-API-Key: yurlie_live_9a8b7c6d5e4f..." \
-H "Content-Type: application/json" \
-d '{"cidr": "192.168.1.0/24"}'The production API Base URL is https://api.yurlie.app. During local development, use http://localhost:8080.
Rate limits & Daily Quotas
Every HTTP API response includes rate limit headers informing you of your daily quota allowance.
API Endpoints Reference
Explore all available Yurlie REST API endpoints grouped by category.
Network & IP Tools
/v1/network/cidrCalculate IPv4 subnetting details, broadcast address, netmask, and usable host count
curl -X POST https://api.yurlie.app/v1/network/cidr \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "cidr": "192.168.1.0/24" }'{
"cidr": "192.168.1.0/24",
"ip": "192.168.1.0",
"prefix": 24,
"netmask": "255.255.255.0",
"wildcard_mask": "0.0.0.255",
"first_usable_ip": "192.168.1.1",
"last_usable_ip": "192.168.1.254",
"total_ips": 256,
"usable_hosts": 254
}/v1/network/aws-subnetCalculate AWS VPC subnets, 5 reserved IP addresses breakdown, and Multi-AZ VPC architecture plans
curl -X POST https://api.yurlie.app/v1/network/aws-subnet \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "cidr": "10.0.0.0/24", "region": "ap-southeast-1" }'{
"input_cidr": "10.0.0.0/24",
"ip_address": "10.0.0.0",
"prefix": 24,
"netmask": "255.255.255.0",
"total_ips": 256,
"aws_usable_ips": 251,
"first_usable_ip": "10.0.0.4",
"last_usable_ip": "10.0.0.254",
"aws_reserved_ips": [
{ "ip": "10.0.0.0", "name": "Network Address", "is_usable": false },
{ "ip": "10.0.0.1", "name": "VPC Router", "is_usable": false },
{ "ip": "10.0.0.2", "name": "Amazon DNS Server", "is_usable": false },
{ "ip": "10.0.0.3", "name": "AWS Future Use", "is_usable": false },
{ "ip": "10.0.0.4 ... 10.0.0.254", "name": "Usable EC2 Range", "is_usable": true },
{ "ip": "10.0.0.255", "name": "Broadcast Address", "is_usable": false }
]
}/v1/network/subnetConvert CIDR prefix (e.g. /26) to dotted-decimal Subnet Mask and vice-versa
curl -X POST https://api.yurlie.app/v1/network/subnet \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prefix": 26 }'{
"prefix": 26,
"netmask": "255.255.255.192",
"wildcard": "0.0.0.63",
"usable_hosts": 62
}/v1/network/ip-rangeConvert start and end IP addresses into optimal CIDR prefix blocks
curl -X POST https://api.yurlie.app/v1/network/ip-range \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "start_ip": "10.0.0.0", "end_ip": "10.0.0.255" }'{
"start_ip": "10.0.0.0",
"end_ip": "10.0.0.255",
"cidr_blocks": ["10.0.0.0/24"]
}/v1/network/ip-convertConvert IPv4 address to Decimal, Binary, Hexadecimal, and Octal formats
curl -X POST https://api.yurlie.app/v1/network/ip-convert \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "ip": "192.168.1.1" }'{
"ip": "192.168.1.1",
"decimal": 3232235777,
"binary": "11000000.10101000.00000001.00000001",
"hex": "C0A80101"
}/v1/network/wildcardCalculate Wildcard (inverse mask) for router & firewall ACL rules
curl -X POST https://api.yurlie.app/v1/network/wildcard \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "mask": "255.255.255.0" }'{
"netmask": "255.255.255.0",
"wildcard_mask": "0.0.0.255"
}/v1/network/ip-infoInspect IPv4 address class type, loopback, private/public status
curl -X POST https://api.yurlie.app/v1/network/ip-info \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "ip": "8.8.8.8" }'{
"ip": "8.8.8.8",
"is_private": false,
"is_loopback": false,
"class": "Class A"
}JSON & Data Tools
/v1/json/formatFormat, beautify, and validate JSON payload syntax
curl -X POST https://api.yurlie.app/v1/json/format \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "json": "{"name":"John","age":30}", "indent": 2 }'{
"formatted": "{\n \"name\": \"John\",\n \"age\": 30\n}",
"valid": true
}/v1/json/validateValidate JSON syntax compliance against RFC 8259 specifications
curl -X POST https://api.yurlie.app/v1/json/validate \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "json": "{invalid_json}" }'{
"valid": false,
"error": "invalid character 'i' looking for beginning of object key string",
"line": 1,
"column": 2
}/v1/json/minifyMinify JSON by removing unnecessary whitespace and line breaks
curl -X POST https://api.yurlie.app/v1/json/minify \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "json": "{\n \"status\": \"success\"\n}" }'{
"minified": "{\"status\":\"success\"}",
"saved_bytes": 10
}/v1/json/to-csvConvert an array of JSON objects into formatted CSV table data
curl -X POST https://api.yurlie.app/v1/json/to-csv \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "data": [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}] }'{
"csv": "id,name\n1,Alice\n2,Bob"
}/v1/json/from-csvParse raw CSV tabular string input into JSON array of objects
curl -X POST https://api.yurlie.app/v1/json/from-csv \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "csv": "id,name\n1,Alice\n2,Bob" }'{
"data": [
{"id": "1", "name": "Alice"},
{"id": "2", "name": "Bob"}
]
}Encoding & Security Tools
/v1/encoding/base64/encodeEncode text or binary data into Base64 string format
curl -X POST https://api.yurlie.app/v1/encoding/base64/encode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "Hello Yurlie!" }'{ "encoded": "SGVsbG8gWXVybGllIQ==" }/v1/encoding/base64/decodeDecode Base64 string input back to original plaintext
curl -X POST https://api.yurlie.app/v1/encoding/base64/decode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "SGVsbG8gWXVybGllIQ==" }'{ "decoded": "Hello Yurlie!" }/v1/encoding/url/encodePercent-encode special characters for safe URL query parameters
curl -X POST https://api.yurlie.app/v1/encoding/url/encode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "https://yurlie.app?q=code & data" }'{ "encoded": "https%3A%2F%2Fyurlie.app%3Fq%3Dcode%20%26%20data" }/v1/encoding/url/decodeDecode percent-encoded URL string back to readable text
curl -X POST https://api.yurlie.app/v1/encoding/url/decode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "hello%20world%20%26%20more" }'{ "decoded": "hello world & more" }/v1/encoding/html/encodeEscape dangerous HTML tags and characters to prevent XSS vulnerabilities
curl -X POST https://api.yurlie.app/v1/encoding/html/encode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "<script>alert('xss')</script>" }'{ "encoded": "<script>alert('xss')</script>" }/v1/encoding/html/decodeDecode HTML entities back to raw HTML characters
curl -X POST https://api.yurlie.app/v1/encoding/html/decode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "<div>Hello</div>" }'{ "decoded": "<div>Hello</div>" }/v1/encoding/jwt/decodeDecode and inspect JSON Web Token header, claims payload, and expiry without secret
curl -X POST https://api.yurlie.app/v1/encoding/jwt/decode \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }'{
"header": { "alg": "HS256", "typ": "JWT" },
"payload": { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 },
"is_expired": false
}Developer & Utility Tools
/v1/developer/uuidGenerate globally unique UUID v4 (random) or UUID v7 (time-ordered)
curl -X POST https://api.yurlie.app/v1/developer/uuid \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "version": "v7", "count": 2 }'{
"version": "v7",
"uuids": [
"01910d54-8e12-7000-84a1-3b9e4a2c1d01",
"01910d54-8e12-7000-84a2-4c0f5b3d2e02"
]
}/v1/developer/hashCalculate cryptographic hash checksums (MD5, SHA-1, SHA-256, SHA-512)
curl -X POST https://api.yurlie.app/v1/developer/hash \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "my-secret-password", "algorithm": "sha256" }'{
"algorithm": "sha256",
"hash": "89e01536ac207279409d4de1e5253e01f4a1769e696db0d6062ca9b8f56767c8"
}/v1/developer/timestampConvert Unix Epoch timestamp to ISO 8601 UTC date string and vice-versa
curl -X POST https://api.yurlie.app/v1/developer/timestamp \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "timestamp": 1722513600 }'{
"timestamp": 1722513600,
"iso": "2026-08-01T12:00:00.000Z",
"utc": "Sat, 01 Aug 2026 12:00:00 GMT"
}/v1/developer/regexTest Regular Expression pattern matching against input text string
curl -X POST https://api.yurlie.app/v1/developer/regex \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "pattern": "^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$", "text": "[email protected]" }'{
"is_match": true,
"matches": ["[email protected]"]
}/v1/developer/diffCompute line-by-line diff between two text strings
curl -X POST https://api.yurlie.app/v1/developer/diff \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "text_a": "line 1\nline 2", "text_b": "line 1\nline 3" }'{
"diff": "- line 2\n+ line 3"
}/v1/developer/sql/formatBeautify and format SQL statements with consistent indentation
curl -X POST https://api.yurlie.app/v1/developer/sql/format \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "sql": "SELECT * FROM users WHERE active=1 ORDER BY id DESC" }'{
"formatted": "SELECT\n *\nFROM\n users\nWHERE\n active = 1\nORDER BY\n id DESC"
}/v1/developer/xml/formatFormat and beautify XML markup documents
curl -X POST https://api.yurlie.app/v1/developer/xml/format \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "xml": "<root><child>value</child></root>" }'{
"formatted": "<root>\n <child>value</child>\n</root>"
}/v1/developer/cron/describeParse 5-field Cron schedule expression into human-readable description & upcoming runs
curl -X POST https://api.yurlie.app/v1/developer/cron/describe \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "cron": "0 0 * * 1" }'{
"cron": "0 0 * * 1",
"description": "At 00:00 AM, only on Monday",
"next_runs": [
"2026-08-03T00:00:00Z",
"2026-08-10T00:00:00Z"
]
}