✨ Add JSON upload API for native clients
POST /api/v1/documents creates a document from a multipart file (or
files[]) and returns its view_url, edit_url and expires_at. Files over
100 MB go through POST /api/v1/direct_uploads, a CSRF-free mirror of
Active Storage's direct uploads, and are attached by signed_ids[].
The controllers inherit from ActionController::API, answer errors as
JSON and are rate limited per IP. Documented in README and llms.txt.