Endpoint Inventory
Programmatic endpoints currently exposed.
Authentication values below are checked against current route and middleware behavior.
Detailed request/response examples live on the dedicated endpoint pages.
Session endpoints also support API-key authentication through middleware:
Authorization: Bearer <api_key>
X-API-Key: <api_key>
Plain Credential Endpoints
For request/response examples and credential flow, see Plain Endpoints (Scripts).
| Method |
Path |
Auth Required (as implemented) |
Notes |
| POST |
/api/getMe |
Credential auth handled in route logic (see Plain Endpoints page) |
Credential validation + mode (+ secondary scope + permissions metadata when applicable) |
| POST |
/api/cliCheckCredentials |
Credential auth handled in route logic (see Plain Endpoints page) |
Plain credential check |
| POST |
/api/initChunkedUploadPlain |
Credential auth handled in route logic (see Plain Endpoints page) |
Plain chunked init |
| POST |
/api/uploadChunkPlain |
No explicit auth middleware; valid upload id required |
Plain chunk upload |
| GET |
/api/chunkedUploadStatusPlain |
No explicit auth middleware; valid upload id required |
Plain status |
| POST |
/api/finishChunkedUploadPlain |
Credential auth handled in route logic (see Plain Endpoints page) |
Plain finalize |
| POST |
/api/basicHTMLUpload |
Credential auth handled in route logic (see Plain Endpoints page) |
Plain multipart upload |
| POST |
/api/secondaryPasswords/createFromPrimary |
Credential auth handled in route logic; requires primary password (not secondary) |
Create secondary password from scripts/installers |
Chunked and Upload (Session/Token Paths)
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api |
None |
Health string (Hello World) |
| POST |
/api/initChunkedUpload |
Cookie session or API key auth |
Session-backed chunked init |
| POST |
/api/uploadChunk |
No explicit auth middleware; valid upload id required |
Session/token chunk upload |
| GET |
/api/chunkedUploadStatus |
No explicit auth middleware; valid upload id required |
JSON status |
| POST |
/api/finishChunkedUpload |
No explicit auth middleware; requires finalize body fields (id, filename, manager value source) |
JSON finalize |
| POST |
/api/replaceFile |
Cookie session or API key auth + ownership checks; secondary session must have edit permission and match upload/file token + folder scope |
Replace file content from chunked upload |
| POST |
/api/html/paste |
Session pasteCSRF match + manager token (session or body) |
Create/overwrite text paste; secondary scope applied when configured |
| POST |
/api/shorten |
No explicit auth middleware; requires token + manager values (body or session) |
Short-link creation; secondary scope applied when configured |
| PATCH |
/api/files/:id/folder |
Cookie session or API key auth + application/json |
Move one file to folder; secondary requires edit permission + token + folder scope |
| POST |
/api/files/move |
Cookie session or API key auth + application/json |
Batch move files; secondary requires edit permission + token + folder scope |
| POST |
/api/edit/:hname/:path |
Owner proof via body manager token or owner cookie session; secondary session must have edit permission and match file token + folder scope |
Update/delete metadata |
| GET |
/api/editPaste/:hname/:path |
Owner cookie session required (otherwise redirect) |
Render paste editor page; secondary requires edit permission + token + folder scope |
Folder APIs
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api/folders/tree |
Cookie session or API key auth |
Returns full tree for primary, scoped subtree for secondary |
| POST |
/api/folders |
Primary cookie session + application/json (secondary/API-key credentials not allowed) |
Create folder |
| PATCH |
/api/folders/:id |
Primary cookie session + application/json (secondary/API-key credentials not allowed) |
Rename folder |
| DELETE |
/api/folders/:id |
Primary cookie session (secondary/API-key credentials not allowed) |
Delete folder |
File Access
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/s/:file |
Public unless file has password; then requires accepted password mechanism |
Raw file stream |
| GET |
/d/:file |
Public unless file has password; then requires accepted password mechanism |
Forced download |
| GET |
/:file |
Public unless file has password; then requires accepted password mechanism |
File view / redirect / embedded page |
| HEAD |
/s/:file |
Same as GET auth behavior |
HEAD raw |
| HEAD |
/d/:file |
Same as GET auth behavior |
HEAD download |
| HEAD |
/:file |
Same as GET auth behavior |
HEAD file view |
| OPTIONS |
/s/:path and /d/:path |
None |
CORS preflight |
| OPTIONS |
/:file |
None |
CORS preflight |
E2E Browser Flow
See E2E Client Integration for full wire-format and third-party implementation notes.
| Method |
Path |
Auth Required (as implemented) |
Notes |
| POST |
/api/finishChunkedUploadE2E |
Session/API-key finalize flow |
Finalize E2E upload (JSON flow) |
| POST |
/api/finishChunkedUploadE2EPlain |
Plain credentials (username + password) |
Finalize E2E upload for scripts/installers |
| GET |
/api/e2e/meta/:file |
No explicit auth middleware in route |
Returns E2E metadata (salt/header/chunk sizes + ciphertext URL) |
| GET |
/e2edown/:file |
None |
Browser decrypt UI for E2E files |
| GET |
/e2edown/handleFileDecryptage/:token |
Service worker interception path |
Returns 503 if SW is not controlling page |
| GET |
/e2etest |
Session auth |
E2E sandbox/debug UI |
YouTube / Direct Download
| Method |
Path |
Auth Required (as implemented) |
Notes |
| POST |
/ytapi/requestDownload |
Cookie session or API key auth |
Queue yt/invidious job; optional folderId accepted and scope-validated |
| GET |
/ytapi/downloadStatus |
Cookie session or API key auth + job owner match |
Poll job status |
| GET |
/ytapi/listJobs |
Cookie session or API key auth + job owner match |
List non-removed persisted jobs for current owner (plus active in-memory jobs) |
| POST |
/ytapi/ackJob |
Cookie session or API key auth + application/json + job owner match |
Acknowledge auto-opened finished job and hide it from list |
| POST |
/ytapi/removeJob |
Cookie session or API key auth + application/json + job owner match |
Mark a job as removed; if job is active, cancel in-progress work and discard temp data |
| POST |
/ytapi/previewDirectDownload |
Cookie session or API key auth |
HEAD-check remote file + quota |
| POST |
/ytapi/confirmDirectDownload |
Cookie session or API key auth |
Queue direct URL ingestion; optional folderId accepted and scope-validated |
Secondary Password Management
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api/secondaryPasswords |
Primary cookie session (secondary/API-key credentials not allowed) |
List password-backed secondary credentials only (api_key IS NULL) |
| POST |
/api/secondaryPasswords |
Primary cookie session + application/json (secondary/API-key credentials not allowed) |
Create secondary password; supports folderIdScope, canListFiles, canEditFiles |
| PATCH |
/api/secondaryPasswords/:id |
Primary cookie session + application/json (secondary/API-key credentials not allowed) |
Edit label/password/scope/permissions for secondary password |
| DELETE |
/api/secondaryPasswords/:id |
Primary cookie session (secondary/API-key credentials not allowed) |
Delete secondary password |
| POST |
/api/secondaryPasswords/createFromPrimary |
Credential auth in route; requires primary password |
Script/installer-friendly creation; supports folderIdScope, canListFiles, canEditFiles |
API Key Management
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api/apiKeys |
Primary cookie session (secondary/API-key credentials not allowed) |
List API-key-backed secondary credentials (api_key IS NOT NULL, masked key only) |
| POST |
/api/apiKeys |
Primary cookie session + application/json (secondary/API-key credentials not allowed) |
Create API key with secondary scope/permissions; returns full key once |
| PATCH |
/api/apiKeys/:id |
Primary cookie session + application/json (secondary/API-key credentials not allowed) |
Edit label/scope/permissions for API key entry |
| DELETE |
/api/apiKeys/:id |
Primary cookie session (secondary/API-key credentials not allowed) |
Delete API key entry |
Mail Aliases and Verification
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api/getDomainsForAlias |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Alias domain options |
| GET |
/api/aliases |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
List aliases |
| POST |
/api/aliases |
Cookie session auth + application/json; secondary/API-key sessions blocked by global middleware on this path |
Create alias |
| DELETE |
/api/aliases/:aliasedMail |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Delete alias |
| POST |
/api/mailVerification/create |
Cookie session auth + application/json; secondary/API-key sessions blocked by global middleware on this path |
Start email verification |
| DELETE |
/api/mailVerification/:email |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Remove tracked email |
| GET |
/api/mailVerification |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
List tracked emails |
| GET |
/api/verifyEmailAddress/:secret |
None |
Verify email by secret |
Mail Admin (Superuser)
| Method |
Path |
Auth Required (as implemented) |
Notes |
| POST |
/admin/deleteAllManagerAliases |
Cookie session auth + superuser + application/json |
Delete all aliases for a target manager (managerToken in body) |
| POST |
/admin/pointCoolMailsToMeAtShishCat |
Cookie session auth + superuser + application/json |
Point localpart across all allowed domains to special destination (mailToPoint in body) |
| POST |
/admin/purgeKTKCI |
Cookie session auth + superuser + application/json |
Reserved admin operation (currently returns not implemented) |
| POST |
/admin/changeMeAtShishCatMailsDestWithAdminAtFileDotAx |
Cookie session auth + superuser + application/json |
Migrate legacy alias destinations to special destination |
| POST |
/admin/reserveSpecialWords |
Cookie session auth + superuser + application/json |
Reserve special aliases in bulk |
DNS
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api/dns/domains |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Allowed base domains (fz.mk currently) |
| GET |
/api/dns/test |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Backend API health test |
| GET |
/api/dns/subdomains |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
List owned zones |
| POST |
/api/dns/subdomains |
Cookie session auth + application/json; secondary/API-key sessions blocked by global middleware on this path |
Claim zone |
| DELETE |
/api/dns/subdomains/:id |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Delete zone and records |
| GET |
/api/dns/subdomains/:id/records |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
List records |
| POST |
/api/dns/subdomains/:id/records |
Cookie session auth + application/json; secondary/API-key sessions blocked by global middleware on this path |
Add record |
| POST |
/api/dns/subdomains/:id/sync |
Cookie session auth + application/json; secondary/API-key sessions blocked by global middleware on this path |
Push DB records to DNS provider |
| PATCH |
/api/dns/records/:recordId |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Change record type |
| DELETE |
/api/dns/records/:recordId |
Cookie session auth; secondary/API-key sessions blocked by global middleware on this path |
Delete record |
SMS
| Method |
Path |
Auth Required (as implemented) |
Notes |
| GET |
/api/sms/phones/search |
Cookie session or API key auth |
Search available phone numbers |
| GET |
/api/sms/phones |
Cookie session or API key auth |
List random distributed candidates |
| GET |
/api/sms/my-phones |
Cookie session or API key auth |
List reserved phones |
| POST |
/api/sms/reserve |
Cookie session or API key auth + application/json |
Reserve phone |
| POST |
/api/sms/unreserve |
Cookie session or API key auth + application/json |
Unreserve phone |
| GET |
/api/sms/topranges |
Cookie session or API key auth |
Popular country ranges |
| POST |
/api/sms/add-countries |
Cookie session or API key auth + application/json |
Request country activation |
| GET |
/api/sms/feed |
Cookie session or API key auth |
Aggregated SMS feed |
| GET |
/api/sms/history/:number |
Cookie session or API key auth |
Number-specific history |
| GET |
/api/sms/full-history |
Cookie session or API key auth |
Full history for owned numbers |
| POST |
/api/sms/free-all |
Cookie session or API key auth + application/json |
Free all owned phones |