Topolo Docs Topolo Platform
Open workspace

Delete a form response-count threshold

Remove a discovered threshold while preserving uncertainty about prior claims and notifications.

Outcome

Remove a discovered threshold while preserving uncertainty about prior claims and notifications.

DELETE /api/forms/{formId}/thresholds/{thresholdId}

Before you start

Use the original authorized organization and discovered canonical Forms workspace. Bind that workspace separately from action input, then discover the actual form and threshold as needed. Neither a sample id nor an input workspaceId is a grant.

Technical guide publication does not make actual form/threshold/creator data public. All responses below are complete source-derived synthetic examples, unrun; no real form/subject/threshold read, configuration change, submission, notification, provider/model or delivery operation was executed.

A live mutation needs approval for its real target and effects, current input validation and a confirmed executable plan. Read operations retain original scope without mutation confirmation. Shared auth/runtime/protection failures require their actual request evidence; never bypass them by changing identity, access or environment policy.

Request and behavior

Action: app_topolo_forms.response_thresholds.delete.

Requires a separately approved mutation, workspace:write and verified read_write workspace access. Discover the actual threshold id through response_thresholds.list for the intended form, keeping the same original organization/workspace.

The selected DELETE matches id,form_id,organization_id,workspace_id together and returns200 {ok:true} only when exactly one row was deleted. Otherwise it returns404 {error:not_found}. Unlike threshold list/create, this selected branch does not first load/decrypt the form.

The success body contains neither thresholdId nor form/workspace ids. Generic metadata’s $.thresholdId locator is not present in this body; retain the reviewed input and discovery evidence. A 404 alone does not prove a previous uncertain deletion succeeded.

Removing the configuration does not undo submissions, form content, prior claim markers, an in-flight processor that already claimed a row, or emitted/delivered notifications. It prevents later queries from finding the deleted configuration; no universal notification cancellation is established.

Re-creating a threshold at the same count is a new mutation with a new UUID and marker0. It does not restore the prior identity/history/creator/timestamps and can make a threshold eligible again on a later submission. Do not automatically recreate it as an exact rollback.

Complete worked responses

Reviewed threshold removed

Complete source-derived synthetic, unrun HTTP200. Assumes original workspace/write checks pass and the exact scoped DELETE affects one fictional row. No real deletion or notification cancellation was performed.

Input:

{
  "formId": "forms_docs_fixture",
  "thresholdId": "formthreshold_00000000-0000-4000-8000-000000000001"
}

Response:

{
  "ok": true
}

Preserve actual original target/context and follow the verification/recovery steps; this fixture authorizes no operation.

No row matched

Complete source-derived synthetic, unrun HTTP404. Assumes the scoped DELETE affects zero rows. The response does not distinguish an absent id from a different form/context or prove the outcome of an earlier lost response.

Input:

{
  "formId": "forms_docs_fixture",
  "thresholdId": "formthreshold_absent_docs_fixture"
}

Response:

{
  "error": "not_found"
}

Preserve actual original target/context and follow the verification/recovery steps; this fixture authorizes no operation.

Verify and recover

  1. Read response_thresholds.list for the same original form/workspace and verify the reviewed id is absent. Preserve the actual mutation response plus original input because success itself contains no target ids.

  2. If a deletion response was lost, reconcile current threshold state and request evidence before any repeat. An absent row alone does not determine who deleted it or recall prior/in-flight notification effects.

If explicitly required and approved, plan a new threshold at the reviewed previous count, acknowledging the new UUID/creator/timestamps and reset claim marker. Verify the new configuration; it is not an exact rollback and may become eligible again. Do not replay or send a real submission to force a notification.

Refusals

400 / workspace_required: Resolve the canonical workspace through supported Auth resource/workspace discovery and bind it separately. The app bootstrap response is not a workspace catalogue.

403 / forbidden: Preserve the actual route permission refusal in its original context; use the owner for legitimate access.

404 / not_found: Reconcile the actual discovered form/threshold in the same workspace; do not guess another tenant’s ids.

The current output is a broad catalog-derived structural schema. Schema acceptance alone does not identify the actual success carrier or prove that a mutation or notification completed. Preserve concrete status, body and request evidence.

Change log

  • 2026-10-21: Added original workspace/permission boundaries, exact threshold carrier and claim semantics, complete illustrative responses, uncertainty reconciliation and limits of compensation. All examples are synthetic and unrun.