The FileShare Pro API
Everything the app can do, a script can do: upload files, manage links, read comments, publish mini-sites. The CLI and the MCP server are thin wrappers over exactly these endpoints.
Authentication
Create a token on the Developer page and send it as a bearer credential. Tokens start with fsp_ and carry your full account access — treat one like a password. The only thing a token cannot do is manage tokens; that needs a signed-in session, so a leaked token can never lock you out of revoking it.
curl https://file-share-pro.com/api/me \
-H "Authorization: Bearer fsp_your_token_here"Uploading a file
Uploads are three steps: declare the file, PUT the bytes straight to storage with the presigned URL, then confirm. A file that is never confirmed is never served — the declared size is checked against your plan before a URL is issued, and the real size is recorded at completion.
# 1. Declare — returns file_id, slug and a presigned upload_url
curl -X POST https://file-share-pro.com/api/files \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"file_name": "page.html", "size_bytes": 4096, "content_type": "text/html"}'
# 2. Upload the bytes (no auth header — the URL itself is the credential)
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: text/html" \
--data-binary @page.html
# 3. Confirm — the share link goes live
curl -X POST https://file-share-pro.com/api/files/$FILE_ID/complete \
-H "Authorization: Bearer $TOKEN"Files
/api/filesList your files (and workspace files)/api/filesBegin an upload — see above/api/files/:id/completeFinalize an upload/api/files/:idTitle, visibility, tags, comment settings/api/files/:id/replaceNew content, same link/api/files/:id/stats30-day view timeline/api/files/:idDelete — the link 404s immediatelyPATCH accepts visibility (public · expiring · disabled), comments_enabled, and comments_visibility (approval · open).
Comments
/api/comments?file_id=…Thread for a file/api/commentsReply as yourself (owners auto-approve)/api/comments/:id/approvePublish a held guest comment/api/comments/:idRemove a comment on your file/api/reviewEverything held across your filesMedia assets
Supporting resources — images, css, js, fonts — with a stable CDN URL your pages and mini-sites can reference. Same declare → PUT → complete flow as files.
/api/assetsList your assets/api/assetsBegin an upload/api/assets/:id/completeFinalize — URL goes live/api/assets/:idDelete and purge the CDNMini-sites
/api/sitesList your sites/api/sitesCreate (returns a starter draft)/api/sites/:idSite with its full draft/api/sites/:idSave the draft/api/sites/:id/publishDraft → live URL/api/sites/:idDelete site and published pagesWorkspaces & account
/api/meProfile, plan limits, current usage/api/workspacesWorkspaces you belong to/api/workspacesCreate a workspace/api/insightsAccount-wide view analyticsConventions
- Errors are JSON:
{"error": "what went wrong"}with a meaningful status. A 403 with"upgrade": truemeans the plan, not the request, is the problem. - Writes are rate-limited per account. Back off on 429 — the window is about a minute.
- IDs are UUIDs. Share links live on
fileproapp.com; the API lives here. - The API and CLI are open to every beta account while FileShare Pro is in beta; after that they are Pro features.
Try it in two minutes
Sign up free, mint a token on the Developer page, and your first curl is one paste away.