StashFiles

API reference

Everything the dashboard does is available over HTTPS at https://api.stashfiles.lol/v1. Requests and responses are JSON; uploads stream raw bytes. This is a short reference — the API is small on purpose.

Authentication

Send your token as a bearer header. Tokens are created in the dashboard and can be scoped to a project or a source CIDR.

Authorization: Bearer <token>

Create a transfer

POST /v1/transfers — body { "name": "nightly", "expires_in": 604800 }. Returns a transfer id and a set of signed upload URLs.

Upload parts

PUT <upload_url>&part=N with the raw bytes of part N. Parts may be sent in parallel and retried independently; each carries its own checksum.

Seal & share

POST /v1/transfers/{id}/seal finalises the transfer and returns the public link. After sealing, the object is immutable until it expires.

Error codes

StatusMeaning
401Missing or invalid token
403Token not scoped for this resource
409Transfer already sealed
413Part or transfer exceeds plan limit
410Transfer expired or deleted
429Rate limited — back off and retry