API Documentation

This page documents the APIs available for integration with my services. The APIs are protected by a proxy system that provides authentication, rate limiting, and security features.

The API is designed with a proxy architecture that provides several benefits:

  • Security: The proxy layer handles authentication and blocks malicious requests
  • Rate Limiting: Prevents abuse by limiting request frequency
  • Simplified Access: Provides a unified interface to multiple backend services

Proxy Base URL: https://www.proxy.alexanderfields.me

All API endpoints should be accessed through the proxy service directly.

Full endpoint format: https://www.proxy.alexanderfields.me/[endpoint]

Protected endpoints require authentication using API keys. Improper authentication attempts may result in temporary or permanent IP bans.

Security Features

  • IP Blocking: The system maintains a blocklist of IPs that have made unauthorized attempts
  • Automatic Banning: IPs making multiple failed authentication attempts are automatically banned
  • Intrusion Detection: Attempts to access sensitive files or endpoints result in immediate IP bans

To request API access, please contact me through the Contact Page.

EndpointMethodDescriptionAuth Required
/productsGETRetrieves all available productsNo
/products?type=amazonGETRetrieves Amazon marketplace listingsNo
/products?type=ebayGETRetrieves eBay marketplace listingsNo
/bots/trading/logsGETRetrieves trading bot logsNo
/deployment/infoGETReturns deployment timestamp and uptimeNo
/api/proxy/github-statsGETReturns GitHub language statistics with percentages and colorsNo

GitHub Statistics Response Format

The /api/proxy/github-stats endpoint returns language statistics in the following JSON format:

{
  "stats": [
    {
      "name": "Java",
      "value": 33.78,
      "color": "#b07219"
    },
    {
      "name": "C#", 
      "value": 25.76,
      "color": "#178600"
    }
    // ... more languages
  ]
}
  • name: Programming language name
  • value: Percentage of code written in that language
  • color: Hex color code for visualization

These endpoints facilitate payment processing through PayPal integration:

EndpointMethodDescription
/paypal/create-orderPOSTCreates a new PayPal payment order
/paypal/capture-orderPOSTCaptures (finalizes) a PayPal payment

These endpoints are primarily used by the shopping cart system on this website.

These endpoints manage audio files for the website's music player functionality. Files are stored using MongoDB GridFS to handle large audio files efficiently.

EndpointMethodDescriptionAuth Required
/audio/:filenameGETRetrieves an audio file by filenameNo
/audio/uploadPOSTUploads a new audio file (multipart/form-data)Yes

Technical Details

  • Storage: Audio files are compressed with gzip before storage to save space
  • Decompression: Files are automatically decompressed when served
  • Format: Supports WAV audio files
  • Size Limit: Maximum file size is 500MB (configured in Next.js)
  • GridFS: Uses MongoDB GridFS for automatic chunking of large files

The audio files are used in the Personality and Products pages for background music.

These endpoints allow authorized users to manage Minecraft server settings and backups. All Minecraft endpoints require authentication.

Server Configuration

EndpointMethodDescription
/games/minecraft/whitelistGETGets the server whitelist
/games/minecraft/whitelistPOSTUpdates the server whitelist
/games/minecraft/operatorsGETGets server operators
/games/minecraft/operatorsPOSTUpdates server operators

World Save Management

EndpointMethodDescription
/games/minecraft/savesGETGets all world saves
/games/minecraft/save/:fileIdGETDownloads a specific world save
/games/minecraft/savePOSTUploads a new world save
/games/minecraft/save/:fileIdDELETEDeletes a specific save
/games/minecraft/save/older-than/:amountDELETEDeletes saves older than a specified age
/games/minecraft/save/keep/:countDELETEKeeps only the specified number of recent saves

These endpoints allow for automated backup and restoration of Minecraft worlds.

To prevent abuse, the API enforces rate limits on requests. Exceeding these limits may result in temporary blocking.

Default rate limit: 45 requests per minute per IP address.

If you need higher rate limits for a legitimate application, please contact me through the Contact Page.

© 2025 Alexander Fields. All rights reserved. If you want to see the code request access @ GitHub