API Documentation

Base URL: https://i.scz.my.id

Auth: public (no API key). Set API_KEYS to require a key.
Upload File
POST /api/upload (ShareX) or POST /api/v1/upload
Multipart form-data with file or files[].
curl -X POST "https://i.scz.my.id/api/v1/upload" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -F "file=@C:\\path\\to\\file.jpg"
Response:
{
  "status": "success",
  "files": [
    {
      "message_id": "1234567890",
      "url": "https://i.scz.my.id/1234567890",
      "friendly_url": "https://i.scz.my.id/1234567890/file.jpg",
      "raw_url": "https://i.scz.my.id/dl/1234567890",
      "filename": "file.jpg"
    }
  ],
  "errors": [],
  "url": "https://i.scz.my.id/1234567890/file.jpg"
}
Create Short Link
POST /api/v1/short-links
Provide destination_url or message_id. Optional custom_code.
curl -X POST "https://i.scz.my.id/api/v1/short-links" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"destination_url\":\"https://example.com\",\"custom_code\":\"mycode\"}"
Response:
{
  "status": "success",
  "short_url": "https://i.scz.my.id/s/mycode",
  "code": "mycode"
}
File Metadata
GET /api/v1/files/{messageId}
curl "https://i.scz.my.id/api/v1/files/1234567890" \
  -H "X-Api-Key: YOUR_API_KEY"
Response:
{
  "status": "success",
  "file": {
    "message_id": "1234567890",
    "filename": "file.jpg",
    "mime_type": "image/jpeg",
    "size": 12345,
    "uploaded_at": "2026-01-01T12:00:00Z",
    "preview_url": "https://i.scz.my.id/1234567890",
    "download_url": "https://i.scz.my.id/dl/1234567890",
    "friendly_url": "https://i.scz.my.id/1234567890/file.jpg"
  }
}
Error Format
Errors return non-2xx status codes with JSON:
{
  "status": "error",
  "message": "Unauthorized."
}