TabGeckoDocs
Website
Documentation / Trash · API

Trash · API

Generated from the OpenAPI snapshot. Source summaries remain unchanged; JSON schemas below are the exact exported definitions.

DELETE /api/v1/profiles/{id}

Profil in den Papierkorb legen; permanent=true löscht sofort endgültig (zusätzlich trash:manage)

Authentication: bearer token

Required route scopes: profiles:delete

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

NameLocationRequiredDescription
permanentqueryNo
idpathYes
Full parameter schemas
OpenAPI JSON
[
  {
    "schema": {
      "type": "boolean"
    },
    "in": "query",
    "name": "permanent",
    "required": false
  },
  {
    "schema": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "in": "path",
    "name": "id",
    "required": true
  }
]

No request body declared.

Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "id",
            "state"
          ],
          "properties": {
            "id": {
              "type": "string"
            },
            "state": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Profil in den Papierkorb legen; permanent=true löscht sofort endgültig (zusätzlich trash:manage)",
  "tags": [
    "Papierkorb"
  ],
  "parameters": [
    {
      "schema": {
        "type": "boolean"
      },
      "in": "query",
      "name": "permanent",
      "required": false
    },
    {
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "in": "path",
      "name": "id",
      "required": true
    }
  ],
  "x-required-scopes": [
    "profiles:delete"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "id",
              "state"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "state": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /api/v1/profiles/batch/delete

Mehrere Profile in den Papierkorb legen; Ergebnis je Profil

Authentication: bearer token

Required route scopes: profiles:delete

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "ids"
        ],
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 1,
            "maxItems": 1000
          },
          "permanent": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "results",
            "succeeded",
            "failed"
          ],
          "properties": {
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "index",
                  "id",
                  "ok"
                ],
                "properties": {
                  "index": {
                    "type": "integer"
                  },
                  "id": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "ok": {
                    "type": "boolean"
                  },
                  "no": {
                    "type": "integer"
                  },
                  "error": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "details": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  }
                }
              }
            },
            "succeeded": {
              "type": "integer"
            },
            "failed": {
              "type": "integer"
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Mehrere Profile in den Papierkorb legen; Ergebnis je Profil",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "ids"
          ],
          "properties": {
            "ids": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "minItems": 1,
              "maxItems": 1000
            },
            "permanent": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "x-required-scopes": [
    "profiles:delete"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "results",
              "succeeded",
              "failed"
            ],
            "properties": {
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "index",
                    "id",
                    "ok"
                  ],
                  "properties": {
                    "index": {
                      "type": "integer"
                    },
                    "id": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "no": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message"
                      ],
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "details": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      }
                    }
                  }
                }
              },
              "succeeded": {
                "type": "integer"
              },
              "failed": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

GET /api/v1/trash

Profile im Papierkorb mit Löschzeitpunkt, Ablauf und Restzeit

Authentication: bearer token

Required route scopes: profiles:read

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

NameLocationRequiredDescription
limitqueryNo
cursorqueryNo
searchqueryNo
delete_sourcequeryNo
Full parameter schemas
OpenAPI JSON
[
  {
    "schema": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "in": "query",
    "name": "limit",
    "required": false
  },
  {
    "schema": {
      "type": "string",
      "maxLength": 256
    },
    "in": "query",
    "name": "cursor",
    "required": false
  },
  {
    "schema": {
      "type": "string",
      "maxLength": 200
    },
    "in": "query",
    "name": "search",
    "required": false
  },
  {
    "schema": {
      "type": "string",
      "maxLength": 20
    },
    "in": "query",
    "name": "delete_source",
    "required": false
  }
]

