Skip to main content

OpenAPI spec

FilesHub ships a machine-readable OpenAPI 3.1 spec at /openapi.json. Point an AI coding agent or an OpenAPI generator at it to integrate FilesHub without reading prose.

https://fileshub-docs.zaions.com/openapi.json

What it covers​

The core integration surface, with full request/response schemas:

  • Objects — upload, download, list, delete.
  • Emails — send (raw + template), template CRUD, recurring schedules.
  • Jobs — poll queued operations.
  • Status — health and version (documented at /api, not /api/v1).
  • Management API — projects, API keys (create, rotate, reveal), per-key origins, global origins, key lookup, and the Supabase project vault.

Two security schemes are declared. The data plane uses X-API-Key (an API-key header), with the app-restriction headers (X-App-Id, X-Android-Cert) as optional parameters on secured operations. The Management API operations use BearerAuth (a user-level fh_pat_ access token) and each carries its own servers block pointing at /api/public/v1, since it is a different base URL.

Every other API route is in it too — the 40+ stateless developer utilities, notifications, pastes, short URLs, webhooks, mock APIs, uptime monitors and the newer Management routes. Those operations are generated from the route (marked x-generated: true): their request fields come from the validation rules, and their responses are a generic {data} object rather than a full schema.

Use it with an AI coding agent​

Most coding agents accept an OpenAPI URL or file directly:

Read https://fileshub-docs.zaions.com/openapi.json and add a FilesHub
client to this project: upload a public file and return its URL.

The agent gets exact paths, the X-API-Key header, request bodies, and response shapes — no guessing.

Use it with a generator​

Generate a typed client
npx @openapitools/openapi-generator-cli generate \
-i https://fileshub-docs.zaions.com/openapi.json \
-g typescript-fetch -o ./fileshub-client

Raw Markdown for context windows​

Every documentation page is also mirrored as raw Markdown under /raw/. Prefix any doc path with /raw/ (for example /raw/api/emails-send.md), or read the /raw/manifest.json index to load the whole set into an agent's context.

Honesty note​

The core operations are written by hand from the FilesHub source. Every other route (392 of 392 since 2026-10-22) is added by a generator in the FilesHub repo that reads the route itself — the controller's description, its validation rules, path parameters and auth — and marks it x-generated: true; the generator fails while any route is missing. Generated operations describe request fields precisely but answer with a generic {data} object; the hand-written ones carry full response schemas. If you find a mismatch between /openapi.json and the live API, the live API is the source of truth — please open an issue.