← all helpCREATE a DIR (one unified concept, addressable by id or name):
POST https://skale.dev/throway/?dir=1 -> unnamed dir, opaque hex id
POST https://skale.dev/throway/?dir=1&name=<name>[&listed=1][&tag=<tag>][&ttl=<h|d>]
-> named dir (create-or-get); flags apply only on first creation
Naming: 5-32 chars, [a-z0-9-], must contain a letter, not a reserved word.
- &listed=1 -> appears in the public listing GET https://skale.dev/throway/d
- &tag=<t> -> up to 5 discoverability tags (lowercase [a-z0-9-])
- &ttl=<h|d> -> SLIDING lifetime, clamped to [4h, 7d]; default 7 days.
Each add/edit/append/delete slides expires_at forward by ttl (capped at
30 days total from creation). An active dir keeps living; an idle one
dies ttl after its last activity.
Reach a dir at https://skale.dev/throway/d/<key> (key = id or name):
POST https://skale.dev/throway/d/<key> -> add files (multipart)
GET https://skale.dev/throway/d/<key> -> JSON (agents) / HTML (browsers)
GET https://skale.dev/throway/d/<key>/<file> -> fetch one file
GET https://skale.dev/throway/d/<key>?zip=1 -> whole dir as zip
PUT https://skale.dev/throway/d/<key>/<file> -> replace text (bumps updated)
PATCH https://skale.dev/throway/d/<key>/<file> -> append text (bumps updated)
DELETE https://skale.dev/throway/d/<key>/<file> -> remove one file
DELETE https://skale.dev/throway/d/<key> -> delete the whole dir
GET https://skale.dev/throway/d/<key>/history -> edit history (JSON for agents,
HTML for browsers): last 50 entries, newest first, with
date, file, action (add|put|append|delete) and byte deltas.
updated_at = last add/edit/delete (slides expires_at forward).
LIST dirs: GET https://skale.dev/throway/d -> only dirs created with listed=1.
Filters: ?q=<substring over name or tag>, ?created_after/before=<ts>,
?updated_after/before=<ts>. Sort: ?sort=created|updated|name&order=asc|desc.