No request body declared.

Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "items",
            "total",
            "total_size_bytes",
            "retention_days",
            "next_cursor"
          ],
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "no",
                  "name",
                  "folder_key",
                  "engine",
                  "origin_group",
                  "tags",
                  "deleted_at",
                  "deleted_by",
                  "delete_source",
                  "purge_after",
                  "purge_hold",
                  "size_bytes",
                  "state",
                  "remaining_ms",
                  "proxy_in_trash",
                  "purge_error"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "no": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "folder_key": {
                    "type": "string"
                  },
                  "engine": {
                    "type": "string"
                  },
                  "origin_group": {
                    "type": "object",
                    "required": [
                      "id",
                      "name"
                    ],
                    "properties": {
                      "id": {
                        "type": [
                          "null",
                          "string"
                        ]
                      },
                      "name": {
                        "type": [
                          "null",
                          "string"
                        ]
                      }
                    }
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "deleted_at": {
                    "type": "integer"
                  },
                  "deleted_by": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "delete_source": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "purge_after": {
                    "type": [
                      "null",
                      "integer"
                    ]
                  },
                  "purge_hold": {
                    "type": "boolean"
                  },
                  "size_bytes": {
                    "type": [
                      "null",
                      "integer"
                    ]
                  },
                  "state": {
                    "type": "string"
                  },
                  "remaining_ms": {
                    "type": [
                      "null",
                      "integer"
                    ]
                  },
                  "proxy_in_trash": {
                    "type": "boolean"
                  },
                  "purge_error": {
                    "type": [
                      "null",
                      "string"
                    ]
                  }
                }
              }
            },
            "total": {
              "type": "integer"
            },
            "total_size_bytes": {
              "type": "integer"
            },
            "retention_days": {
              "type": "integer"
            },
            "next_cursor": {
              "type": [
                "null",
                "string"
              ]
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Profile im Papierkorb mit Löschzeitpunkt, Ablauf und Restzeit",
  "tags": [
    "Papierkorb"
  ],
  "parameters": [
    {
      "schema": {
        "type": "integer",
        "minimum": 1,
        "maximum": 1000
      },
      "in": "query",
      "name": "limit",
      "required": false
    },
    {
      "schema": {
        "type": "string",
        "maxLength": 256
      },
      "in": "query",
      "name": "cursor",
      "required": false
    },
    {
      "schema": {
        "type": "string",
        "maxLength": 200
      },
      "in": "query",
      "name": "search",
      "required": false
    },
    {
      "schema": {
        "type": "string",
        "maxLength": 20
      },
      "in": "query",
      "name": "delete_source",
      "required": false
    }
  ],
  "x-required-scopes": [
    "profiles:read"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "items",
              "total",
              "total_size_bytes",
              "retention_days",
              "next_cursor"
            ],
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "no",
                    "name",
                    "folder_key",
                    "engine",
                    "origin_group",
                    "tags",
                    "deleted_at",
                    "deleted_by",
                    "delete_source",
                    "purge_after",
                    "purge_hold",
                    "size_bytes",
                    "state",
                    "remaining_ms",
                    "proxy_in_trash",
                    "purge_error"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "no": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "folder_key": {
                      "type": "string"
                    },
                    "engine": {
                      "type": "string"
                    },
                    "origin_group": {
                      "type": "object",
                      "required": [
                        "id",
                        "name"
                      ],
                      "properties": {
                        "id": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "name": {
                          "type": [
                            "null",
                            "string"
                          ]
                        }
                      }
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "deleted_at": {
                      "type": "integer"
                    },
                    "deleted_by": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "delete_source": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "purge_after": {
                      "type": [
                        "null",
                        "integer"
                      ]
                    },
                    "purge_hold": {
                      "type": "boolean"
                    },
                    "size_bytes": {
                      "type": [
                        "null",
                        "integer"
                      ]
                    },
                    "state": {
                      "type": "string"
                    },
                    "remaining_ms": {
                      "type": [
                        "null",
                        "integer"
                      ]
                    },
                    "proxy_in_trash": {
                      "type": "boolean"
                    },
                    "purge_error": {
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  }
                }
              },
              "total": {
                "type": "integer"
              },
              "total_size_bytes": {
                "type": "integer"
              },
              "retention_days": {
                "type": "integer"
              },
              "next_cursor": {
                "type": [
                  "null",
                  "string"
                ]
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /api/v1/trash/restore

Profile wiederherstellen (Ursprungsgruppe, Namenskonflikt mit Zusatz)

Authentication: bearer token

Required route scopes: trash:manage

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "profile_ids"
        ],
        "properties": {
          "profile_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 1,
            "maxItems": 1000
          },
          "restore_proxies": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "results",
            "succeeded",
            "failed"
          ],
          "properties": {
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "index",
                  "id",
                  "ok"
                ],
                "properties": {
                  "index": {
                    "type": "integer"
                  },
                  "id": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "ok": {
                    "type": "boolean"
                  },
                  "no": {
                    "type": "integer"
                  },
                  "error": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "details": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  }
                }
              }
            },
            "succeeded": {
              "type": "integer"
            },
            "failed": {
              "type": "integer"
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Profile wiederherstellen (Ursprungsgruppe, Namenskonflikt mit Zusatz)",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "profile_ids"
          ],
          "properties": {
            "profile_ids": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "minItems": 1,
              "maxItems": 1000
            },
            "restore_proxies": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "x-required-scopes": [
    "trash:manage"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "results",
              "succeeded",
              "failed"
            ],
            "properties": {
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "index",
                    "id",
                    "ok"
                  ],
                  "properties": {
                    "index": {
                      "type": "integer"
                    },
                    "id": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "no": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message"
                      ],
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "details": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      }
                    }
                  }
                }
              },
              "succeeded": {
                "type": "integer"
              },
              "failed": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /api/v1/trash/backup-coverage

