Extensions · API
Generated from the OpenAPI snapshot. Source summaries remain unchanged; JSON schemas below are the exact exported definitions.
GET /api/v1/extensions/store-metadata
Store-Versionen und Veröffentlichungsdaten ohne Paketdownload abrufen
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 |
|---|---|---|---|
engine | query | No |
Full parameter schemas
[
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"in": "query",
"name": "engine",
"required": false
}
]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": [
"engine",
"extension_id",
"url",
"version",
"updated_at",
"checked_at"
],
"properties": {
"engine": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"extension_id": {
"type": "string"
},
"url": {
"type": "string"
},
"version": {
"type": "string"
},
"updated_at": {
"type": "integer"
},
"checked_at": {
"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": "Store-Versionen und Veröffentlichungsdaten ohne Paketdownload abrufen",
"tags": [
"Erweiterungen"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"in": "query",
"name": "engine",
"required": false
}
],
"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": [
"engine",
"extension_id",
"url",
"version",
"updated_at",
"checked_at"
],
"properties": {
"engine": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"extension_id": {
"type": "string"
},
"url": {
"type": "string"
},
"version": {
"type": "string"
},
"updated_at": {
"type": "integer"
},
"checked_at": {
"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/extensions
Erweiterungsbibliothek (Chromium und Firefox getrennt)
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 |
|---|---|---|---|
engine | query | No |
Full parameter schemas
[
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"in": "query",
"name": "engine",
"required": false
}
]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",
"name",
"engine",
"source_type",
"source_url",
"extension_id",
"update_mode",
"version",
"manifest_version",
"description",
"fingerprint_risk",
"icon_data_url",
"groups",
"versions",
"set_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"source_type": {
"type": "string"
},
"source_url": {
"type": [
"null",
"string"
]
},
"extension_id": {
"type": [
"null",
"string"
]
},
"update_mode": {
"type": "string"
},
"version": {
"type": [
"null",
"string"
]
},
"manifest_version": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"fingerprint_risk": {
"type": "boolean"
},
"icon_data_url": {
"type": [
"null",
"string"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"versions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version",
"sha256",
"size_bytes",
"added_at"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"added_at": {
"type": "integer"
}
}
}
},
"set_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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": "Erweiterungsbibliothek (Chromium und Firefox getrennt)",
"tags": [
"Erweiterungen"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"in": "query",
"name": "engine",
"required": false
}
],
"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",
"name",
"engine",
"source_type",
"source_url",
"extension_id",
"update_mode",
"version",
"manifest_version",
"description",
"fingerprint_risk",
"icon_data_url",
"groups",
"versions",
"set_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"source_type": {
"type": "string"
},
"source_url": {
"type": [
"null",
"string"
]
},
"extension_id": {
"type": [
"null",
"string"
]
},
"update_mode": {
"type": "string"
},
"version": {
"type": [
"null",
"string"
]
},
"manifest_version": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"fingerprint_risk": {
"type": "boolean"
},
"icon_data_url": {
"type": [
"null",
"string"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"versions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version",
"sha256",
"size_bytes",
"added_at"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"added_at": {
"type": "integer"
}
}
}
},
"set_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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/extensions
Erweiterung hinzufügen: Store-Adresse (Chrome Web Store, addons.mozilla.org), CRX/ZIP/XPI-Datei oder entpackter Ordner
Authentication: bearer token
Required route scopes: extensions: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",
"required": [
"source"
],
"properties": {
"source": {
"anyOf": [
{
"type": "string",
"enum": [
"store_url"
]
},
{
"type": "string",
"enum": [
"file"
]
},
{
"type": "string",
"enum": [
"unpacked"
]
}
]
},
"url": {
"type": "string",
"maxLength": 2048
},
"file_name": {
"type": "string",
"maxLength": 260
},
"content_base64": {
"type": "string",
"maxLength": 146800640
},
"path": {
"type": "string",
"maxLength": 1024
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"source_type",
"source_url",
"extension_id",
"update_mode",
"version",
"manifest_version",
"description",
"fingerprint_risk",
"icon_data_url",
"groups",
"versions",
"set_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"source_type": {
"type": "string"
},
"source_url": {
"type": [
"null",
"string"
]
},
"extension_id": {
"type": [
"null",
"string"
]
},
"update_mode": {
"type": "string"
},
"version": {
"type": [
"null",
"string"
]
},
"manifest_version": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"fingerprint_risk": {
"type": "boolean"
},
"icon_data_url": {
"type": [
"null",
"string"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"versions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version",
"sha256",
"size_bytes",
"added_at"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"added_at": {
"type": "integer"
}
}
}
},
"set_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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": "Erweiterung hinzufügen: Store-Adresse (Chrome Web Store, addons.mozilla.org), CRX/ZIP/XPI-Datei oder entpackter Ordner",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"source"
],
"properties": {
"source": {
"anyOf": [
{
"type": "string",
"enum": [
"store_url"
]
},
{
"type": "string",
"enum": [
"file"
]
},
{
"type": "string",
"enum": [
"unpacked"
]
}
]
},
"url": {
"type": "string",
"maxLength": 2048
},
"file_name": {
"type": "string",
"maxLength": 260
},
"content_base64": {
"type": "string",
"maxLength": 146800640
},
"path": {
"type": "string",
"maxLength": 1024
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"extensions:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"source_type",
"source_url",
"extension_id",
"update_mode",
"version",
"manifest_version",
"description",
"fingerprint_risk",
"icon_data_url",
"groups",
"versions",
"set_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"source_type": {
"type": "string"
},
"source_url": {
"type": [
"null",
"string"
]
},
"extension_id": {
"type": [
"null",
"string"
]
},
"update_mode": {
"type": "string"
},
"version": {
"type": [
"null",
"string"
]
},
"manifest_version": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"fingerprint_risk": {
"type": "boolean"
},
"icon_data_url": {
"type": [
"null",
"string"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"versions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version",
"sha256",
"size_bytes",
"added_at"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"added_at": {
"type": "integer"
}
}
}
},
"set_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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/extensions/{id}/groups
Dauerhafte Gruppenzuordnung einer Erweiterung
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": [
"revision",
"groups"
],
"properties": {
"revision": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"profile_count",
"selected"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"profile_count": {
"type": "integer"
},
"selected": {
"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": "Dauerhafte Gruppenzuordnung einer Erweiterung",
"tags": [
"Erweiterungen"
],
"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": [
"revision",
"groups"
],
"properties": {
"revision": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"profile_count",
"selected"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"profile_count": {
"type": "integer"
},
"selected": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}PUT /api/v1/extensions/{id}/groups
Gruppenzuordnung atomar ändern; gilt auch für neue Profile und beim nächsten Start
Authentication: bearer token
Required route scopes: extensions:write, 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
}
]Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_ids",
"revision"
],
"properties": {
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10000
},
"revision": {
"type": "string",
"minLength": 64,
"maxLength": 64
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"revision",
"groups"
],
"properties": {
"revision": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"profile_count",
"selected"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"profile_count": {
"type": "integer"
},
"selected": {
"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": "Gruppenzuordnung atomar ändern; gilt auch für neue Profile und beim nächsten Start",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"group_ids",
"revision"
],
"properties": {
"group_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10000
},
"revision": {
"type": "string",
"minLength": 64,
"maxLength": 64
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions:write",
"profiles:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"revision",
"groups"
],
"properties": {
"revision": {
"type": "string"
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"profile_count",
"selected"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"profile_count": {
"type": "integer"
},
"selected": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}PATCH /api/v1/extensions/{id}
Name oder Update-Modus (automatisch, manuell, gesperrt) ändern
Authentication: bearer token
Required route scopes: extensions: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
}
]Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"update_mode": {
"anyOf": [
{
"type": "string",
"enum": [
"auto"
]
},
{
"type": "string",
"enum": [
"manual"
]
},
{
"type": "string",
"enum": [
"locked"
]
}
]
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"source_type",
"source_url",
"extension_id",
"update_mode",
"version",
"manifest_version",
"description",
"fingerprint_risk",
"icon_data_url",
"groups",
"versions",
"set_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"source_type": {
"type": "string"
},
"source_url": {
"type": [
"null",
"string"
]
},
"extension_id": {
"type": [
"null",
"string"
]
},
"update_mode": {
"type": "string"
},
"version": {
"type": [
"null",
"string"
]
},
"manifest_version": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"fingerprint_risk": {
"type": "boolean"
},
"icon_data_url": {
"type": [
"null",
"string"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"versions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version",
"sha256",
"size_bytes",
"added_at"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"added_at": {
"type": "integer"
}
}
}
},
"set_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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": "Name oder Update-Modus (automatisch, manuell, gesperrt) ändern",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"update_mode": {
"anyOf": [
{
"type": "string",
"enum": [
"auto"
]
},
{
"type": "string",
"enum": [
"manual"
]
},
{
"type": "string",
"enum": [
"locked"
]
}
]
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"source_type",
"source_url",
"extension_id",
"update_mode",
"version",
"manifest_version",
"description",
"fingerprint_risk",
"icon_data_url",
"groups",
"versions",
"set_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"source_type": {
"type": "string"
},
"source_url": {
"type": [
"null",
"string"
]
},
"extension_id": {
"type": [
"null",
"string"
]
},
"update_mode": {
"type": "string"
},
"version": {
"type": [
"null",
"string"
]
},
"manifest_version": {
"type": [
"null",
"integer"
]
},
"description": {
"type": [
"null",
"string"
]
},
"fingerprint_risk": {
"type": "boolean"
},
"icon_data_url": {
"type": [
"null",
"string"
]
},
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"versions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version",
"sha256",
"size_bytes",
"added_at"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"sha256": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"added_at": {
"type": "integer"
}
}
}
},
"set_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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/extensions/{id}
Erweiterung aus Bibliothek und Sätzen entfernen (nicht bei laufenden Profilen)
Authentication: bearer token
Required route scopes: extensions: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",
"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": "Erweiterung aus Bibliothek und Sätzen entfernen (nicht bei laufenden Profilen)",
"tags": [
"Erweiterungen"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions: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"
}
}
}
}
}
}POST /api/v1/extensions/{id}/update
Neue Version aus dem Store laden
Authentication: bearer token
Required route scopes: extensions: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": [
"updated",
"version"
],
"properties": {
"updated": {
"type": "boolean"
},
"version": {
"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
{
"summary": "Neue Version aus dem Store laden",
"tags": [
"Erweiterungen"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"updated",
"version"
],
"properties": {
"updated": {
"type": "boolean"
},
"version": {
"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/extension-sets
Erweiterungssätze
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 |
|---|---|---|---|
engine | query | No |
Full parameter schemas
[
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"in": "query",
"name": "engine",
"required": false
}
]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",
"name",
"engine",
"items",
"profile_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id",
"name",
"enabled",
"pinned_version_id",
"version"
],
"properties": {
"extension_id": {
"type": "string"
},
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"null",
"string"
]
},
"version": {
"type": [
"null",
"string"
]
}
}
}
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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": "Erweiterungssätze",
"tags": [
"Erweiterungen"
],
"parameters": [
{
"schema": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"in": "query",
"name": "engine",
"required": false
}
],
"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",
"name",
"engine",
"items",
"profile_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id",
"name",
"enabled",
"pinned_version_id",
"version"
],
"properties": {
"extension_id": {
"type": "string"
},
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"null",
"string"
]
},
"version": {
"type": [
"null",
"string"
]
}
}
}
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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/extension-sets
Erweiterungssatz anlegen (höchstens 20 Erweiterungen)
Authentication: bearer token
Required route scopes: extensions: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",
"required": [
"name",
"engine"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"engine": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id"
],
"properties": {
"extension_id": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"maxItems": 20
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"items",
"profile_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id",
"name",
"enabled",
"pinned_version_id",
"version"
],
"properties": {
"extension_id": {
"type": "string"
},
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"null",
"string"
]
},
"version": {
"type": [
"null",
"string"
]
}
}
}
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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": "Erweiterungssatz anlegen (höchstens 20 Erweiterungen)",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"engine"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"engine": {
"anyOf": [
{
"type": "string",
"enum": [
"chromium"
]
},
{
"type": "string",
"enum": [
"firefox"
]
}
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id"
],
"properties": {
"extension_id": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"maxItems": 20
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"extensions:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"items",
"profile_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id",
"name",
"enabled",
"pinned_version_id",
"version"
],
"properties": {
"extension_id": {
"type": "string"
},
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"null",
"string"
]
},
"version": {
"type": [
"null",
"string"
]
}
}
}
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}PATCH /api/v1/extension-sets/{id}
Erweiterungssatz ändern
Authentication: bearer token
Required route scopes: extensions: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
}
]Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id"
],
"properties": {
"extension_id": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"maxItems": 20
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"items",
"profile_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id",
"name",
"enabled",
"pinned_version_id",
"version"
],
"properties": {
"extension_id": {
"type": "string"
},
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"null",
"string"
]
},
"version": {
"type": [
"null",
"string"
]
}
}
}
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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": "Erweiterungssatz ändern",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id"
],
"properties": {
"extension_id": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"maxItems": 20
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"id",
"name",
"engine",
"items",
"profile_count",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"extension_id",
"name",
"enabled",
"pinned_version_id",
"version"
],
"properties": {
"extension_id": {
"type": "string"
},
"name": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"pinned_version_id": {
"type": [
"null",
"string"
]
},
"version": {
"type": [
"null",
"string"
]
}
}
}
},
"profile_count": {
"type": "integer"
},
"created_at": {
"type": "integer"
},
"updated_at": {
"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/extension-sets/{id}
Erweiterungssatz löschen; Profile verlieren die Zuweisung
Authentication: bearer token
Required route scopes: extensions: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",
"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": "Erweiterungssatz löschen; Profile verlieren die Zuweisung",
"tags": [
"Erweiterungen"
],
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions: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"
}
}
}
}
}
}POST /api/v1/extension-sets/{id}/assign
Satz Profilen zuweisen: Auswahl, Gruppe, Tag oder alle (nur Profile desselben Kerns)
Authentication: bearer token
Required route scopes: extensions:write, 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
}
]Request body · required
{
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"profile_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"group_id": {
"type": "string"
},
"tag_id": {
"type": "string"
},
"all": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"assigned",
"skipped"
],
"properties": {
"assigned": {
"type": "integer"
},
"skipped": {
"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": "Satz Profilen zuweisen: Auswahl, Gruppe, Tag oder alle (nur Profile desselben Kerns)",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"profile_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"group_id": {
"type": "string"
},
"tag_id": {
"type": "string"
},
"all": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"in": "path",
"name": "id",
"required": true
}
],
"x-required-scopes": [
"extensions:write",
"profiles:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"assigned",
"skipped"
],
"properties": {
"assigned": {
"type": "integer"
},
"skipped": {
"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/extension-sets/unassign
Zuweisung von Erweiterungssätzen entfernen
Authentication: bearer token
Required route scopes: extensions:write, profiles: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": {
"profile_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"group_id": {
"type": "string"
},
"tag_id": {
"type": "string"
},
"all": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
}Documented responses
{
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"assigned",
"skipped"
],
"properties": {
"assigned": {
"type": "integer"
},
"skipped": {
"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": "Zuweisung von Erweiterungssätzen entfernen",
"tags": [
"Erweiterungen"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"profile_ids": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"minItems": 1,
"maxItems": 1000
},
"group_id": {
"type": "string"
},
"tag_id": {
"type": "string"
},
"all": {
"type": "boolean"
}
},
"additionalProperties": false
}
}
}
},
"x-required-scopes": [
"extensions:write",
"profiles:write"
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"assigned",
"skipped"
],
"properties": {
"assigned": {
"type": "integer"
},
"skipped": {
"type": "integer"
}
}
}
}
}
},
"default": {
"description": "HTTP error envelope. The status and error.code identify the failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}