API Reference

Complete documentation of all available endpoints and their usage.

GUID Generator Endpoints

GET /guids

Display the GUID generator interface.

Response: HTML page with generator form

POST /guids/generate

Generate GUIDs based on specified options.

Request Body:
{
  "Count": 5,
  "Uppercase": false,
  "IncludeHyphens": true,
  "IncludeBraces": false
}
Parameters:
  • Count (int): Number of GUIDs to generate (1-100)
  • Uppercase (bool): Generate uppercase GUIDs
  • IncludeHyphens (bool): Include hyphens in format
  • IncludeBraces (bool): Wrap GUIDs in braces
Response:

HTML fragment containing generated GUIDs

People Generator Endpoints

GET /people

Display the people generator interface.

Response: HTML page with generator form

POST /people/generate

Generate people data with optional contact information.

Request Body:
{
  "Count": 10,
  "IncludeEmail": true,
  "IncludePhone": true,
  "IncludeAddress": true,
  "Append": false
}
Parameters:
  • Count (int): Number of people to generate (1-100)
  • IncludeEmail (bool): Include email addresses
  • IncludePhone (bool): Include phone numbers
  • IncludeAddress (bool): Include postal addresses
  • Append (bool): Append to existing results
Response:

HTML fragment containing person cards

Orders Generator Endpoints

GET /orders

Display the orders generator interface.

Response: HTML page with generator form

POST /orders/generate

Generate order data with customer and item information.

Request Body:
{
  "Count": 5,
  "ItemsPerOrder": 3,
  "IncludeCustomerPhone": true,
  "IncludeCustomerAddress": true,
  "Append": false
}
Parameters:
  • Count (int): Number of orders to generate (1-100)
  • ItemsPerOrder (int): Items per order (1-10)
  • IncludeCustomerPhone (bool): Include customer phone
  • IncludeCustomerAddress (bool): Include customer address
  • Append (bool): Append to existing results
Response:

HTML fragment containing order cards

Password Generator Endpoints

GET /passwords

Display the password generator interface.

Response: HTML page with generator form

POST /passwords/generate

Generate passwords based on the specified options. Requires a valid antiforgery token.

Request Body:
{
  "Count": 5,
  "Type": 0,
  "Length": 16,
  "IncludeUppercase": true,
  "IncludeLowercase": true,
  "IncludeDigits": true,
  "IncludeSymbols": false,
  "ExcludeAmbiguous": false,
  "BeginWithLetter": false,
  "WordCount": 4,
  "WordSeparator": "-"
}
Parameters:
  • Count (int): Number of passwords to generate (1–100)
  • Type (int): Password type — 0 Random, 1 Memorable, 2 PIN, 3 Hex, 4 Alphanumeric
  • Length (int): Character length (8–128; ignored for Memorable)
  • IncludeUppercase (bool): Include A–Z
  • IncludeLowercase (bool): Include a–z
  • IncludeDigits (bool): Include 0–9
  • IncludeSymbols (bool): Include special symbols (Random type only)
  • ExcludeAmbiguous (bool): Exclude 0 O l 1 I
  • BeginWithLetter (bool): Force first character to be a letter
  • WordCount (int): Number of words (3–8; Memorable type only)
  • WordSeparator (string): Separator between words (Memorable type only)
Response:

HTML fragment containing generated password rows, ready to be swapped into the page by HTMX.

POST /passwords/single-password

Generate a single password using current form options. Does not require an antiforgery token — intended for the "Add one" quick-add button.

Response:

HTML fragment for a single password row.

Color Palette Endpoints

GET /colors

Display the color palette generator interface.

Response: HTML page with generator form

POST /colors/generate

Generate a color palette of harmonious swatches.

Request Body:
{
  "Count": 6
}
Parameters:
  • Count (int): Number of colors to generate (1–24)
Response:

HTML fragment containing color swatches with Hex, RGB, and HSL values

Lorem Ipsum Endpoints

GET /lorem

Display the Lorem Ipsum generator interface.

Response: HTML page with generator form

POST /lorem/generate

Generate placeholder text in words, sentences, or paragraphs.

