Skip to content

API reference

Delete content

documents.DeleteBundleWriteMember delegation

Permanently delete content identified by content_id. Requires authority to administer it; an active signing request prevents deletion. Reports retained fields whose values belong to records outside the deleted app.

POST/v1/operations/documents.DeleteBundle
On this page

Access & visibility

Allow documents.DeleteBundle on your API key.

Acting member required. Send Brigg-Act-As with an approved member account ID. The key supplies permissions; the member selects whose data is used.

The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.

Set up authentication · Choose permissions

Request fields

Send a JSON object with the following fields. Required fields must be included; omit optional fields you do not need.

content_idstringRequired

Use content_id and check kind before choosing the operation. An app, template, website and uploaded file are not interchangeable. workspace.ListBundles.

At least 1 character.

Check the content before permanent deletion

Select content_id and inspect kind in List content. This deletes the selected app, template, website or generated content and its associated artifacts. It is not the operation for deleting one customer record or an uploaded file; use the appropriate record operation or Delete document. There is no public undo.

The acting member needs workspace access and must own the content, have created it, or be a workspace owner or administrator. Workspace-managed material such as shared newsletters also permits workspace members; an ordinary shared app is not automatically administrable by every reader. A signing lock protects both a pending document and a completed signed record. Inspect signing state before attempting deletion.

For apps, fields added to another resource type can survive when records outside this app still use them. retained_fields reports those definitions; an empty array means none needed retaining. A fresh deletion of an absent content_id returns app_not_found; retrying the original action with the same idempotency key can replay the original result.

Response

Returns 200 OK with a JSON body.

okbooleanRequired

Whether the action completed successfully.

retained_fieldsarray of DeleteBundleRetainedExtensionFieldsRequired

Field definitions retained because values still belong to records outside the deleted content.

Item fields
target_typestringRequired

Resource type owned by another app whose records still contain values in fields added by the deleted app.

fieldsarray of stringRequired

Names of extension fields retained on that resource type to preserve surviving record values. These are field keys, not template instructions or attachments.

Errors & retries

Set BRIGG_REQUEST_ID once for each logical action. The samples send it as Idempotency-Key. Reuse the same value and body on retries, including after a timeout; a missing response does not prove the action failed.

For rate limits, follow the server’s retry guidance and back off. See HTTP errors and safe retries and limits.

HTTP status Code What to do
400 invalid_json Send a JSON object with Content-Type: application/json.
400 invalid_input Check the request fields and types. Supply a stable Idempotency-Key containing 1–200 characters.
401 invalid_key The workspace API key is missing, invalid or revoked.
403 forbidden Check the key’s operation and resource grants. Supply Brigg-Act-As with a member authorized by the key’s delegation grant. The selected member must be active and approved by the credential. This selects whose private data is used; the credential supplies permissions. Private ownership and project boundaries still apply.
404 not_found The requested operation or resource is not available to this credential.
429 rate_limited Wait for Retry-After before retrying. Reuse the original Idempotency-Key.
409 signing_locked A signing request protects this document from this change. Inspect its signing state in Brigg; completed signed records must not be destroyed.
404 app_not_found This content does not exist or is not visible. A fresh delete after successful removal also returns this code.

Next steps

Download OpenAPI · Versioning & retirement

JSON schemas

Use the complete schemas for validation or client generation.

Full request JSON schema
{
  "type": "object",
  "properties": {
    "content_id": {
      "type": "string",
      "minLength": 1,
      "description": "Use content_id and check kind before choosing the operation. An app, template, website and uploaded file are not interchangeable. [workspace.ListBundles](/reference/workspace/ListBundles)."
    }
  },
  "required": [
    "content_id"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "content_id": "c_vendor_portal"
    }
  ]
}
Full response JSON schema
{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Whether the action completed successfully."
    },
    "retained_fields": {
      "type": "array",
      "items": {
        "title": "DeleteBundleRetainedExtensionFields",
        "type": "object",
        "properties": {
          "target_type": {
            "type": "string",
            "description": "Resource type owned by another app whose records still contain values in fields added by the deleted app."
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of extension fields retained on that resource type to preserve surviving record values. These are field keys, not template instructions or attachments."
          }
        },
        "required": [
          "target_type",
          "fields"
        ],
        "additionalProperties": false
      },
      "description": "Field definitions retained because values still belong to records outside the deleted content."
    }
  },
  "required": [
    "ok",
    "retained_fields"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "ok": true,
      "retained_fields": [
        {
          "target_type": "core:Company",
          "fields": [
            "vendor_portal_code"
          ]
        }
      ]
    }
  ]
}

Search by operation name or what you want to build.

Use arrow keys to browse. Enter opens a result.