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
Request Body JSON
{ "cidr": "192.168.1.0/24" }Response JSON (200 OK)
{
"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/subnetConvert CIDR prefix (e.g. /26) to dotted-decimal Subnet Mask and vice-versa
Request Body JSON
{ "prefix": 26 }Response JSON (200 OK)
{
"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
Request Body JSON
{ "start_ip": "10.0.0.0", "end_ip": "10.0.0.255" }Response JSON (200 OK)
{
"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
Request Body JSON
{ "ip": "192.168.1.1" }Response JSON (200 OK)
{
"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
Request Body JSON
{ "mask": "255.255.255.0" }Response JSON (200 OK)
{
"netmask": "255.255.255.0",
"wildcard_mask": "0.0.0.255"
}/v1/network/ip-infoInspect IPv4 address class type, loopback, private/public status
Request Body JSON
{ "ip": "8.8.8.8" }Response JSON (200 OK)
{
"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
Request Body JSON
{ "json": "{"name":"John","age":30}", "indent": 2 }Response JSON (200 OK)
{
"formatted": "{\n \"name\": \"John\",\n \"age\": 30\n}",
"valid": true
}/v1/json/validateValidate JSON syntax compliance against RFC 8259 specifications
Request Body JSON
{ "json": "{invalid_json}" }Response JSON (200 OK)
{
"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
Request Body JSON
{ "json": "{\n \"status\": \"success\"\n}" }Response JSON (200 OK)
{
"minified": "{\"status\":\"success\"}",
"saved_bytes": 10
}/v1/json/to-csvConvert an array of JSON objects into formatted CSV table data
Request Body JSON
{ "data": [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}] }Response JSON (200 OK)
{
"csv": "id,name\n1,Alice\n2,Bob"
}/v1/json/from-csvParse raw CSV tabular string input into JSON array of objects
Request Body JSON
{ "csv": "id,name\n1,Alice\n2,Bob" }Response JSON (200 OK)
{
"data": [
{"id": "1", "name": "Alice"},
{"id": "2", "name": "Bob"}
]
}Encoding & Security Tools
/v1/encoding/base64/encodeEncode text or binary data into Base64 string format
Request Body JSON
{ "input": "Hello Yurlie!" }Response JSON (200 OK)
{ "encoded": "SGVsbG8gWXVybGllIQ==" }/v1/encoding/base64/decodeDecode Base64 string input back to original plaintext
Request Body JSON
{ "input": "SGVsbG8gWXVybGllIQ==" }Response JSON (200 OK)
{ "decoded": "Hello Yurlie!" }/v1/encoding/url/encodePercent-encode special characters for safe URL query parameters
Request Body JSON
{ "input": "https://yurlie.app?q=code & data" }Response JSON (200 OK)
{ "encoded": "https%3A%2F%2Fyurlie.app%3Fq%3Dcode%20%26%20data" }/v1/encoding/url/decodeDecode percent-encoded URL string back to readable text
Request Body JSON
{ "input": "hello%20world%20%26%20more" }Response JSON (200 OK)
{ "decoded": "hello world & more" }/v1/encoding/html/encodeEscape dangerous HTML tags and characters to prevent XSS vulnerabilities
Request Body JSON
{ "input": "<script>alert('xss')</script>" }Response JSON (200 OK)
{ "encoded": "<script>alert('xss')</script>" }/v1/encoding/html/decodeDecode HTML entities back to raw HTML characters
Request Body JSON
{ "input": "<div>Hello</div>" }Response JSON (200 OK)
{ "decoded": "<div>Hello</div>" }/v1/encoding/jwt/decodeDecode and inspect JSON Web Token header, claims payload, and expiry without secret
Request Body JSON
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }Response JSON (200 OK)
{
"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)
Request Body JSON
{ "version": "v7", "count": 2 }Response JSON (200 OK)
{
"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)
Request Body JSON
{ "input": "my-secret-password", "algorithm": "sha256" }Response JSON (200 OK)
{
"algorithm": "sha256",
"hash": "89e01536ac207279409d4de1e5253e01f4a1769e696db0d6062ca9b8f56767c8"
}/v1/developer/timestampConvert Unix Epoch timestamp to ISO 8601 UTC date string and vice-versa
Request Body JSON
{ "timestamp": 1722513600 }Response JSON (200 OK)
{
"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
Request Body JSON
{ "pattern": "^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$", "text": "user@yurlie.app" }Response JSON (200 OK)
{
"is_match": true,
"matches": ["user@yurlie.app"]
}/v1/developer/diffCompute line-by-line diff between two text strings
Request Body JSON
{ "text_a": "line 1\nline 2", "text_b": "line 1\nline 3" }Response JSON (200 OK)
{
"diff": "- line 2\n+ line 3"
}/v1/developer/sql/formatBeautify and format SQL statements with consistent indentation
Request Body JSON
{ "sql": "SELECT * FROM users WHERE active=1 ORDER BY id DESC" }Response JSON (200 OK)
{
"formatted": "SELECT\n *\nFROM\n users\nWHERE\n active = 1\nORDER BY\n id DESC"
}/v1/developer/xml/formatFormat and beautify XML markup documents
Request Body JSON
{ "xml": "<root><child>value</child></root>" }Response JSON (200 OK)
{
"formatted": "<root>\n <child>value</child>\n</root>"
}/v1/developer/cron/describeParse 5-field Cron schedule expression into human-readable description & upcoming runs
Request Body JSON
{ "cron": "0 0 * * 1" }Response JSON (200 OK)
{
"cron": "0 0 * * 1",
"description": "At 00:00 AM, only on Monday",
"next_runs": [
"2026-08-03T00:00:00Z",
"2026-08-10T00:00:00Z"
]
}