{"auth":{"X-API-Key":"Public API Key (pmk_...) or legacy key - for read/GET operations","X-API-Secret":"API Secret (pms_...) - for server operations (upload, delete, presign)","X-Client-ID":"Client identifier (optional, for key-level filtering)","note":"Legacy keys (pm_...) retain full access for backward compatibility"},"endpoints":{"deleteFile":"DELETE /{root}/{path} - delete original + derived (requires X-API-Secret)","health":"GET /health","presign":"POST /presign (requires X-API-Secret) - generate presigned upload URL","presignedUpload":"PUT /upload/presigned/:token - upload via presigned URL (no auth)","protectedFiles":"GET /{root}/{path} - requires X-API-Key","publicFiles":"GET /public/{path} - no auth required","purgeAll":"POST /?purge - purge the ENTIRE derived cache (requires X-API-Secret)","purgeFile":"POST /{root}/{path}?purge - purge derived only (requires X-API-Secret)","purgeFolder":"POST /{root}/?purge - purge all derived under a root folder (requires X-API-Secret)","upload":"POST /upload (requires X-API-Secret)"},"imageTransforms":{"description":"Path-based transforms: /{root}/w_200,h_200,c_cover,q_80,f_webp/{path}","example":"/public/w_200,h_200,c_cover,f_webp/images/abc123/photo.jpg","params":"w=width, h=height, c=fit(cover|contain|fill|inside|outside), q=quality(1-100), f=format(jpg|png|webp|avif)"},"service":"Storage Server","status":"running","version":"1.0.5-go"}
