All docs
3 min read

Archive & restore

Archiving is the soft-delete. The form disappears from your active list, the endpoint stops accepting submissions, but everything is recoverable.

It's the difference between "I'm done with this for now" (archive) and "burn it" (force-delete).

What archive does

Click Archive on the form detail page. We:

  1. Set archived_at to now (a soft-delete timestamp).
  2. Move the form out of your active list into the Archived tab.
  3. Make the public POST endpoint return 410 Gone for any new submission.
  4. Make the public hosted page (/p/{slug}) return 410 Gone.

What stays:

  • All existing submissions in the inbox and spam folder.
  • All uploaded files (until retention kicks in, see below).
  • The form's config, schema, theme, webhooks — everything you can configure.
  • API and MCP listings (under ?include=archived).

What stops:

  • New submissions. The endpoint returns 410, not 404 — that tells the caller "this used to exist, it's gone now."
  • Notifications, autoresponders, webhooks. There's nothing to fire on.
  • Public hosted page. Visitors see a "this form is no longer available" page.

Restore

Find the form in the Archived tab and click Restore. We clear archived_at. The endpoint goes back to accepting submissions. If the form was hosted-published before archiving, it stays published (the published_at timestamp was preserved). The hosted URL goes live again.

Via the API: POST /forms/{form}/restore. Via MCP: restore_form.

There's no time limit on restore. A form archived two years ago restores the same as one archived yesterday.

Hard delete (force)

For when you really want it gone. From the Archived tab, click the kebab menu → Force delete on a form. We:

  1. Delete the form record.
  2. Delete every submission attached to the form.
  3. Delete every file in private storage.
  4. Cancel any pending background jobs scoped to the form.
  5. Drop the public_id and slug — both become available for reuse.

This is irreversible. There's a confirmation modal that requires typing the form name, because we mean it.

Via the API: DELETE /forms/{form}/force. Not exposed over MCP — agents don't get destructive deletes by design.

You can only force-delete a form that's already archived. We won't let you skip the soft-delete step from the UI.

Retention rules

While archived, your data sticks around — but not forever, and not under every plan:

Plan Retention while archived
Free 30 days, then auto-deleted
Pro 1 year
Team / Business Indefinite (subject to your data retention policy)

A scheduled job runs nightly and force-deletes archived forms past their retention window. We email you 7 days before any auto-delete, with a one-click restore link.

Restoring before the deadline resets the timer — once the form is active again, the retention rules don't apply. Re-archiving starts the timer fresh.

Why not just hard-delete by default

Two reasons:

  1. GDPR and audit requests. Even after you "delete" a form, you may need to produce records of what was submitted. Soft-delete keeps that possible.
  2. Restore on misclick. Forms get archived by accident — the wrong row, the wrong tab. Hard delete by default would be a footgun.

If your privacy posture requires hard-delete on every form, force-delete after archive — or hit the API straight: DELETE /forms/{form}/force.

What's next