DEVELOPERS

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

GET/api/filesList your files (and workspace files)
POST/api/filesBegin an upload — see above
POST/api/files/:id/completeFinalize an upload
PATCH/api/files/:idTitle, visibility, tags, comment settings
POST/api/files/:id/replaceNew content, same link
GET/api/files/:id/stats30-day view timeline
DELETE/api/files/:idDelete — the link 404s immediately

PATCH accepts visibility (public · expiring · disabled), comments_enabled, and comments_visibility (approval · open).

Comments

GET/api/comments?file_id=…Thread for a file
POST/api/commentsReply as yourself (owners auto-approve)
PATCH/api/comments/:id/approvePublish a held guest comment
DELETE/api/comments/:idRemove a comment on your file
GET/api/reviewEverything held across your files

Media 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.

GET/api/assetsList your assets
POST/api/assetsBegin an upload
POST/api/assets/:id/completeFinalize — URL goes live
DELETE/api/assets/:idDelete and purge the CDN

Mini-sites

GET/api/sitesList your sites
POST/api/sitesCreate (returns a starter draft)
GET/api/sites/:idSite with its full draft
PATCH/api/sites/:idSave the draft
POST/api/sites/:id/publishDraft → live URL
DELETE/api/sites/:idDelete site and published pages

Workspaces & account

GET/api/meProfile, plan limits, current usage
GET/api/workspacesWorkspaces you belong to
POST/api/workspacesCreate a workspace
GET/api/insightsAccount-wide view analytics

Conventions

  • Errors are JSON: {"error": "what went wrong"} with a meaningful status. A 403 with "upgrade": true means 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.

Get early access