Request Body:
{
  "Unit": 2,
  "Count": 3,
  "StartWithLorem": true
}
Parameters:
  • Unit (int): Unit type — 0 Words, 1 Sentences, 2 Paragraphs
  • Count (int): Number of units to generate (1–50)
  • StartWithLorem (bool): Begin with the classic “Lorem ipsum dolor sit amet…” opening
Response:

HTML fragment containing the generated text blocks

Hash Generator Endpoints

GET /hash

Display the hash generator interface.

Response: HTML page with generator form

POST /hash/compute

Compute a cryptographic hash of the provided input text.

Request Body:
{
  "Input": "Hello, World!",
  "Algorithm": 2,
  "OutputEncoding": 0
}
Parameters:
  • Input (string): Text to hash
  • Algorithm (int): Hash algorithm — 0 MD5, 1 SHA-1, 2 SHA-256, 3 SHA-512
  • OutputEncoding (int): Output format — 0 Hex, 1 Base64
Response:

HTML fragment containing the computed hash value

Base64 Endpoints

GET /base64

Display the Base64 encoder/decoder interface.

Response: HTML page with converter form

POST /base64/convert

Encode or decode a string using Base64 or URL-safe Base64.

Request Body:
{
  "Input": "Hello, World!",
  "Mode": 0,
  "UrlSafe": false
}
Parameters:
  • Input (string): Text to encode or decode
  • Mode (int): Direction — 0 Encode, 1 Decode
  • UrlSafe (bool): Use URL-safe encoding (replaces +/= with -_~)
Response:

HTML fragment containing the encoded or decoded result

JSON Formatter Endpoints

GET /json

Display the JSON formatter interface.

Response: HTML page with formatter form

POST /json/process

Format or minify a JSON string.

Request Body:
{
  "Input": "{\"name\":\"Alice\",\"age\":30}",
  "Action": 0,
  "IndentSize": 2
}
Parameters:
  • Input (string): JSON string to process
  • Action (int): Operation — 0 Format (pretty-print), 1 Minify
  • IndentSize (int): Spaces per indent level for formatting (2–8, default 2)
Response:

HTML fragment containing the formatted or minified JSON

JWT Decoder Endpoints

GET /jwt

Display the JWT decoder interface.

Response: HTML page with decoder form

POST /jwt/decode

Decode a JWT token and return the parsed header and payload. Note: this endpoint does not verify the token signature.

Request Body:
{
  "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Parameters:
  • Token (string): The JWT string (three Base64URL-encoded segments separated by dots)
Response:

HTML fragment containing pretty-printed header and payload JSON, plus expiry information if present

Unix Timestamp Endpoints

GET /timestamp

Display the Unix timestamp converter interface.

Response: HTML page with converter form

POST /timestamp/convert

Convert between a Unix epoch timestamp and a human-readable date/time string.

Request Body:
{
  "Input": "1700000000",
  "Direction": 0,
  "UseMilliseconds": false
}
Parameters:
  • Input (string): The value to convert — a numeric epoch for EpochToDate, or an ISO 8601 / RFC 2822 date string for DateToEpoch
  • Direction (int): Conversion direction — 0 EpochToDate, 1 DateToEpoch
  • UseMilliseconds (bool): Treat the input epoch as milliseconds instead of seconds
Response:

HTML fragment containing the converted value with UTC and local time representations

Authentication & Security

All POST requests require a valid antiforgery token for security.
Antiforgery Token

Include the antiforgery token in the request header:

// Get token from form or meta tag
const token = document.querySelector('input[name="__RequestVerificationToken"]').value;

// Include in request headers
fetch('/people/generate', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'RequestVerificationToken': token
    },
    body: JSON.stringify(requestData)
});

Error Handling

HTTP Status Codes
  • 200 OK - Request successful
  • 400 Bad Request - Invalid parameters or missing antiforgery token
  • 404 Not Found - Endpoint not found
  • 500 Internal Server Error - Server error
Validation Errors

Parameter validation errors return detailed information:

{
  "Count": ["The field Count must be between 1 and 100."],
  "ItemsPerOrder": ["The field ItemsPerOrder must be between 1 and 10."]
}
Rate Limiting: For optimal performance, avoid generating more than 100 items per request. Use multiple smaller requests for larger datasets.