Files

Stores a file via multipart upload and returns a download link. Only safe file types accepted. Reuse existing owner token to group entities under one owner

post/api/files

Request

  • Base URL: https://brewpage.app
  • URL: https://brewpage.app/api/files
  • Auth: one of:
    • none
    • API key in header X-Owner-Token

Query parameters

nsstring

Namespace (default public). Custom namespaces are unlisted, accessible to anyone with the URL. Public discovery additionally requires eligibility and no password.

tagsstring

Comma-separated tags

ttlstring

TTL in integer days (1-30); accepts 15, 15d, 15 day or 15 days, case-insensitive. Omitted or blank uses 15 days.

Headers

X-Passwordstring

Access password. Empty = public file visible in gallery. With password = hidden from gallery; readers unlock the publication or use X-Password for API access

X-Owner-Tokenstring

Reuse existing owner token to group entities under one owner. If omitted, a new token is generated

X-Delivery-Modestring

Response

File uploaded

idstring required

Unique 10-character alphanumeric file ID

namespacestring required
filenamestring required

Original filename as uploaded

contentTypestring

Detected MIME type (e.g. image/png)

sizeBytesinteger required
linkstring required

Primary URL returned for browser download and sharing

ownerLinkstring required

API URL for programmatic access (delete)

expiresAtstring date-time required
tagsstring[] required
ownerTokenstring required

Secret token required for delete operation. Store it safely -- cannot be recovered

visibilityNoticestring

Human-readable explanation of link access and conditional public-discovery eligibility. Unlisted links are not secret; password protection applies when configured. No guarantee of listing, ranking or search-engine indexing.

managementLinkstring nullable required
routingCohortstring required
deliveryModestring nullable required
requestedDeliveryModestring nullable required
effectiveDeliveryModestring nullable required
deliveryModeMatchedboolean nullable required
accessstring required
modeLockedboolean required
hostingVersioninteger nullable required

Changes

    • breaking

      request body became required

    • breaking

      removed the media type application/json from the request body

    • breaking

      added the pattern ^\s*(?:\d+\s*(?:[dD]|[dD][aA][yY][sS]?)?)?\s*$ to the query request parameter ttl

    • breaking

      removed the media type */* for the response with the status

    • breaking

      removed the media type */* for the response with the status

    • breaking

      removed the media type */* for the response with the status

    • breaking

      removed the media type */* for the response with the status

    • info

      api operation id upload_1 removed and replaced with upload

    • info

      the endpoint scheme security OwnerToken was added to the API

    • info

      added the media type multipart/form-data to the request body

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • info

      added the media type application/json for the response with the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status