Snapshots · API
Generated from the OpenAPI snapshot. Source summaries remain unchanged; JSON schemas below are the exact exported definitions.
GET /api/v1/profiles/{id}/snapshots
Lokale Snapshots eines Profils (gerätegebunden, ohne Cache)
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.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Lokale Snapshots eines Profils (gerätegebunden, ohne Cache)",
"tags": [
"Snapshots"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"profiles:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"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/{id}/snapshots
Snapshot jetzt anlegen (Profil muss geschlossen sein)
Authentication: bearer token
Required route scopes: profiles:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Snapshot jetzt anlegen (Profil muss geschlossen sein)",
"tags": [
"Snapshots"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"profiles:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
}
}
}
},
"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/{id}/snapshots/{snapshotId}/restore
Snapshot wiederherstellen; vorher wird der aktuelle Stand gesichert, engine_build_last_used wird auf den Build des Snapshots gesetzt
Authentication: bearer token
Required route scopes: profiles:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes | |
snapshotId | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string"
},
"in": "path",
"name": "id",
"required": true
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "snapshotId",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"restored",
"safety"
],
"properties": {
"restored": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
},
"safety": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Snapshot wiederherstellen; vorher wird der aktuelle Stand gesichert, engine_build_last_used wird auf den Build des Snapshots gesetzt",
"tags": [
"Snapshots"
],
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "id",
"required": true
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "snapshotId",
"required": true
}
],
"x-required-scopes": [
"profiles:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"restored",
"safety"
],
"properties": {
"restored": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
},
"safety": {
"type": "object",
"required": [
"id",
"profile_id",
"reason",
"file_name",
"size_bytes",
"engine_build",
"created_at",
"exists"
],
"properties": {
"id": {
"type": "string"
},
"profile_id": {
"type": "string"
},
"reason": {
"type": "string"
},
"file_name": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"engine_build": {
"type": "string"
},
"created_at": {
"type": "integer"
},
"exists": {
"type": "boolean"
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}DELETE /api/v1/profiles/{id}/snapshots/{snapshotId}
Snapshot löschen
Authentication: bearer token
Required route scopes: profiles:write
All listed scopes are required; admin satisfies scope checks. Request content, vault state and resource permissions can impose additional requirements.
| Name | Location | Required | Description |
|---|---|---|---|
id | path | Yes | |
snapshotId | path | Yes |
Full parameter schemas
[
{
"schema": {
"type": "string"
},
"in": "path",
"name": "id",
"required": true
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "snapshotId",
"required": true
}
]No request body declared.
Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"removed"
],
"properties": {
"id": {
"type": "string"
},
"removed": {
"type": "boolean"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}Complete operation definition
{
"summary": "Snapshot löschen",
"tags": [
"Snapshots"
],
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "id",
"required": true
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "snapshotId",
"required": true
}
],
"x-required-scopes": [
"profiles:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"removed"
],
"properties": {
"id": {
"type": "string"
},
"removed": {
"type": "boolean"
}
}
}
}
}
},
"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/snapshots
Snapshot-Einstellungen
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
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"on_close",
"per_profile"
],
"properties": {
"on_close": {
"type": "boolean"
},
"per_profile": {
"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
{
"summary": "Snapshot-Einstellungen",
"tags": [
"Snapshots"
],
"x-required-scopes": [
"profiles:read"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"on_close",
"per_profile"
],
"properties": {
"on_close": {
"type": "boolean"
},
"per_profile": {
"type": "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/snapshots
Snapshot beim Schließen ein-/ausschalten und Anzahl je Profil (1–20) festlegen
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
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"on_close": {
"type": "boolean"
},
"per_profile": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"on_close",
"per_profile"
],
"properties": {
"on_close": {
"type": "boolean"
},
"per_profile": {
"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
{
"summary": "Snapshot beim Schließen ein-/ausschalten und Anzahl je Profil (1–20) festlegen",
"tags": [
"Snapshots"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"on_close": {
"type": "boolean"
},
"per_profile": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"settings:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"on_close",
"per_profile"
],
"properties": {
"on_close": {
"type": "boolean"
},
"per_profile": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}