Profilinhalt vorhandener Datenbanksicherungen und entschlüsselbarer Vollbackups im Zielordner prüfen; unprüfbare Dateien separat zählen

Authentication: bearer token

Required route scopes: profiles:read

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "profile_ids"
        ],
        "properties": {
          "profile_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 1,
            "maxItems": 1000
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "db_backups",
            "full_backups",
            "unchecked",
            "profiles",
            "oldest_at"
          ],
          "properties": {
            "db_backups": {
              "type": "integer"
            },
            "full_backups": {
              "type": "integer"
            },
            "unchecked": {
              "type": "integer"
            },
            "profiles": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "db_backups",
                  "full_backups"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "db_backups": {
                    "type": "integer"
                  },
                  "full_backups": {
                    "type": "integer"
                  }
                }
              }
            },
            "oldest_at": {
              "type": [
                "null",
                "integer"
              ]
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Profilinhalt vorhandener Datenbanksicherungen und entschlüsselbarer Vollbackups im Zielordner prüfen; unprüfbare Dateien separat zählen",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "profile_ids"
          ],
          "properties": {
            "profile_ids": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "minItems": 1,
              "maxItems": 1000
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "x-required-scopes": [
    "profiles:read"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "db_backups",
              "full_backups",
              "unchecked",
              "profiles",
              "oldest_at"
            ],
            "properties": {
              "db_backups": {
                "type": "integer"
              },
              "full_backups": {
                "type": "integer"
              },
              "unchecked": {
                "type": "integer"
              },
              "profiles": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "db_backups",
                    "full_backups"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "db_backups": {
                      "type": "integer"
                    },
                    "full_backups": {
                      "type": "integer"
                    }
                  }
                }
              },
              "oldest_at": {
                "type": [
                  "null",
                  "integer"
                ]
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /api/v1/trash/purge

Ausgewählte Profile endgültig löschen

Authentication: bearer token

Required route scopes: trash:manage

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "profile_ids"
        ],
        "properties": {
          "profile_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 1,
            "maxItems": 1000
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "results",
            "succeeded",
            "failed"
          ],
          "properties": {
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "index",
                  "id",
                  "ok"
                ],
                "properties": {
                  "index": {
                    "type": "integer"
                  },
                  "id": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "ok": {
                    "type": "boolean"
                  },
                  "no": {
                    "type": "integer"
                  },
                  "error": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "details": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  }
                }
              }
            },
            "succeeded": {
              "type": "integer"
            },
            "failed": {
              "type": "integer"
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Ausgewählte Profile endgültig löschen",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "profile_ids"
          ],
          "properties": {
            "profile_ids": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64
              },
              "minItems": 1,
              "maxItems": 1000
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "x-required-scopes": [
    "trash:manage"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "results",
              "succeeded",
              "failed"
            ],
            "properties": {
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "index",
                    "id",
                    "ok"
                  ],
                  "properties": {
                    "index": {
                      "type": "integer"
                    },
                    "id": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "no": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message"
                      ],
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "details": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      }
                    }
                  }
                }
              },
              "succeeded": {
                "type": "integer"
              },
              "failed": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

