Florality
FeaturesPricingSecurityFAQAbout
Sign upSign in
Public REST APIv1

REST reference & guides

Public REST APIv1

REST reference & guides

Get started

  • Overview
  • Authentication
  • Scopes
  • Errors

API reference

  • Members
  • Groups
  • Entries
  • Front
  • Appearance
  • Custom fields
  • Trash
    • GETList trash
    • POSTBulk purge trash
  • Search
  • Member statuses
  • Systems
  • Messaging
  • Privacy buckets
  • Terminology
  • Friends
  • Subscriptions
  • Billing
  • Import
  • Social
  • Guestbook & poll
  • Group layout
  • Activity
  1. Documentation
  2. Trash
API keys
Florality

Organise your system. One front at a time.

Get startedSign in

Product

  • Features
  • Pricing
  • Public REST API
  • Security

Company

  • About
  • Our team
  • Changelog
  • Contact

Resources

  • FAQ
  • Trust & Safety
  • Privacy Policy
  • Terms of Service
  • Refunds and cancellation

© 2026 Florality. All rights reserved.

Privacy·Terms·

Trash

Base path: /api/v1/trash. Lists soft-deleted items for your account (notes, folders, members, layout rows, custom field definitions, front history sessions) in one array, and supports permanent bulk purge. Timestamps are Unix milliseconds; purgeAt follows your account retention (same as the app Trash page).

Authentication uses the trash API key scope: trash: read for listing, trash: read_write for purge.

See Scopes and Errors for shared behavior.

Restore via other endpoints

This reference does not add a generic restore URL. Trashed entries restore with POST /api/v1/entries/{entryId}/restore (entries scope). Trashed custom field definitions restore with POST /api/v1/members/{memberId}/custom-fields/{fieldId}/restore (customFields scope).


List trash

GET/api/v1/trash

Query parameters

ParameterTypeNotes
typestringOptional. One of: entry, directory, member, directoryLayout, customFieldDefinition, frontSession. Omit to return all types merged (newest deletedAt first).
limitintegerOptional, 1–500. Default matches server (200) when omitted.

Response

200

JSON array of trash rows.

JSON
{
  "type": "entry",
  "id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
  "name": "My note",
  "deletedAt": 1710000000000,
  "purgeAt": 1712592000000,
  "originalLocation": "Optional human-readable path when available"
}

Each object has type, id, name, deletedAt, purgeAt. originalLocation is present on some types when the server can resolve it.

Examples

cURL

Shell
curl -sS \
  -H "Authorization: Bearer YOUR_TOKEN" \
  "https://api.floralitys.com/api/v1/trash?limit=200"

JavaScript (fetch)

JavaScript
const url = new URL("https://api.floralitys.com/api/v1/trash");
url.searchParams.set("limit", "200"); // optional, 1–500
// url.searchParams.set("type", "entry"); // optional filter
const res = await fetch(url.toString(), {
  headers: { Authorization: "Bearer YOUR_TOKEN" },
});
if (!res.ok) throw new Error(await res.text());
const items = await res.json();

Status codes

  • 200: JSON array (may be empty)
  • 400: invalid query parameters
  • 401 / 403: auth / missing trash: read

Bulk purge (permanent delete)

POST/api/v1/trash/purge

Request body (JSON)

Strict object: items: array of discriminated objects, each { "type": "…", "id": "uuid" }. At most 200 items per request. Every type must be one of: entry, directory, member, directoryLayout, customFieldDefinition, frontSession. Items must already be in trash (same rules as the app Trash page); otherwise the server returns 400 with a plain message.

Response

204: no body on success.

Examples

cURL

Shell
curl -sS -X POST \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"type":"entry","id":"ENTRY_UUID"}]}' \
  "https://api.floralitys.com/api/v1/trash/purge"

JavaScript (fetch)

JavaScript
const res = await fetch("https://api.floralitys.com/api/v1/trash/purge", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    items: [
      { type: "entry", id: "ENTRY_UUID" },
      { type: "member", id: "MEMBER_UUID" },
    ],
  }),
});
if (res.status !== 204) throw new Error(await res.text());

Status codes

  • 204: all items purged (or empty items array)
  • 400: invalid JSON, validation, not in trash, not found, or over limit
  • 401 / 403: auth / missing trash: read_write