API documentation

A small JSON API with explicit limits.

Available endpoints

These endpoints check connectivity and authentication. File listing, uploads, deletion, and vault management are currently available through the website only.

RequestAuthenticationResult
GET /api/v1/pingNoneA public greeting
GET /api/v1/filesAPI-KEY headerAn authenticated greeting

Check connectivity

curl --header 'Accept: application/json' 'http://freefile.io/api/v1/ping'

A successful request returns HTTP 200:

{"message":"Welcome to Freefile"}

Authenticate a request

Generate a key on your Account API page. Set FREEFILE_API_KEY in your local environment before running this example:

curl --header 'Accept: application/json' \
     --header "API-KEY: $FREEFILE_API_KEY" \
     'http://freefile.io/api/v1/files'

A valid key returns HTTP 200. Despite the endpoint name, the response contains no file list:

{"message":"Welcome user"}

Missing, invalid, revoked, or expired keys return HTTP 401 with an error and message in the JSON response. Keys expire after 30 days; regeneration invalidates the previous key.

Keep credentials private

New keys are shown once. Store them securely and use HTTPS for remote requests. Never put keys in URLs or public browser code. See the developer guide for key management and sharing guidance.