DELETE /api/v1/trash/{id}

Einen Eintrag endgültig löschen

Authentication: bearer token

Required route scopes: trash:manage

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

NameLocationRequiredDescription
idpathYes
Full parameter schemas
OpenAPI JSON
[
  {
    "schema": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "in": "path",
    "name": "id",
    "required": true
  }
]

No request body declared.

Documented responses
OpenAPI JSON
{
  "204": {
    "description": "No content."
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Einen Eintrag endgültig löschen",
  "tags": [
    "Papierkorb"
  ],
  "parameters": [
    {
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "in": "path",
      "name": "id",
      "required": true
    }
  ],
  "x-required-scopes": [
    "trash:manage"
  ],
  "responses": {
    "204": {
      "description": "No content."
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

PATCH /api/v1/trash/{id}

Endlöschung aussetzen oder fortsetzen

Authentication: bearer token

Required route scopes: trash:manage

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

NameLocationRequiredDescription
idpathYes
Full parameter schemas
OpenAPI JSON
[
  {
    "schema": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "in": "path",
    "name": "id",
    "required": true
  }
]
Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "purge_hold"
        ],
        "properties": {
          "purge_hold": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "id",
            "no",
            "name",
            "folder_key",
            "engine",
            "origin_group",
            "tags",
            "deleted_at",
            "deleted_by",
            "delete_source",
            "purge_after",
            "purge_hold",
            "size_bytes",
            "state",
            "remaining_ms",
            "proxy_in_trash",
            "purge_error"
          ],
          "properties": {
            "id": {
              "type": "string"
            },
            "no": {
              "type": "integer"
            },
            "name": {
              "type": "string"
            },
            "folder_key": {
              "type": "string"
            },
            "engine": {
              "type": "string"
            },
            "origin_group": {
              "type": "object",
              "required": [
                "id",
                "name"
              ],
              "properties": {
                "id": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "name": {
                  "type": [
                    "null",
                    "string"
                  ]
                }
              }
            },
            "tags": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "deleted_at": {
              "type": "integer"
            },
            "deleted_by": {
              "type": [
                "null",
                "string"
              ]
            },
            "delete_source": {
              "type": [
                "null",
                "string"
              ]
            },
            "purge_after": {
              "type": [
                "null",
                "integer"
              ]
            },
            "purge_hold": {
              "type": "boolean"
            },
            "size_bytes": {
              "type": [
                "null",
                "integer"
              ]
            },
            "state": {
              "type": "string"
            },
            "remaining_ms": {
              "type": [
                "null",
                "integer"
              ]
            },
            "proxy_in_trash": {
              "type": "boolean"
            },
            "purge_error": {
              "type": [
                "null",
                "string"
              ]
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Endlöschung aussetzen oder fortsetzen",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "purge_hold"
          ],
          "properties": {
            "purge_hold": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "parameters": [
    {
      "schema": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "in": "path",
      "name": "id",
      "required": true
    }
  ],
  "x-required-scopes": [
    "trash:manage"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "id",
              "no",
              "name",
              "folder_key",
              "engine",
              "origin_group",
              "tags",
              "deleted_at",
              "deleted_by",
              "delete_source",
              "purge_after",
              "purge_hold",
              "size_bytes",
              "state",
              "remaining_ms",
              "proxy_in_trash",
              "purge_error"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "no": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "folder_key": {
                "type": "string"
              },
              "engine": {
                "type": "string"
              },
              "origin_group": {
                "type": "object",
                "required": [
                  "id",
                  "name"
                ],
                "properties": {
                  "id": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "name": {
                    "type": [
                      "null",
                      "string"
                    ]
                  }
                }
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "deleted_at": {
                "type": "integer"
              },
              "deleted_by": {
                "type": [
                  "null",
                  "string"
                ]
              },
              "delete_source": {
                "type": [
                  "null",
                  "string"
                ]
              },
              "purge_after": {
                "type": [
                  "null",
                  "integer"
                ]
              },
              "purge_hold": {
                "type": "boolean"
              },
              "size_bytes": {
                "type": [
                  "null",
                  "integer"
                ]
              },
              "state": {
                "type": "string"
              },
              "remaining_ms": {
                "type": [
                  "null",
                  "integer"
                ]
              },
              "proxy_in_trash": {
                "type": "boolean"
              },
              "purge_error": {
                "type": [
                  "null",
                  "string"
                ]
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /api/v1/trash/empty

Papierkorb leeren; confirm_count muss der tatsächlichen Anzahl entsprechen

Authentication: bearer token

Required route scopes: trash:manage

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "confirm_count"
        ],
        "properties": {
          "confirm_count": {
            "type": "integer",
            "minimum": 0
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "results",
            "succeeded",
            "failed"
          ],
          "properties": {
            "results": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "index",
                  "id",
                  "ok"
                ],
                "properties": {
                  "index": {
                    "type": "integer"
                  },
                  "id": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "ok": {
                    "type": "boolean"
                  },
                  "no": {
                    "type": "integer"
                  },
                  "error": {
                    "type": "object",
                    "required": [
                      "code",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "details": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    }
                  }
                }
              }
            },
            "succeeded": {
              "type": "integer"
            },
            "failed": {
              "type": "integer"
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Papierkorb leeren; confirm_count muss der tatsächlichen Anzahl entsprechen",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "confirm_count"
          ],
          "properties": {
            "confirm_count": {
              "type": "integer",
              "minimum": 0
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "x-required-scopes": [
    "trash:manage"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "results",
              "succeeded",
              "failed"
            ],
            "properties": {
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "index",
                    "id",
                    "ok"
                  ],
                  "properties": {
                    "index": {
                      "type": "integer"
                    },
                    "id": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "ok": {
                      "type": "boolean"
                    },
                    "no": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "object",
                      "required": [
                        "code",
                        "message"
                      ],
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "details": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      }
                    }
                  }
                }
              },
              "succeeded": {
                "type": "integer"
              },
              "failed": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

POST /api/v1/trash/resume-purge

Nach Prüfung der Systemzeit die angehaltene Endlöschung fortsetzen

Authentication: bearer token

Required route scopes: trash:manage

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

No request body declared.

Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "retention_days",
            "purge_interval_hours",
            "purge_paused",
            "purge_paused_due",
            "next_purge_run_at"
          ],
          "properties": {
            "retention_days": {
              "type": "integer"
            },
            "purge_interval_hours": {
              "type": "integer"
            },
            "purge_paused": {
              "type": "boolean"
            },
            "purge_paused_due": {
              "type": "integer"
            },
            "next_purge_run_at": {
              "type": [
                "null",
                "integer"
              ]
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Nach Prüfung der Systemzeit die angehaltene Endlöschung fortsetzen",
  "tags": [
    "Papierkorb"
  ],
  "x-required-scopes": [
    "trash:manage"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "retention_days",
              "purge_interval_hours",
              "purge_paused",
              "purge_paused_due",
              "next_purge_run_at"
            ],
            "properties": {
              "retention_days": {
                "type": "integer"
              },
              "purge_interval_hours": {
                "type": "integer"
              },
              "purge_paused": {
                "type": "boolean"
              },
              "purge_paused_due": {
                "type": "integer"
              },
              "next_purge_run_at": {
                "type": [
                  "null",
                  "integer"
                ]
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

GET /api/v1/settings/trash

Einstellungen des Papierkorbs

Authentication: bearer token

Required route scopes: profiles:read

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

No request body declared.

Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "retention_days",
            "purge_interval_hours",
            "purge_paused",
            "purge_paused_due",
            "next_purge_run_at"
          ],
          "properties": {
            "retention_days": {
              "type": "integer"
            },
            "purge_interval_hours": {
              "type": "integer"
            },
            "purge_paused": {
              "type": "boolean"
            },
            "purge_paused_due": {
              "type": "integer"
            },
            "next_purge_run_at": {
              "type": [
                "null",
                "integer"
              ]
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Einstellungen des Papierkorbs",
  "tags": [
    "Papierkorb"
  ],
  "x-required-scopes": [
    "profiles:read"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "retention_days",
              "purge_interval_hours",
              "purge_paused",
              "purge_paused_due",
              "next_purge_run_at"
            ],
            "properties": {
              "retention_days": {
                "type": "integer"
              },
              "purge_interval_hours": {
                "type": "integer"
              },
              "purge_paused": {
                "type": "boolean"
              },
              "purge_paused_due": {
                "type": "integer"
              },
              "next_purge_run_at": {
                "type": [
                  "null",
                  "integer"
                ]
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

PUT /api/v1/settings/trash

Aufbewahrungsfrist ändern (0–365 Tage); wirkt rückwirkend auf alle Einträge

Authentication: bearer token

Required route scopes: settings:write

All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.

No path or query parameters declared.

Request body · required
OpenAPI JSON
{
  "required": true,
  "content": {
    "application/json": {
      "schema": {
        "type": "object",
        "required": [
          "retention_days"
        ],
        "properties": {
          "retention_days": {
            "type": "integer",
            "minimum": 0,
            "maximum": 365
          },
          "confirm_shorten": {
            "type": "boolean"
          },
          "confirm_immediate": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    }
  }
}
Documented responses
OpenAPI JSON
{
  "200": {
    "description": "Default Response",
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "retention_days",
            "affected",
            "purge_not_before"
          ],
          "properties": {
            "retention_days": {
              "type": "integer"
            },
            "affected": {
              "type": "integer"
            },
            "purge_not_before": {
              "type": [
                "null",
                "integer"
              ]
            }
          }
        }
      }
    }
  },
  "default": {
    "description": "HTTP error envelope. The status and error.code identify the failure.",
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/Error"
        }
      }
    }
  }
}
Complete operation definition
OpenAPI JSON
{
  "summary": "Aufbewahrungsfrist ändern (0–365 Tage); wirkt rückwirkend auf alle Einträge",
  "tags": [
    "Papierkorb"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "retention_days"
          ],
          "properties": {
            "retention_days": {
              "type": "integer",
              "minimum": 0,
              "maximum": 365
            },
            "confirm_shorten": {
              "type": "boolean"
            },
            "confirm_immediate": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      }
    }
  },
  "x-required-scopes": [
    "settings:write"
  ],
  "responses": {
    "200": {
      "description": "Default Response",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "retention_days",
              "affected",
              "purge_not_before"
            ],
            "properties": {
              "retention_days": {
                "type": "integer"
              },
              "affected": {
                "type": "integer"
              },
              "purge_not_before": {
                "type": [
                  "null",
                  "integer"
                ]
              }
            }
          }
        }
      }
    },
    "default": {
      "description": "HTTP error envelope. The status and error.code identify the failure.",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    }
  }
}

Native API reference