Audit-Log · API
Aus dem OpenAPI-Stand erzeugt. Quellzusammenfassungen bleiben unverändert; die JSON-Schemas unten sind die exakten exportierten Definitionen.
GET /api/v1/audit
Audit-Log mit Filtern, neueste zuerst; Weiterblättern über before_seq
Authentifizierung: Bearer-Token
Erforderliche Routen-Scopes: audit:read
Alle aufgeführten Scopes sind erforderlich; admin erfüllt Scope-Prüfungen. Anfrageinhalt, Tresorzustand und Ressourcenrechte können zusätzliche Voraussetzungen setzen.
| Name | Ort | Pflicht | Beschreibung |
|---|---|---|---|
category | query | Nein | |
from | query | Nein | |
to | query | Nein | |
action | query | Nein | |
source | query | Nein | |
actor_type | query | Nein | |
entity_id | query | Nein | |
entity_no | query | Nein | |
result | query | Nein | |
search | query | Nein | |
before_seq | query | Nein | |
limit | query | Nein |
Vollständige Parameterschemas
[
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"account"
]
},
{
"type": "string",
"enum": [
"profile"
]
},
{
"type": "string",
"enum": [
"startup"
]
},
{
"type": "string",
"enum": [
"proxy"
]
},
{
"type": "string",
"enum": [
"team"
]
}
]
},
"in": "query",
"name": "category",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "from",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "to",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 100
},
"in": "query",
"name": "action",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "source",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "actor_type",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 64
},
"in": "query",
"name": "entity_id",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "entity_no",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"ok"
]
},
{
"type": "string",
"enum": [
"denied"
]
},
{
"type": "string",
"enum": [
"error"
]
}
]
},
"in": "query",
"name": "result",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 200
},
"in": "query",
"name": "search",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "before_seq",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"in": "query",
"name": "limit",
"required": false
}
]Kein Anfragekörper deklariert.
Dokumentierte Antworten
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items",
"next_before_seq"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"seq",
"id",
"ts",
"actor_type",
"actor_id",
"actor_label",
"source",
"action",
"entity_type",
"entity_id",
"entity_no",
"result",
"error_code",
"details",
"request_id"
],
"properties": {
"seq": {
"type": "integer"
},
"id": {
"type": "string"
},
"ts": {
"type": "integer"
},
"actor_type": {
"type": "string"
},
"actor_id": {
"type": [
"null",
"string"
]
},
"actor_label": {
"type": "string"
},
"source": {
"type": "string"
},
"action": {
"type": "string"
},
"entity_type": {
"type": [
"null",
"string"
]
},
"entity_id": {
"type": [
"null",
"string"
]
},
"entity_no": {
"type": [
"null",
"integer"
]
},
"result": {
"type": "string"
},
"error_code": {
"type": [
"null",
"string"
]
},
"details": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
]
},
"request_id": {
"type": [
"null",
"string"
]
}
}
}
},
"next_before_seq": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Vollständige Operationsdefinition
{
"summary": "Audit-Log mit Filtern, neueste zuerst; Weiterblättern über before_seq",
"tags": [
"Audit-Log"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"account"
]
},
{
"type": "string",
"enum": [
"profile"
]
},
{
"type": "string",
"enum": [
"startup"
]
},
{
"type": "string",
"enum": [
"proxy"
]
},
{
"type": "string",
"enum": [
"team"
]
}
]
},
"in": "query",
"name": "category",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "from",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "to",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 100
},
"in": "query",
"name": "action",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "source",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "actor_type",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 64
},
"in": "query",
"name": "entity_id",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "entity_no",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"ok"
]
},
{
"type": "string",
"enum": [
"denied"
]
},
{
"type": "string",
"enum": [
"error"
]
}
]
},
"in": "query",
"name": "result",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 200
},
"in": "query",
"name": "search",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "before_seq",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"in": "query",
"name": "limit",
"required": false
}
],
"x-required-scopes": [
"audit:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items",
"next_before_seq"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"seq",
"id",
"ts",
"actor_type",
"actor_id",
"actor_label",
"source",
"action",
"entity_type",
"entity_id",
"entity_no",
"result",
"error_code",
"details",
"request_id"
],
"properties": {
"seq": {
"type": "integer"
},
"id": {
"type": "string"
},
"ts": {
"type": "integer"
},
"actor_type": {
"type": "string"
},
"actor_id": {
"type": [
"null",
"string"
]
},
"actor_label": {
"type": "string"
},
"source": {
"type": "string"
},
"action": {
"type": "string"
},
"entity_type": {
"type": [
"null",
"string"
]
},
"entity_id": {
"type": [
"null",
"string"
]
},
"entity_no": {
"type": [
"null",
"integer"
]
},
"result": {
"type": "string"
},
"error_code": {
"type": [
"null",
"string"
]
},
"details": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
]
},
"request_id": {
"type": [
"null",
"string"
]
}
}
}
},
"next_before_seq": {
"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/audit/verify
Hash-Kette und Tagesanker prüfen; meldet die erste Abweichung
Authentifizierung: Bearer-Token
Erforderliche Routen-Scopes: audit:read
Alle aufgeführten Scopes sind erforderlich; admin erfüllt Scope-Prüfungen. Anfrageinhalt, Tresorzustand und Ressourcenrechte können zusätzliche Voraussetzungen setzen.
Keine Pfad- oder Query-Parameter deklariert.
Kein Anfragekörper deklariert.
Dokumentierte Antworten
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ok",
"checked",
"anchors",
"first_bad_seq",
"missing_anchor"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked": {
"type": "integer"
},
"anchors": {
"type": "integer"
},
"first_bad_seq": {
"type": [
"null",
"integer"
]
},
"missing_anchor": {
"type": [
"null",
"string"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Vollständige Operationsdefinition
{
"summary": "Hash-Kette und Tagesanker prüfen; meldet die erste Abweichung",
"tags": [
"Audit-Log"
],
"x-required-scopes": [
"audit:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ok",
"checked",
"anchors",
"first_bad_seq",
"missing_anchor"
],
"properties": {
"ok": {
"type": "boolean"
},
"checked": {
"type": "integer"
},
"anchors": {
"type": "integer"
},
"first_bad_seq": {
"type": [
"null",
"integer"
]
},
"missing_anchor": {
"type": [
"null",
"string"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}GET /api/v1/audit/export
Audit-Log als CSV oder JSONL exportieren (Filter wie bei der Liste)
Authentifizierung: Bearer-Token
Erforderliche Routen-Scopes: audit:read
Alle aufgeführten Scopes sind erforderlich; admin erfüllt Scope-Prüfungen. Anfrageinhalt, Tresorzustand und Ressourcenrechte können zusätzliche Voraussetzungen setzen.
| Name | Ort | Pflicht | Beschreibung |
|---|---|---|---|
category | query | Nein | |
from | query | Nein | |
to | query | Nein | |
action | query | Nein | |
source | query | Nein | |
actor_type | query | Nein | |
entity_id | query | Nein | |
entity_no | query | Nein | |
result | query | Nein | |
search | query | Nein | |
format | query | Ja |
Vollständige Parameterschemas
[
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"account"
]
},
{
"type": "string",
"enum": [
"profile"
]
},
{
"type": "string",
"enum": [
"startup"
]
},
{
"type": "string",
"enum": [
"proxy"
]
},
{
"type": "string",
"enum": [
"team"
]
}
]
},
"in": "query",
"name": "category",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "from",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "to",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 100
},
"in": "query",
"name": "action",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "source",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "actor_type",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 64
},
"in": "query",
"name": "entity_id",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "entity_no",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"ok"
]
},
{
"type": "string",
"enum": [
"denied"
]
},
{
"type": "string",
"enum": [
"error"
]
}
]
},
"in": "query",
"name": "result",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 200
},
"in": "query",
"name": "search",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"csv"
]
},
{
"type": "string",
"enum": [
"jsonl"
]
}
]
},
"in": "query",
"name": "format",
"required": true
}
]Kein Anfragekörper deklariert.
Dokumentierte Antworten
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"file_name",
"count",
"content_base64"
],
"properties": {
"file_name": {
"type": "string"
},
"count": {
"type": "integer"
},
"content_base64": {
"type": "string"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Vollständige Operationsdefinition
{
"summary": "Audit-Log als CSV oder JSONL exportieren (Filter wie bei der Liste)",
"tags": [
"Audit-Log"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"account"
]
},
{
"type": "string",
"enum": [
"profile"
]
},
{
"type": "string",
"enum": [
"startup"
]
},
{
"type": "string",
"enum": [
"proxy"
]
},
{
"type": "string",
"enum": [
"team"
]
}
]
},
"in": "query",
"name": "category",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "from",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 0
},
"in": "query",
"name": "to",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 100
},
"in": "query",
"name": "action",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "source",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 20
},
"in": "query",
"name": "actor_type",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 64
},
"in": "query",
"name": "entity_id",
"required": false
},
{
"schema": {
"type": "integer",
"minimum": 1
},
"in": "query",
"name": "entity_no",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"ok"
]
},
{
"type": "string",
"enum": [
"denied"
]
},
{
"type": "string",
"enum": [
"error"
]
}
]
},
"in": "query",
"name": "result",
"required": false
},
{
"schema": {
"type": "string",
"maxLength": 200
},
"in": "query",
"name": "search",
"required": false
},
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"csv"
]
},
{
"type": "string",
"enum": [
"jsonl"
]
}
]
},
"in": "query",
"name": "format",
"required": true
}
],
"x-required-scopes": [
"audit:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"file_name",
"count",
"content_base64"
],
"properties": {
"file_name": {
"type": "string"
},
"count": {
"type": "integer"
},
"content_base64": {
"type": "string"
}
}
}
}
}
},
"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/audit
Aufbewahrung des Audit-Logs
Authentifizierung: Bearer-Token
Erforderliche Routen-Scopes: audit:read
Alle aufgeführten Scopes sind erforderlich; admin erfüllt Scope-Prüfungen. Anfrageinhalt, Tresorzustand und Ressourcenrechte können zusätzliche Voraussetzungen setzen.
Keine Pfad- oder Query-Parameter deklariert.
Kein Anfragekörper deklariert.
Dokumentierte Antworten
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"retention_days",
"entries",
"oldest_ts"
],
"properties": {
"retention_days": {
"type": "integer"
},
"entries": {
"type": "integer"
},
"oldest_ts": {
"type": [
"null",
"integer"
]
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Vollständige Operationsdefinition
{
"summary": "Aufbewahrung des Audit-Logs",
"tags": [
"Audit-Log"
],
"x-required-scopes": [
"audit:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"retention_days",
"entries",
"oldest_ts"
],
"properties": {
"retention_days": {
"type": "integer"
},
"entries": {
"type": "integer"
},
"oldest_ts": {
"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/audit
Aufbewahrung des Audit-Logs ändern (30–1.095 Tage)
Authentifizierung: Bearer-Token
Erforderliche Routen-Scopes: settings:write
Alle aufgeführten Scopes sind erforderlich; admin erfüllt Scope-Prüfungen. Anfrageinhalt, Tresorzustand und Ressourcenrechte können zusätzliche Voraussetzungen setzen.
Keine Pfad- oder Query-Parameter deklariert.
Anfragekörper · erforderlich
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"retention_days"
],
"properties": {
"retention_days": {
"type": "integer",
"minimum": 30,
"maximum": 1095
}
},
"additionalProperties": false
}
}
}
}Dokumentierte Antworten
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"retention_days"
],
"properties": {
"retention_days": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Vollständige Operationsdefinition
{
"summary": "Aufbewahrung des Audit-Logs ändern (30–1.095 Tage)",
"tags": [
"Audit-Log"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"retention_days"
],
"properties": {
"retention_days": {
"type": "integer",
"minimum": 30,
"maximum": 1095
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"settings:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"retention_days"
],
"properties": {
"retention_days": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}