TEASEDocs
ProductsClubHow-to

Manage OnlyFans vault folders from the panel

Create, rename, or delete a folder, or add/remove media in it — mirrored back once the engine confirms.

Who this is for: a workspace owner or operator with the folders_write grant (folders_delete for the two irreversible actions).

These are Level-2 actions — real writes to OnlyFans, routed through the engine as an asynchronous job. Every one of them answers {"status": "pending", "nonce": "..."} immediately; see Pending-nonce job durability for why, and async engine write gotchas for what to do when the engine hasn't checked in.

Check what's live right now

Folder operations are gated per-op by the engine's own manifest — check before you build a UI around one:

curl "https://app.tease.link/api/admin/vault/ops/enabled" \
  -H "Authorization: Bearer $TEASE_API_KEY"
{ "create_list": true, "rename_list": true, "add_media": true, "remove_media": false, "delete_list": false }

Create, rename, delete

curl -X POST "https://app.tease.link/api/admin/vault/folders" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "New shoot"}'
curl -X PUT "https://app.tease.link/api/admin/vault/folders/{list_id}" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Renamed folder"}'
curl -X DELETE "https://app.tease.link/api/admin/vault/folders/{list_id}" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'

Deleting a folder is irreversible on OnlyFans and requires the folders_delete grant plus "confirm": true in the body — omit it and you get a 400, not a silent no-op. Its files aren't deleted; once confirmed by a rescan, they simply become unfiled again.

Add or remove media

curl -X POST "https://app.tease.link/api/admin/vault/folders/{list_id}/media" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"media_ids": ["88120", "88121"]}'

Up to 100 digit-only media ids per call — OnlyFans' own per-operation ceiling; anything beyond that is trimmed rather than rejected outright, and a request with zero valid ids after cleanup is a 400. Removing media (DELETE on the same path) also requires "confirm": true and the stronger folders_delete grant, not folders_write — pulling files out of a folder is treated with the same weight as deleting the folder itself.

What the response means

Every write returns one of three shapes:

ResponseMeaning
{"status": "pending", "nonce": "..."}Queued. Poll GET /vault/ops/{nonce} for queued / done / failed / stale.
{"enabled": false, "staged": true, "op": "..."}The engine isn't reporting live for this operation right now — nothing was sent. See the troubleshooting page.
409 already_applyingAn operation on the same target (same op, same folder) is already in flight — wait for it to settle instead of resubmitting.

Retry with the SAME nonce

If an operation comes back stale or failed and you believe it should be retried, use POST /vault/ops/{nonce}/retrynot a fresh call to create_list/add_media/etc. A fresh call mints a brand-new nonce, and if the original request actually reached OnlyFans before the engine lost contact, you'll end up with a duplicate folder or media entry.

What's next

Once a folder is confirmed, pull it as a drop or find it in search.

On this page