{
    "openapi": "3.0.3",
    "info": {
        "title": "APT Shop API",
        "version": "2.0.0",
        "description": "Willkommen zur **APT Shop API v2** \ud83d\udecd\ufe0f\r\nDiese API erm\u00f6glicht den Zugriff auf Bestellungen, Produkte, Kunden und weitere Shopdaten \u00fcber eine standardisierte REST-Schnittstelle.\r\n            \r\n---\r\n            \r\n### \ud83d\udd10 **Authentifizierung**\r\n            \r\nF\u00fcr alle *private* Endpunkte ist eine Authentifizierung \u00fcber **OAuth 2.0 Client Credentials** oder einen **Bearer Token (JWT)** erforderlich.\r\n            \r\n**Token-URL:**\r\n`POST /api/v2/oauth/token`\r\n            \r\n#### \ud83d\udd38 Option 1 \u2013 \u00dcbergabe per Body (`application/x-www-form-urlencoded`)\r\nDie Zugangsdaten werden **nicht** als JSON gesendet,  \r\nsondern als **Form-Data (URL-encoded)** im Request-Body:\r\n\r\n```\r\ngrant_type=client_credentials&\r\nclient_id=DEIN_CLIENT_ID&\r\nclient_secret=DEIN_CLIENT_SECRET&\r\nscope=products.read orders.read orders.create orders.update\r\n```\r\n\r\n#### \ud83d\udd38 Option 2 \u2013 \u00dcbergabe per Basic Auth Header\r\nAlternativ kannst du `client_id` und `client_secret` per Header senden:\r\n\r\n```\r\nAuthorization: Basic <base64(client_id:client_secret)>\r\nContent-Type: application/x-www-form-urlencoded\r\n```\r\n\r\nRequest-Body:\r\n```\r\ngrant_type=client_credentials&\r\nscope=products.read orders.read\r\n```\r\n\r\n            \r\n**Beispiel-Antwort:**\r\n```json\r\n{\r\n  \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\r\n  \"token_type\": \"Bearer\",\r\n  \"expires_in\": 3600\r\n}\r\n```\r\n            \r\nVerwende anschlie\u00dfend den Token in jedem Request-Header:\r\n            \r\n```\r\nAuthorization: Bearer <ACCESS_TOKEN>\r\n```\r\n            \r\nWenn du noch keine Zugangsdaten hast, **fordere deine `client_id` und dein `client_secret` beim H\u00e4ndler oder Systemadministrator an.**\r\n            \r\n---\r\n            \r\n### \ud83d\udcd8 **Scopes (Zugriffsrechte)**\r\n            \r\nJede Operation ben\u00f6tigt bestimmte Berechtigungen (Scopes):\r\n            \r\n### \ud83d\udd10 Verf\u00fcgbare OAuth2 Scopes\n\nDie folgenden Scopes steuern den Zugriff auf einzelne API-Ressourcen:\n\n_Klicken Sie auf eine Gruppe, um die zugeh\u00f6rigen Berechtigungen anzuzeigen._\n\n<details><summary><b>Baskets</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `baskets.read` | Lesezugriff auf Baskets |\n| `baskets.create` | Erstellen neuer Baskets |\n| `baskets.update` | Bearbeiten bestehender Baskets |\n| `baskets.delete` | L\u00f6schen von Baskets |\n\n</details>\n\n<details><summary><b>Bills</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `bills.read` | Lesezugriff auf Bills |\n| `bills.create` | Erstellen neuer Bills |\n\n</details>\n\n<details><summary><b>Content</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `content.read` | Lesezugriff auf Content |\n| `content.create` | Erstellen neuer Content |\n| `content.update` | Bearbeiten bestehender Content |\n\n</details>\n\n<details><summary><b>Customers</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `customers.read` | Lesezugriff auf Customers |\n| `customers.create` | Erstellen neuer Customers |\n| `customers.update` | Bearbeiten bestehender Customers |\n| `customers.delete` | L\u00f6schen von Customers |\n\n</details>\n\n<details><summary><b>Newsletterrecipients</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `newsletterrecipients.read` | Lesezugriff auf Newsletterrecipients |\n| `newsletterrecipients.create` | Erstellen neuer Newsletterrecipients |\n| `newsletterrecipients.update` | Bearbeiten bestehender Newsletterrecipients |\n| `newsletterrecipients.delete` | L\u00f6schen von Newsletterrecipients |\n\n</details>\n\n<details><summary><b>Orders</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `orders.read` | Lesezugriff auf Orders |\n| `orders.create` | Erstellen neuer Orders |\n| `orders.update` | Bearbeiten bestehender Orders |\n\n</details>\n\n<details><summary><b>Products</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `products.read` | Lesezugriff auf Products |\n| `products.update` | Bearbeiten bestehender Products |\n\n</details>\n\n<details><summary><b>Webhooks</b></summary>\n\n| Scope | Beschreibung |\n|-------|---------------|\n| `webhooks.read` | Lesezugriff auf Webhooks |\n| `webhooks.create` | Erstellen neuer Webhooks |\n| `webhooks.update` | Bearbeiten bestehender Webhooks |\n| `webhooks.delete` | L\u00f6schen von Webhooks |\n\n</details>\n\n\r\n            \r\n> **Hinweis:**\r\n> Die verf\u00fcgbaren Scopes werden automatisch vom System generiert und k\u00f6nnen je nach H\u00e4ndlerkonfiguration variieren.\r\n            \r\n---\r\n            \r\n### \ud83e\udde9 **API-Struktur**\r\n            \r\n- **Public Endpoints:** Keine Authentifizierung erforderlich\r\n  \u2192 `/api/v2/public/...`\r\n            \r\n- **Private Endpoints:** OAuth2-Authentifizierung erforderlich\r\n  \u2192 `/api/v2/private/...`\r\n            \r\n---\r\n            \r\nViel Erfolg beim Integrieren! \ud83d\ude80"
    },
    "servers": [
        {
            "url": "https://instick.aptshop.de/api/v2",
            "description": "Private + Public API apt-shop instick.aptshop.de (instick.aptshop.de)"
        }
    ],
    "components": {
        "securitySchemes": {
            "BearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT"
            },
            "OAuth2": {
                "type": "oauth2",
                "flows": {
                    "clientCredentials": {
                        "tokenUrl": "https://instick.aptshop.de/api/v2/oauth/token",
                        "scopes": {
                            "baskets.read": "Lesezugriff auf Baskets",
                            "baskets.create": "Erstellen neuer Baskets",
                            "baskets.update": "Bearbeiten bestehender Baskets",
                            "baskets.delete": "L\u00f6schen von Baskets",
                            "bills.read": "Lesezugriff auf Bills",
                            "bills.create": "Erstellen neuer Bills",
                            "content.read": "Lesezugriff auf Content",
                            "content.create": "Erstellen neuer Content",
                            "content.update": "Bearbeiten bestehender Content",
                            "customers.read": "Lesezugriff auf Customers",
                            "customers.create": "Erstellen neuer Customers",
                            "customers.update": "Bearbeiten bestehender Customers",
                            "customers.delete": "L\u00f6schen von Customers",
                            "newsletterrecipients.read": "Lesezugriff auf Newsletterrecipients",
                            "newsletterrecipients.create": "Erstellen neuer Newsletterrecipients",
                            "newsletterrecipients.update": "Bearbeiten bestehender Newsletterrecipients",
                            "newsletterrecipients.delete": "L\u00f6schen von Newsletterrecipients",
                            "orders.read": "Lesezugriff auf Orders",
                            "orders.create": "Erstellen neuer Orders",
                            "orders.update": "Bearbeiten bestehender Orders",
                            "products.read": "Lesezugriff auf Products",
                            "products.update": "Bearbeiten bestehender Products",
                            "webhooks.read": "Lesezugriff auf Webhooks",
                            "webhooks.create": "Erstellen neuer Webhooks",
                            "webhooks.update": "Bearbeiten bestehender Webhooks",
                            "webhooks.delete": "L\u00f6schen von Webhooks"
                        }
                    }
                }
            }
        },
        "schemas": {
            "ApiResponse": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "enum": [
                            "ok",
                            "error"
                        ],
                        "description": "Status der Antwort"
                    },
                    "data": {
                        "type": "object",
                        "description": "Datenobjekt bei Erfolg. Struktur abh\u00e4ngig vom Endpoint."
                    },
                    "message": {
                        "type": "string",
                        "description": "Fehlermeldung, falls \"status\" = \"error\""
                    },
                    "total": {
                        "type": "integer",
                        "description": "ggf die maximale Anzahl der abgefragten Datens\u00e4tze unabh\u00e4ngig vom limit"
                    },
                    "limit": {
                        "type": "integer",
                        "description": "die maximale Anzahl von Zeilen an, die zur\u00fcckgegeben werden soll"
                    },
                    "offset": {
                        "type": "integer",
                        "description": "Anzahl der Zeilen, die \u00fcbersprungen werden"
                    }
                },
                "required": [
                    "status"
                ]
            }
        }
    },
    "paths": {
        "/public/baskets/{id}/basketurl": {
            "get": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "basket_return_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "URL zum Warenkorb",
                                            "example": "123"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123",
                                    "basket_return_url": "https://domain.de/basket?basketId=iquwzeiwqziqwuez&basketHash=iuqwzeqwe786qw87e6"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": true,
                "summary": "Warenkorb Url holen",
                "description": "Gibt die URL zum erzeugten Warenkorb wieder um den Nutzer auf den Warenkorb zu leiten.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetBasketsBasketurlPublic",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Warenkorb-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/public/baskets": {
            "post": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": true,
                "summary": "Warenkorb erstellen.",
                "description": "Erstellt einen Warenkorb.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostBasketsPublic",
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.create"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/public/baskets/{id}/additem": {
            "post": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "basketitem_id": {
                                            "type": "integer",
                                            "description": "Id des Warenkorbelements",
                                            "example": "123"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123",
                                    "basketitem_id": 123
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": true,
                "summary": "Ein Produkt dem Warenkorb hinzuf\u00fcgen.",
                "description": "F\u00fcgt ein Shopprodukt dem Warenkorb hinzu.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostBasketsAdditemPublic",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Warenkorb-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "sku": {
                                        "type": "string"
                                    }
                                }
                            },
                            "example": {
                                "sku": "P-123"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.create"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/public/baskets/{id}": {
            "delete": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": true,
                "summary": "Einen Warenkorb oder ein Produkt aus dem Warenkorb l\u00f6schen.",
                "description": "L\u00f6scht einen kompletten Warenkorb oder ein Produkt aus em Warenkorb.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "DeleteBasketsDetailPublic",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Warenkorb-ID"
                    },
                    {
                        "name": "basketitem_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Die Id des Warenkorbprodukts, wenn nicht vorhanden, wird der ganze Warenkorb gel\u00f6scht"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.delete"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.delete"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/public/products/{id}": {
            "get": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": [],
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Standardausgabe (einfaches Produkt ohne Varianten)",
                                        "value": [
                                            {
                                                "@context": "https://schema.org/",
                                                "@type": "Product",
                                                "@id": "https://shop.example.com/api/v2/public/Products/1001",
                                                "name": "APT Coffee Mug",
                                                "description": "Keramik-Kaffeebecher mit APT-Logo, sp\u00fclmaschinenfest.",
                                                "image": [
                                                    "https://shop.example.com/images/products/1001.jpg"
                                                ],
                                                "brand": {
                                                    "@type": "Brand",
                                                    "name": "APT"
                                                },
                                                "category": "Geschirr > Becher",
                                                "offers": {
                                                    "@type": "Offer",
                                                    "priceCurrency": "EUR",
                                                    "price": 9.99,
                                                    "availability": "https://schema.org/InStock",
                                                    "url": "https://shop.example.com/products/1001"
                                                },
                                                "additionalProperty": [
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Material",
                                                        "value": "Keramik"
                                                    },
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Farbe",
                                                        "value": "Wei\u00df"
                                                    },
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Volumen",
                                                        "value": "300 ml"
                                                    }
                                                ]
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Produkt mit Varianten, Bewertungen und erweiterten Attributen",
                                        "value": [
                                            {
                                                "@context": "https://schema.org/",
                                                "@type": "Product",
                                                "@id": "https://shop.example.com/api/v2/public/Products/2001",
                                                "name": "APT Herren T-Shirt",
                                                "description": "Hochwertiges Baumwoll-T-Shirt mit APT-Logo in verschiedenen Farben und Gr\u00f6\u00dfen.",
                                                "image": [
                                                    "https://shop.example.com/images/products/2001_main.jpg"
                                                ],
                                                "brand": {
                                                    "@type": "Brand",
                                                    "name": "APT"
                                                },
                                                "category": "Bekleidung > Herren > T-Shirts",
                                                "hasVariant": [
                                                    {
                                                        "@type": "Product",
                                                        "name": "APT Herren T-Shirt Schwarz L",
                                                        "color": "Schwarz",
                                                        "size": "L",
                                                        "sku": "TSHIRT-BLACK-L",
                                                        "gtin": "4000000001234",
                                                        "offers": {
                                                            "@type": "Offer",
                                                            "priceCurrency": "EUR",
                                                            "price": 19.99,
                                                            "availability": "https://schema.org/InStock",
                                                            "url": "https://shop.example.com/products/2001?variant=black-l"
                                                        }
                                                    },
                                                    {
                                                        "@type": "Product",
                                                        "name": "APT Herren T-Shirt Wei\u00df M",
                                                        "color": "Wei\u00df",
                                                        "size": "M",
                                                        "sku": "TSHIRT-WHITE-M",
                                                        "gtin": "4000000001256",
                                                        "offers": {
                                                            "@type": "Offer",
                                                            "priceCurrency": "EUR",
                                                            "price": 18.99,
                                                            "availability": "https://schema.org/InStock",
                                                            "url": "https://shop.example.com/products/2001?variant=white-m"
                                                        }
                                                    }
                                                ],
                                                "offers": {
                                                    "@type": "AggregateOffer",
                                                    "lowPrice": 18.99,
                                                    "highPrice": 19.99,
                                                    "offerCount": 2,
                                                    "priceCurrency": "EUR"
                                                },
                                                "additionalProperty": [
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Material",
                                                        "value": "100% Baumwolle"
                                                    },
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Pflegehinweis",
                                                        "value": "Waschbar bei 30\u00b0C"
                                                    },
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Zielgruppe",
                                                        "value": "Herren"
                                                    },
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Schnitt",
                                                        "value": "Regular Fit"
                                                    },
                                                    {
                                                        "@type": "PropertyValue",
                                                        "name": "Nachhaltigkeit",
                                                        "value": "Bio-Baumwolle"
                                                    }
                                                ],
                                                "aggregateRating": {
                                                    "@type": "AggregateRating",
                                                    "ratingValue": 4.6,
                                                    "ratingCount": 89,
                                                    "bestRating": 5,
                                                    "worstRating": 1
                                                },
                                                "review": [
                                                    {
                                                        "@type": "Review",
                                                        "reviewRating": {
                                                            "@type": "Rating",
                                                            "ratingValue": 5
                                                        },
                                                        "author": {
                                                            "@type": "Person",
                                                            "name": "Max Mustermann"
                                                        },
                                                        "reviewBody": "Sehr gute Qualit\u00e4t, angenehm zu tragen."
                                                    },
                                                    {
                                                        "@type": "Review",
                                                        "reviewRating": {
                                                            "@type": "Rating",
                                                            "ratingValue": 4
                                                        },
                                                        "author": {
                                                            "@type": "Person",
                                                            "name": "Anna Beispiel"
                                                        },
                                                        "reviewBody": "Etwas gro\u00df geschnitten, aber tolle Stoffqualit\u00e4t."
                                                    }
                                                ],
                                                "manufacturer": {
                                                    "@type": "Organization",
                                                    "name": "APT-Ebusiness GmbH",
                                                    "url": "https://www.apt-shop.de",
                                                    "email": "info@apt-shop.de",
                                                    "telephone": "+49 123 456789"
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "public",
                "x-cors-enabled": true,
                "summary": "Liefert \u00f6ffentliche Produktdaten in Schema.org Format.",
                "description": "Gibt ein einzelnes Produkt im Schema.org-kompatiblen JSON-LD-Format zur\u00fcck.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83c\udf0d **Public Endpoint** \u2013 Dieser Endpunkt ist ohne Authentifizierung \u00fcber CORS erreichbar.",
                "operationId": "GetProductsDetailPublic",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Produkt-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/baskets/{id}/basketurl": {
            "get": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "basket_return_url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "URL zum Warenkorb",
                                            "example": "123"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123",
                                    "basket_return_url": "https://domain.de/basket?basketId=iquwzeiwqziqwuez&basketHash=iuqwzeqwe786qw87e6"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Warenkorb Url holen",
                "description": "Gibt die URL zum erzeugten Warenkorb wieder um den Nutzer auf den Warenkorb zu leiten.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetBasketsBasketurlPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Warenkorb-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/baskets": {
            "post": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Warenkorb erstellen.",
                "description": "Erstellt einen Warenkorb.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostBasketsPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "multishop_id": {
                                        "type": "integer"
                                    }
                                }
                            },
                            "example": {
                                "multishop_id": 123
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.create"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/baskets/{id}/additem": {
            "post": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "basketitem_id": {
                                            "type": "integer",
                                            "description": "Id des Warenkorbelements",
                                            "example": "123"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123",
                                    "basketitem_id": 123
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Ein Produkt dem Warenkorb hinzuf\u00fcgen.",
                "description": "F\u00fcgt ein Shopprodukt oder ein manuelles Produkt dem Warenkorb hinzu.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostBasketsAdditemPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Warenkorb-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "sku": {
                                        "type": "string",
                                        "description": "Die Artikelnummer des Produktes"
                                    },
                                    "isShopArtikel": {
                                        "type": "boolean",
                                        "description": "Das Produkt ist ein Shopprodukt"
                                    },
                                    "artikelName": {
                                        "type": "string",
                                        "description": "Produktbezeichnung, wenn kein Shopprodukt"
                                    },
                                    "artikelBeschreibung": {
                                        "type": "string",
                                        "description": "Produktbeschreibung, wenn kein Shopprodukt"
                                    },
                                    "artikelMenge": {
                                        "type": "integer",
                                        "description": "Menge, wenn kein Shopprodukt"
                                    },
                                    "artikelTax": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Steuersatz, wenn kein Shopprodukt"
                                    },
                                    "artikelImgUrl": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Url zum Produkt-Bild, wenn kein Shopprodukt"
                                    },
                                    "artikelData": {
                                        "type": "string",
                                        "description": "Zusatzdaten zum Produktz, wenn kein Shopprodukt"
                                    },
                                    "artikelLandingPage": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Url zur Produkt-Page, wenn kein Shopprodukt"
                                    }
                                },
                                "required": [
                                    "sku",
                                    "isShopArtikel"
                                ]
                            },
                            "example": {
                                "sku": "P-123",
                                "isShopArtikel": true
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.create"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/baskets/{id}/updateitem": {
            "put": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "description": "Id (Session des Warenekorbs",
                                            "example": "uizqwe78qwe8qw7e68w7qq9w8e"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "basketitem_id": {
                                            "type": "integer",
                                            "description": "Id des Warenkorbelements",
                                            "example": "123"
                                        }
                                    }
                                },
                                "example": {
                                    "id": "uzwqeiuqwze87qwe687",
                                    "location": "https://domain.de/api/v2/endpoint/123",
                                    "basketitem_id": 123
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Ein Warenkorb Item aktualisieren.",
                "description": "Aktualisiert einen Warenkorbelement (nur nicht Shopprodukte).\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutBasketsUpdateitemPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Warenkorb-ID"
                    },
                    {
                        "name": "basketitem_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Die Id des Warenkorbprodukts, wenn nicht vorhanden, wird der ganze Warenkorb gel\u00f6scht"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "basketitem_id": {
                                        "type": "integer",
                                        "description": "Die Id des Warenkorb-Produktes"
                                    },
                                    "sku": {
                                        "type": "string",
                                        "description": "Die Artikelnummer des Produktes"
                                    },
                                    "isShopArtikel": {
                                        "type": "boolean",
                                        "description": "Das Produkt ist ein Shopprodukt"
                                    },
                                    "artikelName": {
                                        "type": "string",
                                        "description": "Produktbezeichnung, wenn kein Shopprodukt"
                                    },
                                    "artikelBeschreibung": {
                                        "type": "string",
                                        "description": "Produktbeschreibung, wenn kein Shopprodukt"
                                    },
                                    "artikelMenge": {
                                        "type": "integer",
                                        "description": "Menge, wenn kein Shopprodukt"
                                    },
                                    "artikelTax": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Steuersatz, wenn kein Shopprodukt"
                                    },
                                    "artikelImgUrl": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Url zum Produkt-Bild, wenn kein Shopprodukt"
                                    },
                                    "artikelData": {
                                        "type": "string",
                                        "description": "Zusatzdaten zum Produktz, wenn kein Shopprodukt"
                                    },
                                    "artikelLandingPage": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Url zur Produkt-Page, wenn kein Shopprodukt"
                                    }
                                },
                                "required": [
                                    "basketitem_id",
                                    "isShopArtikel"
                                ]
                            },
                            "example": {
                                "basketitem_id": 123,
                                "sku": "P-123",
                                "isShopArtikel": false,
                                "artikelName": "Neue Produkttitel"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/baskets/{id}": {
            "delete": {
                "tags": [
                    "baskets"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Einen Warenkorb oder ein Produkt aus dem Warenkorb l\u00f6schen.",
                "description": "L\u00f6scht einen kompletten Warenkorb oder ein Produkt aus em Warenkorb.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "DeleteBasketsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Warenkorb-ID"
                    },
                    {
                        "name": "basketitem_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Die Id des Warenkorbprodukts, wenn nicht vorhanden, wird der ganze Warenkorb gel\u00f6scht"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "baskets.delete"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "baskets.delete"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/bills": {
            "get": {
                "tags": [
                    "bills"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "description": "Kurzform (Standardausgabe)",
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 123
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "example": "https://localhost/shop/api/v2/private/bills/123"
                                                    }
                                                }
                                            }
                                        },
                                        {
                                            "description": "Detailform (wenn ?details=1)",
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/paths/~1private~1bills~1{id}/get/responses/200/content/application~1json/schema"
                                            }
                                        }
                                    ]
                                },
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Standardausgabe \u2013 Basisdaten der Rechnung",
                                        "value": [
                                            {
                                                "id": 101,
                                                "location": "https://shop.local/api/v2/private/bills/101"
                                            },
                                            {
                                                "id": 102,
                                                "location": "https://shop.local/api/v2/private/bills/102"
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Detaillierte Ausgabe \u2013 inklusive Adress- und Steuerdaten",
                                        "value": [
                                            {
                                                "id": 101,
                                                "location": "https://shop.local/api/v2/private/bills/101",
                                                "email": "kunde@example.com",
                                                "date": "2025-11-09",
                                                "date_delivery": "2025-11-05",
                                                "bill_number": "RE-2025-101",
                                                "order_id": 5001,
                                                "order_location": "https://shop.local/api/v2/private/Orders/5001",
                                                "custgroup_id": 3,
                                                "custgroup_name": "B2C Standard",
                                                "bill_salutation": "Herr",
                                                "bill_firstname": "Max",
                                                "bill_lastname": "Muster",
                                                "bill_company": "Musterfirma GmbH",
                                                "bill_street": "Beispielstra\u00dfe",
                                                "bill_streetnr": "42",
                                                "bill_zip": "12345",
                                                "bill_city": "Berlin",
                                                "bill_country": "Deutschland",
                                                "bill_country_iso2": "DE",
                                                "bill_country_iso3": "DEU",
                                                "tax": [
                                                    {
                                                        "tax_rate": 19,
                                                        "tax_notice": "inkl.",
                                                        "tax_amount": 19.13,
                                                        "tax_base": 100.77
                                                    }
                                                ],
                                                "total_amount_exclude_tax": 100.77,
                                                "total_amount_include_tax": 119.9
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "mehrere Rechnungen abrufen.",
                "description": "Liefert Daten f\u00fcr mehrere Rechnungen.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetBillsPrivate",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Anzahl der zur\u00fcckgegebenen Datens\u00e4tze (max 100)"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Startposition im Datenbestand"
                    },
                    {
                        "name": "details",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Wenn true, werden die gesamten Rechnungsdaten mit zurueckgegeben, wenn id=null"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "custgroup_id": {
                                    "type": "integer"
                                },
                                "start_date": {
                                    "type": "string"
                                },
                                "end_date": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Filtert nach z.b. Zeitraum"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "bills.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "bills.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/bills/{id}": {
            "get": {
                "tags": [
                    "bills"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige ID der Rechnung"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API-URL zu dieser Rechnung"
                                        },
                                        "email": {
                                            "type": "string",
                                            "format": "email",
                                            "description": "E-Mail-Adresse des Kunden"
                                        },
                                        "date": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "Erstellungsdatum der Rechnung"
                                        },
                                        "date_delivery": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "Lieferdatum (Jahr-Monat-Tag)"
                                        },
                                        "bill_number": {
                                            "type": "string",
                                            "description": "Rechnungsnummer"
                                        },
                                        "order_id": {
                                            "type": "integer",
                                            "description": "Zugeh\u00f6rige Bestell-ID"
                                        },
                                        "order_location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API-URL zur zugeh\u00f6rigen Bestellung"
                                        },
                                        "customer_id": {
                                            "type": "integer",
                                            "description": "Kundennummer",
                                            "example": 1234
                                        },
                                        "custgroup_id": {
                                            "type": "integer",
                                            "description": "ID der Kundengruppe"
                                        },
                                        "custgroup_name": {
                                            "type": "string",
                                            "description": "Bezeichnung der Kundengruppe"
                                        },
                                        "bill_salutation": {
                                            "type": "string",
                                            "description": "Anrede des Rechnungsempf\u00e4ngers"
                                        },
                                        "bill_firstname": {
                                            "type": "string",
                                            "description": "Vorname des Rechnungsempf\u00e4ngers"
                                        },
                                        "bill_lastname": {
                                            "type": "string",
                                            "description": "Nachname des Rechnungsempf\u00e4ngers"
                                        },
                                        "bill_company": {
                                            "type": "string",
                                            "description": "Firma des Rechnungsempf\u00e4ngers"
                                        },
                                        "bill_addition": {
                                            "type": "string",
                                            "description": "Adresszusatz"
                                        },
                                        "bill_street": {
                                            "type": "string",
                                            "description": "Stra\u00dfe des Rechnungsempf\u00e4ngers"
                                        },
                                        "bill_streetnr": {
                                            "type": "string",
                                            "description": "Hausnummer"
                                        },
                                        "bill_zip": {
                                            "type": "string",
                                            "description": "Postleitzahl"
                                        },
                                        "bill_city": {
                                            "type": "string",
                                            "description": "Ort"
                                        },
                                        "bill_state": {
                                            "type": "string",
                                            "description": "Bundesland oder Region"
                                        },
                                        "bill_country": {
                                            "type": "string",
                                            "description": "Land"
                                        },
                                        "bill_country_iso2": {
                                            "type": "string",
                                            "minLength": 2,
                                            "maxLength": 2,
                                            "description": "ISO2-L\u00e4ndercode"
                                        },
                                        "bill_country_iso3": {
                                            "type": "string",
                                            "minLength": 3,
                                            "maxLength": 3,
                                            "description": "ISO3-L\u00e4ndercode"
                                        },
                                        "vat_number": {
                                            "type": "string",
                                            "description": "UID Nummer des Kunden, sofern aktiv bei der Rechnung",
                                            "example": "DE12345678"
                                        },
                                        "price_exclude_tax": {
                                            "type": "boolean",
                                            "description": "Preise der Bestellung sind zzgl. MwSt",
                                            "example": false
                                        },
                                        "tax": {
                                            "type": "array",
                                            "description": "Liste enthaltener Steuerpositionen",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "tax_rate": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Steuersatz (z. B. 19 f\u00fcr 19 %)"
                                                    },
                                                    "tax_notice": {
                                                        "type": "string",
                                                        "description": "Steuerhinweis"
                                                    },
                                                    "tax_amount": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Steuerbetrag"
                                                    },
                                                    "tax_base": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Netto-Basiswert"
                                                    }
                                                }
                                            }
                                        },
                                        "total_amount_exclude_tax": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Gesamtsumme ohne Steuer"
                                        },
                                        "total_amount_include_tax": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Gesamtsumme inklusive Steuer"
                                        },
                                        "html": {
                                            "type": "string",
                                            "description": "Base64-kodierter HTML-Inhalt der Rechnung (optional)"
                                        },
                                        "pdf": {
                                            "type": "string",
                                            "description": "Base64-kodierte PDF-Datei der Rechnung (optional)"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 101,
                                    "location": "https://shop.local/api/v2/private/bills/101",
                                    "email": "kunde@example.com",
                                    "date": "2025-11-09",
                                    "date_delivery": "2025-11-05",
                                    "bill_number": "RE-2025-101",
                                    "order_id": 5001,
                                    "order_location": "https://shop.local/api/v2/private/orders/5001",
                                    "custgroup_id": 3,
                                    "custgroup_name": "B2C Standard",
                                    "bill_salutation": "Herr",
                                    "bill_firstname": "Max",
                                    "bill_lastname": "Muster",
                                    "bill_company": "Musterfirma GmbH",
                                    "bill_street": "Beispielstra\u00dfe",
                                    "bill_streetnr": "42",
                                    "bill_zip": "12345",
                                    "bill_city": "Berlin",
                                    "bill_country": "Deutschland",
                                    "bill_country_iso2": "DE",
                                    "bill_country_iso3": "DEU",
                                    "vat_number": "ATU2345678",
                                    "price_exclude_tax": false,
                                    "tax": [
                                        {
                                            "tax_rate": 19,
                                            "tax_notice": "inkl.",
                                            "tax_amount": 19.13,
                                            "tax_base": 100.77
                                        }
                                    ],
                                    "total_amount_exclude_tax": 100.77,
                                    "total_amount_include_tax": 119.9
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten einer Rechnung abrufen.",
                "description": "Liefert Daten zu einer Rechnung.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetBillsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Bill-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "bills.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "bills.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/bills/{id}/sendmail": {
            "post": {
                "tags": [
                    "bills"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Sendet die Rechnung an Empfaenger",
                "description": "Sendet eine Rechnungen an Empfaenger.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostBillsSendmailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Bill-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "recipients": {
                                        "type": "array",
                                        "description": "Liste der Empfaenger-E-Mailadressen",
                                        "items": {
                                            "type": "string",
                                            "format": "email",
                                            "example": "kunde@example.com"
                                        },
                                        "example": [
                                            "kunde@example.com",
                                            "support@example.com"
                                        ]
                                    }
                                }
                            },
                            "example": {
                                "recipients": [
                                    "kunde@example.com",
                                    "support@example.com"
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "bills.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "bills.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/content/{id}": {
            "get": {
                "tags": [
                    "content"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige ID des Inhalts"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API-URL zu diesem Inhaltselement"
                                        },
                                        "link": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "\u00d6ffentliche URL zur Seite oder zum Inhalt"
                                        },
                                        "title": {
                                            "type": "string",
                                            "description": "Titel oder \u00dcberschrift des Inhalts"
                                        },
                                        "content": {
                                            "type": "string",
                                            "description": "Vollst\u00e4ndiger HTML-/Textinhalt"
                                        },
                                        "preview_text": {
                                            "type": "string",
                                            "description": "Kurzbeschreibung oder Teasertext"
                                        },
                                        "link_text": {
                                            "type": "string",
                                            "description": "Anzeigetext f\u00fcr weiterf\u00fchrenden Link"
                                        },
                                        "meta_name": {
                                            "type": "string",
                                            "description": "Meta-Titel (SEO)"
                                        },
                                        "meta_description": {
                                            "type": "string",
                                            "description": "Meta-Beschreibung (SEO)"
                                        },
                                        "meta_additive": {
                                            "type": "string",
                                            "description": "Zus\u00e4tzliche Meta-Informationen"
                                        },
                                        "preview_img": {
                                            "type": "object",
                                            "nullable": true,
                                            "description": "Vorschaubildinformationen (falls vorhanden)",
                                            "properties": {
                                                "img": {
                                                    "type": "string",
                                                    "description": "Dateiname des Bildes"
                                                },
                                                "path": {
                                                    "type": "string",
                                                    "description": "Pfad zum Bild relativ zum Webroot"
                                                },
                                                "stream": {
                                                    "type": "string",
                                                    "description": "Base64-kodierter Bildinhalt"
                                                }
                                            }
                                        },
                                        "permalink": {
                                            "type": "string",
                                            "description": "Permalink (sprechende URL)"
                                        },
                                        "multishop_id": {
                                            "type": "integer",
                                            "description": "ID des Multishop-Kontexts"
                                        },
                                        "parent_id": {
                                            "type": "integer",
                                            "description": "ID der \u00fcbergeordneten Seite (falls vorhanden)"
                                        },
                                        "sidebar_order": {
                                            "type": "integer",
                                            "description": "Sortierreihenfolge in der Sidebar"
                                        },
                                        "show_in_sidebar": {
                                            "type": "boolean",
                                            "description": "Anzeige in der Sidebar aktiviert"
                                        },
                                        "show_child_pages": {
                                            "type": "boolean",
                                            "description": "Unterseiten anzeigen"
                                        },
                                        "show_searchbox": {
                                            "type": "boolean",
                                            "description": "Suchbox auf der Seite anzeigen"
                                        },
                                        "search_childs": {
                                            "type": "boolean",
                                            "description": "Suche bezieht Unterseiten ein"
                                        },
                                        "exclude_search": {
                                            "type": "boolean",
                                            "description": "Von der Suche ausschlie\u00dfen"
                                        },
                                        "cache_page": {
                                            "type": "boolean",
                                            "description": "Seite wird gecacht"
                                        },
                                        "h1title": {
                                            "type": "boolean",
                                            "description": "Verwendet H1-Titel aus Spezialdaten"
                                        },
                                        "layout_id": {
                                            "type": "integer",
                                            "description": "Layout-Vorlagen-ID"
                                        },
                                        "datetime_create": {
                                            "type": "string",
                                            "format": "date-time",
                                            "description": "Erstellungsdatum des Inhalts"
                                        },
                                        "datetime_change": {
                                            "type": "string",
                                            "format": "date-time",
                                            "description": "Letzte \u00c4nderung am Inhalt"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 42,
                                    "location": "https://shop.local/api/v2/private/content/42",
                                    "link": "https://shop.local/agb",
                                    "title": "Allgemeine Gesch\u00e4ftsbedingungen (AGB)",
                                    "content": "<h1>Allgemeine Gesch\u00e4ftsbedingungen</h1><p>Diese AGB gelten f\u00fcr alle Bestellungen im Onlineshop der Musterfirma GmbH...</p>",
                                    "preview_text": "Unsere aktuellen AGB f\u00fcr Onlinebestellungen.",
                                    "link_text": "Jetzt AGB lesen",
                                    "meta_name": "AGB - Musterfirma",
                                    "meta_description": "Lesen Sie hier die aktuellen Allgemeinen Gesch\u00e4ftsbedingungen der Musterfirma GmbH.",
                                    "meta_additive": "Online-Shop, Vertragsbedingungen, Kaufrecht",
                                    "preview_img": {
                                        "img": "agb-header.jpg",
                                        "path": "images/content/",
                                        "stream": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAD..."
                                    },
                                    "permalink": "agb",
                                    "multishop_id": 1,
                                    "parent_id": 10,
                                    "sidebar_order": 2,
                                    "show_in_sidebar": true,
                                    "show_child_pages": false,
                                    "show_searchbox": false,
                                    "search_childs": false,
                                    "exclude_search": false,
                                    "cache_page": true,
                                    "h1title": true,
                                    "layout_id": 3,
                                    "datetime_create": "2024-02-15T10:45:00Z",
                                    "datetime_change": "2025-10-28T14:12:00Z"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten einer Contentseite abrufen.",
                "description": "Liefert Daten f\u00fcr eine Contentseite.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetContentDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "ContentPage-ID"
                    },
                    {
                        "name": "lang_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Die Id der Sprache, wenn nicht gesetzt Default:Standardsprache"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "content.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "content.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "content"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten einer Contentseite aktualisieren.",
                "description": "Aktualisiert die Daten einer Contentseite.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutContentDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "ContentPage-ID"
                    },
                    {
                        "name": "lang_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Die Id der Sprache, wenn nicht gesetzt Default:Standardsprache"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "description": "Titel oder \u00dcberschrift der Seite"
                                    },
                                    "content": {
                                        "type": "string",
                                        "description": "HTML- oder Textinhalt der Seite"
                                    },
                                    "preview_text": {
                                        "type": "string",
                                        "description": "Kurzbeschreibung oder Teasertext f\u00fcr Vorschau"
                                    },
                                    "link_text": {
                                        "type": "string",
                                        "description": "Anzeigetext f\u00fcr weiterf\u00fchrenden Link"
                                    },
                                    "meta_name": {
                                        "type": "string",
                                        "description": "Meta-Titel (SEO)"
                                    },
                                    "meta_description": {
                                        "type": "string",
                                        "description": "Meta-Beschreibung (SEO)"
                                    },
                                    "meta_additive": {
                                        "type": "string",
                                        "description": "Zus\u00e4tzliche Meta-Informationen"
                                    },
                                    "preview_img": {
                                        "type": "object",
                                        "nullable": true,
                                        "description": "Optionales Vorschaubild (Base64-kodiert)",
                                        "properties": {
                                            "img": {
                                                "type": "string",
                                                "description": "Dateiname des hochzuladenden Bildes (z. B. agb.jpg)"
                                            },
                                            "stream": {
                                                "type": "string",
                                                "description": "Base64-kodierter Bildinhalt"
                                            }
                                        }
                                    },
                                    "permalink": {
                                        "type": "string",
                                        "description": "Sprechende URL der Seite (Permalink)"
                                    },
                                    "multishop_id": {
                                        "type": "integer",
                                        "description": "Multishop-Kontext, in dem die Seite gespeichert wird"
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "ID der \u00fcbergeordneten Seite (falls Unterseite)"
                                    },
                                    "sidebar_order": {
                                        "type": "integer",
                                        "description": "Sortierreihenfolge der Seite in der Sidebar"
                                    },
                                    "show_in_sidebar": {
                                        "type": "boolean",
                                        "description": "Soll die Seite in der Sidebar angezeigt werden?"
                                    },
                                    "show_child_pages": {
                                        "type": "boolean",
                                        "description": "Unterseiten automatisch mit anzeigen?"
                                    },
                                    "show_searchbox": {
                                        "type": "boolean",
                                        "description": "Suchbox auf dieser Seite anzeigen?"
                                    },
                                    "search_childs": {
                                        "type": "boolean",
                                        "description": "Unterseiten in die Suche einbeziehen?"
                                    },
                                    "exclude_search": {
                                        "type": "boolean",
                                        "description": "Seite von der internen Suche ausschlie\u00dfen?"
                                    },
                                    "cache_page": {
                                        "type": "boolean",
                                        "description": "Seite im Cache speichern?"
                                    },
                                    "h1title": {
                                        "type": "boolean",
                                        "description": "H1-Titel aus Spezialdaten aktivieren?"
                                    },
                                    "layout_id": {
                                        "type": "integer",
                                        "description": "Layout-Vorlagen-ID"
                                    },
                                    "datetime_create": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Erstellungsdatum (optional, meist nur bei Importen)"
                                    },
                                    "datetime_change": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Datum der letzten \u00c4nderung (standardm\u00e4\u00dfig aktuelle Zeit)"
                                    }
                                },
                                "required": [
                                    "title",
                                    "content"
                                ]
                            },
                            "example": {
                                "title": "Allgemeine Gesch\u00e4ftsbedingungen (AGB)",
                                "content": "<h1>Allgemeine Gesch\u00e4ftsbedingungen</h1><p>Diese Bedingungen gelten f\u00fcr alle K\u00e4ufe im Onlineshop der Musterfirma GmbH. Bitte lesen Sie sie sorgf\u00e4ltig durch...</p>",
                                "preview_text": "Unsere aktuellen AGB f\u00fcr alle Bestellungen im Onlineshop.",
                                "link_text": "AGB anzeigen",
                                "meta_name": "AGB - Musterfirma GmbH",
                                "meta_description": "Lesen Sie die aktuellen Allgemeinen Gesch\u00e4ftsbedingungen f\u00fcr Onlinek\u00e4ufe bei der Musterfirma GmbH.",
                                "meta_additive": "Vertragsbedingungen, Kaufrecht, Onlinehandel",
                                "preview_img": {
                                    "img": "agb-header.jpg",
                                    "stream": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAD..."
                                },
                                "permalink": "agb",
                                "multishop_id": 1,
                                "parent_id": 10,
                                "sidebar_order": 2,
                                "show_in_sidebar": true,
                                "show_child_pages": false,
                                "show_searchbox": false,
                                "search_childs": false,
                                "exclude_search": false,
                                "cache_page": true,
                                "h1title": true,
                                "layout_id": 3,
                                "datetime_create": "2024-02-15T10:45:00Z",
                                "datetime_change": "2025-10-28T14:12:00Z"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "content.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "content.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/content/search": {
            "get": {
                "tags": [
                    "content"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "description": "Ein Array mit den gefundenen Seiten mit Detailangaben",
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/paths/~1private~1content~1{id}/get/responses/200/content/application~1json/schema"
                                    }
                                },
                                "example": [
                                    {
                                        "id": 123,
                                        "location": "https://localhost/shop/api/v2/private/content/123",
                                        "link": "https://localhost/agb",
                                        "title": "Allgemeine Gesch\u00e4ftsbedingungen (AGB)"
                                    },
                                    {
                                        "id": 124,
                                        "location": "https://localhost/shop/api/v2/private/content/124",
                                        "link": "https://localhost/versandkosten",
                                        "title": "Versandkosten"
                                    }
                                ]
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Sucht in Contentseiten nach einem String",
                "description": "Sucht in Contentseite nach einem String.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetContentSearchPrivate",
                "parameters": [
                    {
                        "name": "value",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Suchstring"
                    },
                    {
                        "name": "lang_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id der Sprache"
                    },
                    {
                        "name": "multishop_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id des Multishop"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "content.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "content.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/content/{id}/search": {
            "get": {
                "tags": [
                    "content"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "description": "Ein Array mit den gefundenen Seiten mit Detailangaben",
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/paths/~1private~1content~1{id}/get/responses/200/content/application~1json/schema"
                                    }
                                },
                                "example": [
                                    {
                                        "id": 123,
                                        "location": "https://localhost/shop/api/v2/private/content/123",
                                        "link": "https://localhost/agb",
                                        "title": "Allgemeine Gesch\u00e4ftsbedingungen (AGB)"
                                    },
                                    {
                                        "id": 124,
                                        "location": "https://localhost/shop/api/v2/private/content/124",
                                        "link": "https://localhost/versandkosten",
                                        "title": "Versandkosten"
                                    }
                                ]
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Sucht in Contentseiten nach einem String beginnend ab der Seite ID",
                "description": "Sucht in Contentseite nach einem String.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetContentSearchbyidPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "ContentPage-ID die Id der zu durchsuchenden Seite (ggf Unterseiten, je nach Einstellung in der Seite)"
                    },
                    {
                        "name": "value",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Suchstring"
                    },
                    {
                        "name": "lang_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id der Sprache"
                    },
                    {
                        "name": "multishop_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id des Multishop"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "content.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "content.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/content": {
            "post": {
                "tags": [
                    "content"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Contentseite erstellen.",
                "description": "Erstellt eine Contentseite in der Standardsprache des Shops. Weitere Sprachen update ausf\u00fchren.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostContentPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "description": "Titel oder \u00dcberschrift der Seite"
                                    },
                                    "content": {
                                        "type": "string",
                                        "description": "HTML- oder Textinhalt der Seite"
                                    },
                                    "preview_text": {
                                        "type": "string",
                                        "description": "Kurzbeschreibung oder Teasertext f\u00fcr Vorschau"
                                    },
                                    "link_text": {
                                        "type": "string",
                                        "description": "Anzeigetext f\u00fcr weiterf\u00fchrenden Link"
                                    },
                                    "meta_name": {
                                        "type": "string",
                                        "description": "Meta-Titel (SEO)"
                                    },
                                    "meta_description": {
                                        "type": "string",
                                        "description": "Meta-Beschreibung (SEO)"
                                    },
                                    "meta_additive": {
                                        "type": "string",
                                        "description": "Zus\u00e4tzliche Meta-Informationen"
                                    },
                                    "preview_img": {
                                        "type": "object",
                                        "nullable": true,
                                        "description": "Optionales Vorschaubild (Base64-kodiert)",
                                        "properties": {
                                            "img": {
                                                "type": "string",
                                                "description": "Dateiname des hochzuladenden Bildes (z. B. agb.jpg)"
                                            },
                                            "stream": {
                                                "type": "string",
                                                "description": "Base64-kodierter Bildinhalt"
                                            }
                                        }
                                    },
                                    "permalink": {
                                        "type": "string",
                                        "description": "Sprechende URL der Seite (Permalink)"
                                    },
                                    "multishop_id": {
                                        "type": "integer",
                                        "description": "Multishop-Kontext, in dem die Seite gespeichert wird"
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "ID der \u00fcbergeordneten Seite (falls Unterseite)"
                                    },
                                    "sidebar_order": {
                                        "type": "integer",
                                        "description": "Sortierreihenfolge der Seite in der Sidebar"
                                    },
                                    "show_in_sidebar": {
                                        "type": "boolean",
                                        "description": "Soll die Seite in der Sidebar angezeigt werden?"
                                    },
                                    "show_child_pages": {
                                        "type": "boolean",
                                        "description": "Unterseiten automatisch mit anzeigen?"
                                    },
                                    "show_searchbox": {
                                        "type": "boolean",
                                        "description": "Suchbox auf dieser Seite anzeigen?"
                                    },
                                    "search_childs": {
                                        "type": "boolean",
                                        "description": "Unterseiten in die Suche einbeziehen?"
                                    },
                                    "exclude_search": {
                                        "type": "boolean",
                                        "description": "Seite von der internen Suche ausschlie\u00dfen?"
                                    },
                                    "cache_page": {
                                        "type": "boolean",
                                        "description": "Seite im Cache speichern?"
                                    },
                                    "h1title": {
                                        "type": "boolean",
                                        "description": "H1-Titel aus Spezialdaten aktivieren?"
                                    },
                                    "layout_id": {
                                        "type": "integer",
                                        "description": "Layout-Vorlagen-ID"
                                    },
                                    "datetime_create": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Erstellungsdatum (optional, meist nur bei Importen)"
                                    },
                                    "datetime_change": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Datum der letzten \u00c4nderung (standardm\u00e4\u00dfig aktuelle Zeit)"
                                    }
                                },
                                "required": [
                                    "title",
                                    "content"
                                ]
                            },
                            "example": {
                                "title": "Allgemeine Gesch\u00e4ftsbedingungen (AGB)",
                                "content": "<h1>Allgemeine Gesch\u00e4ftsbedingungen</h1><p>Diese Bedingungen gelten f\u00fcr alle K\u00e4ufe im Onlineshop der Musterfirma GmbH. Bitte lesen Sie sie sorgf\u00e4ltig durch...</p>",
                                "preview_text": "Unsere aktuellen AGB f\u00fcr alle Bestellungen im Onlineshop.",
                                "link_text": "AGB anzeigen",
                                "meta_name": "AGB - Musterfirma GmbH",
                                "meta_description": "Lesen Sie die aktuellen Allgemeinen Gesch\u00e4ftsbedingungen f\u00fcr Onlinek\u00e4ufe bei der Musterfirma GmbH.",
                                "meta_additive": "Vertragsbedingungen, Kaufrecht, Onlinehandel",
                                "preview_img": {
                                    "img": "agb-header.jpg",
                                    "stream": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAD..."
                                },
                                "permalink": "agb",
                                "multishop_id": 1,
                                "parent_id": 10,
                                "sidebar_order": 2,
                                "show_in_sidebar": true,
                                "show_child_pages": false,
                                "show_searchbox": false,
                                "search_childs": false,
                                "exclude_search": false,
                                "cache_page": true,
                                "h1title": true,
                                "layout_id": 3,
                                "datetime_create": "2024-02-15T10:45:00Z",
                                "datetime_change": "2025-10-28T14:12:00Z"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "content.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "content.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/customers": {
            "get": {
                "tags": [
                    "customers"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "description": "Kurzform (Standardausgabe)",
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 123
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "example": "https://localhost/shop/api/v2/private/customers/123"
                                                    }
                                                }
                                            }
                                        },
                                        {
                                            "description": "Detailform (wenn ?details=1)",
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/paths/~1private~1customers~1{id}/get/responses/200/content/application~1json/schema"
                                            }
                                        }
                                    ]
                                },
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Standardausgabe \u2013 Basisdaten",
                                        "value": [
                                            {
                                                "id": 101,
                                                "location": "https://shop.local/api/v2/private/customers/101"
                                            },
                                            {
                                                "id": 102,
                                                "location": "https://shop.local/api/v2/private/customers/102"
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Detaillierte Ausgabe",
                                        "value": [
                                            {
                                                "id": 1023,
                                                "location": "https://api.meinshop.de/api/v2/private/customers/1023",
                                                "email": "kontakt@muster-gmbh.de",
                                                "info": "Langj\u00e4hriger Gesch\u00e4ftskunde mit individuellen Preisen.",
                                                "datum": "2023-06-15",
                                                "custgroup_id": 2,
                                                "custgroup_name": "B2B Premiumkunden",
                                                "salutation_id": 1,
                                                "salutation": "Herr",
                                                "firstname": "Max",
                                                "lastname": "Muster",
                                                "company": "Muster GmbH",
                                                "addition": "z. Hd. Einkauf",
                                                "street": "Industriestra\u00dfe",
                                                "streetnr": "12A",
                                                "zip": "70173",
                                                "city": "Stuttgart",
                                                "state": "Baden-W\u00fcrttemberg",
                                                "country_id": 55,
                                                "country": "Deutschland",
                                                "country_iso2": "DE",
                                                "country_iso3": "DEU",
                                                "phone": "0711 123456",
                                                "phone_prefix": "+49",
                                                "fax": "0711 987654",
                                                "fax_prefix": "+49",
                                                "mobil": "0151 22334455",
                                                "mobil_prefix": "+49",
                                                "website": "https://www.muster-gmbh.de",
                                                "birthday": "1985-09-20",
                                                "has_account": true,
                                                "enabled": true,
                                                "discount": 10,
                                                "vat_number": "DE123456789",
                                                "payments": [
                                                    {
                                                        "payment_modul": "invoice",
                                                        "payment_name": "Kauf auf Rechnung"
                                                    },
                                                    {
                                                        "payment_modul": "paypal",
                                                        "payment_name": "PayPal"
                                                    },
                                                    {
                                                        "payment_modul": "creditcard",
                                                        "payment_name": "Kreditkarte"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "mehrere Kunden abrufen.",
                "description": "Liefert Daten f\u00fcr mehrere Kunden.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetCustomersPrivate",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Anzahl der zur\u00fcckgegebenen Datens\u00e4tze (max 100)"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Startposition im Datenbestand"
                    },
                    {
                        "name": "details",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Wenn true, werden die gesamten Kundendaten mit zurueckgegeben, wenn id=null"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "custgroup_id": {
                                    "type": "integer"
                                }
                            }
                        },
                        "description": "Filtert nach z.b. Kundengruppe"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "customers.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "customers.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "post": {
                "tags": [
                    "customers"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Kunde erstellen.",
                "description": "Erstellt einen Kunden.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostCustomersPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Ein spezielle Kundennummer die erteilt werden soll, sonst wird die n\u00e4chstm\u00f6gliche verwendet."
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "E-Mail-Adresse des Kunden"
                                    },
                                    "info": {
                                        "type": "string",
                                        "description": "Freitext oder Zusatzinformationen zum Kunden"
                                    },
                                    "custgroup_id": {
                                        "type": "integer",
                                        "description": "ID der Kundengruppe"
                                    },
                                    "salutation_id": {
                                        "type": "integer",
                                        "description": "ID der Anrede (z. B. 1=Herr, 2=Frau)"
                                    },
                                    "firstname": {
                                        "type": "string",
                                        "description": "Vorname des Kunden"
                                    },
                                    "lastname": {
                                        "type": "string",
                                        "description": "Nachname des Kunden"
                                    },
                                    "company": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Firmenname (optional)"
                                    },
                                    "addition": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Adresszusatz oder interne Bezeichnung"
                                    },
                                    "street": {
                                        "type": "string",
                                        "description": "Stra\u00dfenname"
                                    },
                                    "streetnr": {
                                        "type": "string",
                                        "description": "Hausnummer"
                                    },
                                    "zip": {
                                        "type": "string",
                                        "description": "Postleitzahl"
                                    },
                                    "city": {
                                        "type": "string",
                                        "description": "Ort oder Stadt"
                                    },
                                    "state": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Bundesland oder Region"
                                    },
                                    "country_id": {
                                        "type": "integer",
                                        "description": "L\u00e4nder-ID (alternativ zu ISO-Codes)"
                                    },
                                    "country_iso2": {
                                        "type": "string",
                                        "description": "Zweistelliger ISO-L\u00e4ndercode (z. B. DE)"
                                    },
                                    "country_iso3": {
                                        "type": "string",
                                        "description": "Dreistelliger ISO-L\u00e4ndercode (z. B. DEU)"
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Telefonnummer"
                                    },
                                    "phone_prefix": {
                                        "type": "string",
                                        "description": "Vorwahl der Telefonnummer"
                                    },
                                    "fax": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Faxnummer (optional)"
                                    },
                                    "fax_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Fax-Vorwahl (optional)"
                                    },
                                    "mobil": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Mobilnummer"
                                    },
                                    "mobil_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Mobil-Vorwahl"
                                    },
                                    "website": {
                                        "type": "string",
                                        "format": "uri",
                                        "nullable": true,
                                        "description": "Webseite des Kunden oder Unternehmens"
                                    },
                                    "has_account": {
                                        "type": "boolean",
                                        "description": "Gibt an, ob der Kunde ein Onlinekonto hat"
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "Aktivstatus des Kundenkontos"
                                    },
                                    "discount": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Prozentualer Rabatt des Kunden (z. B. 5.0 f\u00fcr 5%)"
                                    },
                                    "payments": {
                                        "type": "array",
                                        "description": "Liste der aktivierten Zahlungsarten f\u00fcr diesen Kunden",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "payment_modul": {
                                                    "type": "string",
                                                    "description": "Technischer Modulname der Zahlungsart (z. B. 'invoice', 'paypal', 'creditcard')"
                                                }
                                            },
                                            "required": [
                                                "payment_modul"
                                            ]
                                        }
                                    }
                                },
                                "required": [
                                    "email",
                                    "custgroup_id"
                                ]
                            },
                            "example": {
                                "email": "max.muster@muster-gmbh.de",
                                "info": "Rechnungsadresse wurde aktualisiert",
                                "custgroup_id": 2,
                                "salutation_id": 1,
                                "firstname": "Max",
                                "lastname": "Muster",
                                "company": "Muster GmbH",
                                "addition": "z. Hd. Buchhaltung",
                                "street": "Industriestra\u00dfe",
                                "streetnr": "15B",
                                "zip": "70173",
                                "city": "Stuttgart",
                                "state": "Baden-W\u00fcrttemberg",
                                "country_iso2": "DE",
                                "phone": "0711 123456",
                                "phone_prefix": "+49",
                                "mobil": "0151 22334455",
                                "mobil_prefix": "+49",
                                "website": "https://www.muster-gmbh.de",
                                "has_account": true,
                                "enabled": true,
                                "discount": 7.5,
                                "payments": [
                                    {
                                        "payment_modul": "invoice"
                                    },
                                    {
                                        "payment_modul": "paypal"
                                    }
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "customers.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "customers.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/customers/{id}": {
            "get": {
                "tags": [
                    "customers"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige Kunden-ID"
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "Vollst\u00e4ndige API-URL des Kundenobjekts"
                                        },
                                        "email": {
                                            "type": "string",
                                            "format": "email",
                                            "description": "E-Mail-Adresse des Kunden"
                                        },
                                        "info": {
                                            "type": "string",
                                            "description": "Freitext oder Zusatzinformationen zum Kunden"
                                        },
                                        "datum": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "Datum der Registrierung oder Erfassung"
                                        },
                                        "custgroup_id": {
                                            "type": "integer",
                                            "description": "ID der Kundengruppe"
                                        },
                                        "custgroup_name": {
                                            "type": "string",
                                            "description": "Bezeichnung der Kundengruppe"
                                        },
                                        "salutation_id": {
                                            "type": "integer",
                                            "description": "ID der Anrede"
                                        },
                                        "salutation": {
                                            "type": "string",
                                            "description": "Anredebezeichnung (z. B. Herr, Frau)"
                                        },
                                        "firstname": {
                                            "type": "string",
                                            "description": "Vorname des Kunden"
                                        },
                                        "lastname": {
                                            "type": "string",
                                            "description": "Nachname des Kunden"
                                        },
                                        "company": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Firmenname (optional)"
                                        },
                                        "addition": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Adresszusatz oder weitere Angaben"
                                        },
                                        "street": {
                                            "type": "string",
                                            "description": "Stra\u00dfenname"
                                        },
                                        "streetnr": {
                                            "type": "string",
                                            "description": "Hausnummer"
                                        },
                                        "zip": {
                                            "type": "string",
                                            "description": "Postleitzahl"
                                        },
                                        "city": {
                                            "type": "string",
                                            "description": "Ort oder Stadt"
                                        },
                                        "state": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Bundesland oder Region"
                                        },
                                        "country_id": {
                                            "type": "integer",
                                            "description": "ID des Landes"
                                        },
                                        "country": {
                                            "type": "string",
                                            "description": "Name des Landes"
                                        },
                                        "country_iso2": {
                                            "type": "string",
                                            "description": "ISO-2-L\u00e4ndercode (z. B. DE)"
                                        },
                                        "country_iso3": {
                                            "type": "string",
                                            "description": "ISO-3-L\u00e4ndercode (z. B. DEU)"
                                        },
                                        "phone": {
                                            "type": "string",
                                            "description": "Telefonnummer"
                                        },
                                        "phone_prefix": {
                                            "type": "string",
                                            "description": "Vorwahl der Telefonnummer"
                                        },
                                        "fax": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Faxnummer (optional)"
                                        },
                                        "fax_prefix": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Fax-Vorwahl (optional)"
                                        },
                                        "mobil": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Mobilnummer"
                                        },
                                        "mobil_prefix": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Mobil-Vorwahl"
                                        },
                                        "website": {
                                            "type": "string",
                                            "format": "uri",
                                            "nullable": true,
                                            "description": "Webseite des Kunden oder Unternehmens"
                                        },
                                        "birthday": {
                                            "type": "string",
                                            "format": "date",
                                            "nullable": true,
                                            "description": "Geburtsdatum des Kunden"
                                        },
                                        "has_account": {
                                            "type": "boolean",
                                            "description": "Gibt an, ob ein aktives Kundenkonto existiert"
                                        },
                                        "enabled": {
                                            "type": "boolean",
                                            "description": "Ist der Kunde aktiv (kann sich anmelden)?"
                                        },
                                        "discount": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Prozentualer Kundenrabatt"
                                        },
                                        "vat_number": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Umsatzsteuer-Identifikationsnummer"
                                        },
                                        "payments": {
                                            "type": "array",
                                            "description": "Liste der aktiven Zahlungsarten des Kunden",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "payment_modul": {
                                                        "type": "string",
                                                        "description": "Technischer Modulname der Zahlungsart (z. B. paypal, invoice)"
                                                    },
                                                    "payment_name": {
                                                        "type": "string",
                                                        "description": "Anzeigename der Zahlungsart"
                                                    }
                                                }
                                            }
                                        },
                                        "spezial": {
                                            "type": "object",
                                            "description": "Key-Value-Objekt mit dynamischen Schluesseln",
                                            "additionalProperties": {
                                                "type": [
                                                    "string",
                                                    "array",
                                                    "object"
                                                ]
                                            },
                                            "example": {
                                                "key1": "Value1",
                                                "key2": "Value2",
                                                "custom": "Beliebiger Wert"
                                            }
                                        }
                                    }
                                },
                                "example": {
                                    "id": 1023,
                                    "location": "https://api.meinshop.de/api/v2/private/customers/1023",
                                    "email": "kontakt@muster-gmbh.de",
                                    "info": "Langj\u00e4hriger Gesch\u00e4ftskunde mit individuellen Preisen.",
                                    "datum": "2023-06-15",
                                    "custgroup_id": 2,
                                    "custgroup_name": "B2B Premiumkunden",
                                    "salutation_id": 1,
                                    "salutation": "Herr",
                                    "firstname": "Max",
                                    "lastname": "Muster",
                                    "company": "Muster GmbH",
                                    "addition": "z. Hd. Einkauf",
                                    "street": "Industriestra\u00dfe",
                                    "streetnr": "12A",
                                    "zip": "70173",
                                    "city": "Stuttgart",
                                    "state": "Baden-W\u00fcrttemberg",
                                    "country_id": 55,
                                    "country": "Deutschland",
                                    "country_iso2": "DE",
                                    "country_iso3": "DEU",
                                    "phone": "0711 123456",
                                    "phone_prefix": "+49",
                                    "fax": "0711 987654",
                                    "fax_prefix": "+49",
                                    "mobil": "0151 22334455",
                                    "mobil_prefix": "+49",
                                    "website": "https://www.muster-gmbh.de",
                                    "birthday": "1985-09-20",
                                    "has_account": true,
                                    "enabled": true,
                                    "discount": 10,
                                    "vat_number": "DE123456789",
                                    "payments": [
                                        {
                                            "payment_modul": "invoice",
                                            "payment_name": "Kauf auf Rechnung"
                                        },
                                        {
                                            "payment_modul": "paypal",
                                            "payment_name": "PayPal"
                                        },
                                        {
                                            "payment_modul": "creditcard",
                                            "payment_name": "Kreditkarte"
                                        }
                                    ],
                                    "spezial": {
                                        "key1": "Wert1",
                                        "key2": "Wert2",
                                        "custom_note": "Interner Hinweis"
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Kunden abrufen.",
                "description": "Liefert Daten zu einem Kunden.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetCustomersDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Customer-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "customers.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "customers.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "customers"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Kunden aktualisieren.",
                "description": "Aktualisiert die Daten eines Kunden.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutCustomersDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Customer-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "E-Mail-Adresse des Kunden"
                                    },
                                    "info": {
                                        "type": "string",
                                        "description": "Freitext oder Zusatzinformationen zum Kunden"
                                    },
                                    "custgroup_id": {
                                        "type": "integer",
                                        "description": "ID der Kundengruppe"
                                    },
                                    "salutation_id": {
                                        "type": "integer",
                                        "description": "ID der Anrede (z. B. 1=Herr, 2=Frau)"
                                    },
                                    "firstname": {
                                        "type": "string",
                                        "description": "Vorname des Kunden"
                                    },
                                    "lastname": {
                                        "type": "string",
                                        "description": "Nachname des Kunden"
                                    },
                                    "company": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Firmenname (optional)"
                                    },
                                    "addition": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Adresszusatz oder interne Bezeichnung"
                                    },
                                    "street": {
                                        "type": "string",
                                        "description": "Stra\u00dfenname"
                                    },
                                    "streetnr": {
                                        "type": "string",
                                        "description": "Hausnummer"
                                    },
                                    "zip": {
                                        "type": "string",
                                        "description": "Postleitzahl"
                                    },
                                    "city": {
                                        "type": "string",
                                        "description": "Ort oder Stadt"
                                    },
                                    "state": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Bundesland oder Region"
                                    },
                                    "country_id": {
                                        "type": "integer",
                                        "description": "L\u00e4nder-ID (alternativ zu ISO-Codes)"
                                    },
                                    "country_iso2": {
                                        "type": "string",
                                        "description": "Zweistelliger ISO-L\u00e4ndercode (z. B. DE)"
                                    },
                                    "country_iso3": {
                                        "type": "string",
                                        "description": "Dreistelliger ISO-L\u00e4ndercode (z. B. DEU)"
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Telefonnummer"
                                    },
                                    "phone_prefix": {
                                        "type": "string",
                                        "description": "Vorwahl der Telefonnummer"
                                    },
                                    "fax": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Faxnummer (optional)"
                                    },
                                    "fax_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Fax-Vorwahl (optional)"
                                    },
                                    "mobil": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Mobilnummer"
                                    },
                                    "mobil_prefix": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Mobil-Vorwahl"
                                    },
                                    "website": {
                                        "type": "string",
                                        "format": "uri",
                                        "nullable": true,
                                        "description": "Webseite des Kunden oder Unternehmens"
                                    },
                                    "has_account": {
                                        "type": "boolean",
                                        "description": "Gibt an, ob der Kunde ein Onlinekonto hat"
                                    },
                                    "enabled": {
                                        "type": "boolean",
                                        "description": "Aktivstatus des Kundenkontos"
                                    },
                                    "discount": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Prozentualer Rabatt des Kunden (z. B. 5.0 f\u00fcr 5%)"
                                    },
                                    "payments": {
                                        "type": "array",
                                        "description": "Liste der aktivierten Zahlungsarten f\u00fcr diesen Kunden",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "payment_modul": {
                                                    "type": "string",
                                                    "description": "Technischer Modulname der Zahlungsart (z. B. 'invoice', 'paypal', 'creditcard')"
                                                }
                                            },
                                            "required": [
                                                "payment_modul"
                                            ]
                                        }
                                    },
                                    "special": {
                                        "type": "object",
                                        "description": "Key-Value-Objekt mit Zusatzdaten oder Metainformationen.",
                                        "additionalProperties": {
                                            "type": [
                                                "string",
                                                "number",
                                                "boolean",
                                                "object",
                                                "array"
                                            ]
                                        },
                                        "example": {
                                            "ref": "API-IMPORT",
                                            "priority": "high"
                                        }
                                    }
                                }
                            },
                            "example": {
                                "email": "max.muster@muster-gmbh.de",
                                "info": "Rechnungsadresse wurde aktualisiert",
                                "custgroup_id": 2,
                                "salutation_id": 1,
                                "firstname": "Max",
                                "lastname": "Muster",
                                "company": "Muster GmbH",
                                "addition": "z. Hd. Buchhaltung",
                                "street": "Industriestra\u00dfe",
                                "streetnr": "15B",
                                "zip": "70173",
                                "city": "Stuttgart",
                                "state": "Baden-W\u00fcrttemberg",
                                "country_iso2": "DE",
                                "phone": "0711 123456",
                                "phone_prefix": "+49",
                                "mobil": "0151 22334455",
                                "mobil_prefix": "+49",
                                "website": "https://www.muster-gmbh.de",
                                "has_account": true,
                                "enabled": true,
                                "discount": 7.5,
                                "payments": [
                                    {
                                        "payment_modul": "invoice"
                                    },
                                    {
                                        "payment_modul": "paypal"
                                    }
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "customers.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "customers.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "delete": {
                "tags": [
                    "customers"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Kunden l\u00f6schen.",
                "description": "L\u00f6scht die Daten eines Kunden.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "DeleteCustomersDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Customer-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "customers.delete"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "customers.delete"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/customers/{id}/updatedefaultpayments": {
            "post": {
                "tags": [
                    "customers"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "F\u00fcgt dem Kunden die Standardzahlarten der Kundengruppe hinzu.",
                "description": "F\u00fcgt dem Kunden die Standardzahlarten der Kundengruppe hinzu.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostCustomersUpdatedefaultpaymentsPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Customer-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "customers.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "customers.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/newsletterrecipients": {
            "get": {
                "tags": [
                    "newsletterrecipients"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "description": "Kurzform (Standardausgabe)",
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 123
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "example": "https://localhost/shop/api/v2/private/newsletterrecipients/123"
                                                    }
                                                }
                                            }
                                        },
                                        {
                                            "description": "Detailform (wenn ?details=1)",
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/paths/~1private~1newsletterrecipients~1{id}/get/responses/200/content/application~1json/schema"
                                            }
                                        }
                                    ]
                                },
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Standardausgabe \u2013 Basisdaten",
                                        "value": [
                                            {
                                                "id": 101,
                                                "location": "https://shop.local/api/v2/private/newsletterrecipients/101"
                                            },
                                            {
                                                "id": 102,
                                                "location": "https://shop.local/api/v2/private/newsletterrecipients/102"
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Detaillierte Ausgabe",
                                        "value": [
                                            {
                                                "id": 1023,
                                                "location": "https://api.meinshop.de/api/v2/private/newsletterrecipients/1023",
                                                "email": "kontakt@muster-gmbh.de",
                                                "firstname": "Max",
                                                "lastname": "Muster",
                                                "datetime": "2023-06-15 12:01:02",
                                                "datetime_doptin": "2023-06-15 12:01:02",
                                                "aktiv": 1
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "mehrere Newsletterempf\u00e4nger abrufen.",
                "description": "Liefert Daten f\u00fcr mehrerer Newsletterempf\u00e4nger.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetNewsletterrecipientsPrivate",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Anzahl der zur\u00fcckgegebenen Datens\u00e4tze (max 100)"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Startposition im Datenbestand"
                    },
                    {
                        "name": "details",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Wenn true, werden die gesamten Daten mit zurueckgegeben, wenn id=null"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "aktiv": {
                                    "type": "integer"
                                }
                            }
                        },
                        "description": "Filtert nach z.b. aktiv ja/nein"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "newsletterrecipients.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "newsletterrecipients.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "post": {
                "tags": [
                    "newsletterrecipients"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Newsletterempf\u00e4nger erstellen.",
                "description": "Erstellt einen Newsletterempf\u00e4nger.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostNewsletterrecipientsPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "E-Mail-Adresse"
                                    },
                                    "firstname": {
                                        "type": "string",
                                        "description": "Vorname"
                                    },
                                    "lastname": {
                                        "type": "string",
                                        "description": "Nachname"
                                    },
                                    "datetime": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Zeitpunkt der Registrierung oder Erfassung"
                                    },
                                    "datetime_doptin": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Zeitpunkt der Zustimmung (Double OptIn)"
                                    },
                                    "aktiv": {
                                        "type": "integer",
                                        "description": "Status 0=inaktiv, 1=aktiv, 2=abgemeldet"
                                    }
                                },
                                "required": [
                                    "email"
                                ]
                            },
                            "example": {
                                "email": "kontakt@muster-gmbh.de",
                                "firstname": "Max",
                                "lastname": "Muster",
                                "multishop_id": 1,
                                "datetime": "2023-06-15 12:01:02",
                                "datetime_doptin": "2023-06-15 12:01:02",
                                "aktiv": 1
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "newsletterrecipients.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "newsletterrecipients.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/newsletterrecipients/{id}": {
            "get": {
                "tags": [
                    "newsletterrecipients"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige Kunden-ID"
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "Vollst\u00e4ndige API-URL des Objektes"
                                        },
                                        "email": {
                                            "type": "string",
                                            "format": "email",
                                            "description": "E-Mail-Adresse"
                                        },
                                        "firstname": {
                                            "type": "string",
                                            "description": "Vorname"
                                        },
                                        "lastname": {
                                            "type": "string",
                                            "description": "Nachname"
                                        },
                                        "datetime": {
                                            "type": "string",
                                            "format": "date-time",
                                            "description": "Zeitpunkt der Registrierung oder Erfassung"
                                        },
                                        "datetime_doptin": {
                                            "type": "string",
                                            "format": "date-time",
                                            "description": "Zeitpunkt der Zustimmung (Double OptIn)"
                                        },
                                        "aktiv": {
                                            "type": "integer",
                                            "description": "Status 0=inaktiv, 1=aktiv, 2=abgemeldet"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 1023,
                                    "location": "https://api.meinshop.de/api/v2/private/newsletterrecipients/1023",
                                    "email": "kontakt@muster-gmbh.de",
                                    "firstname": "Max",
                                    "lastname": "Muster",
                                    "datetime": "2023-06-15 12:01:02",
                                    "datetime_doptin": "2023-06-15 12:01:02",
                                    "aktiv": 1
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Newsletterempf\u00e4nger abrufen.",
                "description": "Liefert Daten zu einem Newsletterempf\u00e4nger.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetNewsletterrecipientsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "NewsletterRecipient-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "newsletterrecipients.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "newsletterrecipients.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "newsletterrecipients"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Newsletterempf\u00e4nger aktualisieren.",
                "description": "Aktualisiert die Daten eines Newsletterempf\u00e4nger.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutNewsletterrecipientsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "NewsletterRecipient-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "E-Mail-Adresse"
                                    },
                                    "firstname": {
                                        "type": "string",
                                        "description": "Vorname"
                                    },
                                    "lastname": {
                                        "type": "string",
                                        "description": "Nachname"
                                    },
                                    "datetime": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Zeitpunkt der Registrierung oder Erfassung"
                                    },
                                    "datetime_doptin": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Zeitpunkt der Zustimmung (Double OptIn)"
                                    },
                                    "aktiv": {
                                        "type": "integer",
                                        "description": "Status 0=inaktiv, 1=aktiv, 2=abgemeldet"
                                    }
                                }
                            },
                            "example": {
                                "email": "kontakt@muster-gmbh.de",
                                "firstname": "Max",
                                "lastname": "Muster",
                                "datetime": "2023-06-15 12:01:02",
                                "datetime_doptin": "2023-06-15 12:01:02",
                                "aktiv": 1
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "newsletterrecipients.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "newsletterrecipients.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "delete": {
                "tags": [
                    "newsletterrecipients"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Newsletterempf\u00e4ngers l\u00f6schen.",
                "description": "L\u00f6scht die Daten eines Newsletterempf\u00e4ngers.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "DeleteNewsletterrecipientsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "NewsletterRecipient-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "newsletterrecipients.delete"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "newsletterrecipients.delete"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/newsletterrecipients/search": {
            "get": {
                "tags": [
                    "newsletterrecipients"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/paths/~1private~1newsletterrecipients~1{id}/get/responses/200/content/application~1json/schema"
                                    }
                                },
                                "example": [
                                    {
                                        "id": 1023,
                                        "location": "https://api.meinshop.de/api/v2/private/NewsletterRecipients/1023",
                                        "email": "kontakt@muster-gmbh.de",
                                        "firstname": "Max",
                                        "lastname": "Muster",
                                        "datetime": "2023-06-15 12:01:02",
                                        "datetime_doptin": "2023-06-15 12:01:02",
                                        "aktiv": 1
                                    }
                                ]
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Sucht in Newsletterempf\u00e4ngern nach einem String",
                "description": "Sucht in Newsletterempfaengern nach einem String.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetNewsletterrecipientsSearchPrivate",
                "parameters": [
                    {
                        "name": "value",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Suchstring"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id des Status, 0=inaktiv, 1=aktiv, 2=abgemeldet"
                    },
                    {
                        "name": "multishop_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id des Multishop"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "newsletterrecipients.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "newsletterrecipients.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders": {
            "get": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "description": "Kurzform (Standardausgabe)",
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 123
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "example": "https://localhost/shop/api/v2/private/orders/123"
                                                    }
                                                }
                                            }
                                        },
                                        {
                                            "description": "Detailform (wenn ?details=1)",
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/paths/~1private~1orders~1{id}/get/responses/200/content/application~1json/schema"
                                            }
                                        }
                                    ]
                                },
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Standardausgabe (ohne ?details=1)",
                                        "value": [
                                            {
                                                "id": 123,
                                                "location": "https://localhost/shop/api/v2/private/orders/123"
                                            },
                                            {
                                                "id": 124,
                                                "location": "https://localhost/shop/api/v2/private/orders/124"
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Mit ?details=1 \u2013 vollst\u00e4ndige Bestelldaten",
                                        "value": [
                                            {
                                                "id": 123,
                                                "order_number": "Order-123",
                                                "customer_email": "herr.muster@example.com",
                                                "details": [
                                                    {
                                                        "detail_id": 4711,
                                                        "name": "Herren T-Shirt",
                                                        "quantity": 2,
                                                        "amount": 19.99
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "mehrere Bestellungen abrufen.",
                "description": "Liefert interne Bestelldaten f\u00fcr mehrere Bestellungen.\n\n\u26a0\ufe0f **Rate Limit:** Max. 1000 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetOrdersPrivate",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Anzahl der zur\u00fcckgegebenen Datens\u00e4tze (max 100)"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Startposition im Datenbestand"
                    },
                    {
                        "name": "details",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Wenn true, werden die gesamten Bestelldaten mit zurueckgegeben, wenn id=null"
                    },
                    {
                        "name": "filter_id",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Id des Datenfilters der ggf im Backend bereits existiert."
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "order_art": {
                                    "type": "integer"
                                },
                                "cust_id": {
                                    "type": "integer"
                                },
                                "orderstatus_id": {
                                    "type": "integer"
                                },
                                "start_date": {
                                    "type": "string"
                                },
                                "end_date": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Filtert nach z.b. Bestellstatus"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.read"
                ],
                "x-ratelimit": {
                    "limit": 1000,
                    "period": "hour",
                    "description": "Maximal 1000 Requests pro hour erlaubt."
                }
            },
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Bestellung erstellen.",
                "description": "Erstellt eine Bestellung\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "Datenobjekt zum Anlegen oder Aktualisieren einer Bestellung.",
                                "required": [
                                    "customer_id",
                                    "date",
                                    "order_type_id"
                                ],
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "ID des Kunden, der die Bestellung aufgibt.",
                                        "example": 1234
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Bestelldatum im Format YYYY-MM-DD.",
                                        "example": "2025-11-08"
                                    },
                                    "order_type_id": {
                                        "type": "integer",
                                        "description": "Typ der Bestellung (z. B. 0 = Shopbestellung, 1 = Admin, 2 = Dropshipper).",
                                        "example": 0
                                    },
                                    "dropshipper_id": {
                                        "type": "integer",
                                        "description": "Erforderlich, wenn order_type_id ein Dropshipper-Typ ist.",
                                        "example": 55
                                    },
                                    "price_exclude_tax": {
                                        "type": "boolean",
                                        "description": "Gibt an, ob Preise netto (zzgl. MwSt.) angegeben sind.",
                                        "example": false
                                    },
                                    "multishop_id": {
                                        "type": "integer",
                                        "description": "ID des Multishops (Standard = aktueller Shop).",
                                        "example": 1
                                    },
                                    "orderstatus_id": {
                                        "type": "integer",
                                        "description": "Interner Bestellstatus beim Anlegen oder Aktualisieren.",
                                        "example": 0
                                    },
                                    "webhook_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Webhook-URL (bei Dropshipper-Bestellungen).",
                                        "example": "https://dropshipper.de/hook"
                                    },
                                    "webhook_password": {
                                        "type": "string",
                                        "description": "Passwort zum Webhook (optional).",
                                        "example": "secret123"
                                    },
                                    "order_number_extern": {
                                        "type": "string",
                                        "description": "Externe Bestellnummer (muss eindeutig sein).",
                                        "example": "EXT-2025-001"
                                    },
                                    "statusmails_enable": {
                                        "type": "boolean",
                                        "description": "Aktiviert/Deaktiviert automatische Statusmails.",
                                        "example": true
                                    },
                                    "channel_number": {
                                        "type": "string",
                                        "description": "Externe Kanalnummer (z. B. Marktplatz-ID).",
                                        "example": "AMZ-DE-12345"
                                    },
                                    "notice_customer": {
                                        "type": "string",
                                        "description": "Bemerkung des Kunden.",
                                        "example": "Bitte an Packstation liefern."
                                    },
                                    "notice_order": {
                                        "type": "string",
                                        "description": "Interne Bemerkung zur Bestellung.",
                                        "example": "Sonderrabatt gew\u00e4hrt."
                                    },
                                    "special": {
                                        "type": "object",
                                        "description": "Key-Value-Objekt mit speziellen Zusatzwerten.",
                                        "additionalProperties": {
                                            "type": [
                                                "string",
                                                "number",
                                                "boolean",
                                                "object",
                                                "array"
                                            ]
                                        },
                                        "example": {
                                            "key1": "Value1",
                                            "key2": "Value2"
                                        }
                                    },
                                    "delivery_salutation": {
                                        "type": "string",
                                        "description": "Anrede der Lieferadresse.",
                                        "example": "Herr"
                                    },
                                    "delivery_firstname": {
                                        "type": "string",
                                        "description": "Vorname der Lieferadresse.",
                                        "example": "Max"
                                    },
                                    "delivery_lastname": {
                                        "type": "string",
                                        "description": "Nachname der Lieferadresse.",
                                        "example": "Muster"
                                    },
                                    "delivery_company": {
                                        "type": "string",
                                        "description": "Firma in der Lieferadresse.",
                                        "example": "Muster GmbH"
                                    },
                                    "delivery_addition": {
                                        "type": "string",
                                        "description": "Adresszusatz in der Lieferadresse.",
                                        "example": "z. Hd. Versand"
                                    },
                                    "delivery_street": {
                                        "type": "string",
                                        "description": "Stra\u00dfe der Lieferadresse.",
                                        "example": "Hauptstra\u00dfe"
                                    },
                                    "delivery_streetnr": {
                                        "type": "string",
                                        "description": "Hausnummer der Lieferadresse.",
                                        "example": "10"
                                    },
                                    "delivery_zip": {
                                        "type": "string",
                                        "description": "PLZ der Lieferadresse.",
                                        "example": "12345"
                                    },
                                    "delivery_city": {
                                        "type": "string",
                                        "description": "Ort der Lieferadresse.",
                                        "example": "Musterstadt"
                                    },
                                    "delivery_state": {
                                        "type": "string",
                                        "description": "Bundesland der Lieferadresse.",
                                        "example": "NRW"
                                    },
                                    "delivery_country_iso2": {
                                        "type": "string",
                                        "description": "ISO2-Code des Lieferlandes.",
                                        "example": "DE"
                                    },
                                    "delivery_country_iso3": {
                                        "type": "string",
                                        "description": "ISO3-Code des Lieferlandes.",
                                        "example": "DEU"
                                    },
                                    "delivery_email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "E-Mail der Lieferadresse.",
                                        "example": "kunde@example.com"
                                    },
                                    "bill_salutation": {
                                        "type": "string",
                                        "description": "Anrede der Rechnungsadresse.",
                                        "example": "Herr"
                                    },
                                    "bill_firstname": {
                                        "type": "string",
                                        "description": "Vorname der Rechnungsadresse.",
                                        "example": "Max"
                                    },
                                    "bill_lastname": {
                                        "type": "string",
                                        "description": "Nachname der Rechnungsadresse.",
                                        "example": "Muster"
                                    },
                                    "bill_company": {
                                        "type": "string",
                                        "description": "Firma in der Rechnungsadresse.",
                                        "example": "Muster GmbH"
                                    },
                                    "bill_addition": {
                                        "type": "string",
                                        "description": "Adresszusatz der Rechnungsadresse.",
                                        "example": "Buchhaltung"
                                    },
                                    "bill_street": {
                                        "type": "string",
                                        "description": "Stra\u00dfe der Rechnungsadresse.",
                                        "example": "Rechnungsweg"
                                    },
                                    "bill_streetnr": {
                                        "type": "string",
                                        "description": "Hausnummer der Rechnungsadresse.",
                                        "example": "5"
                                    },
                                    "bill_zip": {
                                        "type": "string",
                                        "description": "PLZ der Rechnungsadresse.",
                                        "example": "54321"
                                    },
                                    "bill_city": {
                                        "type": "string",
                                        "description": "Ort der Rechnungsadresse.",
                                        "example": "Rechnungsstadt"
                                    },
                                    "bill_state": {
                                        "type": "string",
                                        "description": "Bundesland der Rechnungsadresse.",
                                        "example": "BW"
                                    },
                                    "bill_country_iso2": {
                                        "type": "string",
                                        "description": "ISO2-Code des Rechnungslandes.",
                                        "example": "DE"
                                    },
                                    "bill_country_iso3": {
                                        "type": "string",
                                        "description": "ISO3-Code des Rechnungslandes.",
                                        "example": "DEU"
                                    },
                                    "bill_email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "E-Mailadresse f\u00fcr Rechnungen.",
                                        "example": "rechnung@example.com"
                                    },
                                    "shipping_name": {
                                        "type": "string",
                                        "description": "Name der Versandart.",
                                        "example": "DHL Standard"
                                    },
                                    "shipping_price": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Versandkostenbetrag.",
                                        "example": 4.95
                                    },
                                    "shipping_tax_rate": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Steuersatz der Versandkosten.",
                                        "example": 19
                                    },
                                    "billing_name": {
                                        "type": "string",
                                        "description": "Name der Zahlart.",
                                        "example": "Vorkasse"
                                    },
                                    "billing_price": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Zahlartkostenbetrag.",
                                        "example": 2.5
                                    },
                                    "billing_tax_rate": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Steuersatz der Zahlartkosten.",
                                        "example": 19
                                    },
                                    "billing_modul": {
                                        "type": "string",
                                        "description": "Bezeichnung des Zahlungsmoduls.",
                                        "example": "prepayment"
                                    },
                                    "billing_notice": {
                                        "type": "string",
                                        "description": "Hinweistext zur Zahlart.",
                                        "example": "Bitte \u00fcberweisen Sie den Betrag auf IBAN DE00 0000 0000 0000."
                                    },
                                    "is_offer": {
                                        "type": "boolean",
                                        "description": "Kennzeichnet die Bestellung als Angebot.",
                                        "example": false
                                    },
                                    "voucher": {
                                        "type": "array",
                                        "description": "Liste der Gutscheine, die mit der Bestellung verkn\u00fcpft sind.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "voucher_number": {
                                                    "type": "string",
                                                    "description": "Gutscheincode",
                                                    "example": "GUTSCHEIN10"
                                                },
                                                "voucher_type": {
                                                    "type": "integer",
                                                    "description": "0 = Rabattgutschein, 1 = Wertgutschein",
                                                    "example": 0
                                                },
                                                "voucher_amount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Gutscheinbetrag (Fixwert)."
                                                },
                                                "voucher_discount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Rabatt in Prozent."
                                                }
                                            }
                                        }
                                    },
                                    "details": {
                                        "type": "array",
                                        "description": "Liste der Bestellpositionen.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "detail_id": {
                                                    "type": "integer",
                                                    "description": "Interne ID des Bestelldetails (nur bei Update)."
                                                },
                                                "delete_detail": {
                                                    "type": "integer",
                                                    "description": "Wenn 1, wird die Position gel\u00f6scht."
                                                },
                                                "artikel_nr": {
                                                    "type": "string",
                                                    "description": "Artikelnummer, falls neue Position erstellt wird.",
                                                    "example": "P-10023"
                                                },
                                                "quantity": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Menge der Position.",
                                                    "example": 2
                                                },
                                                "amount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Einzelpreis der Position.",
                                                    "example": 19.99
                                                },
                                                "extern_item_number": {
                                                    "type": "string",
                                                    "description": "Externe Artikelnummer.",
                                                    "example": "AMZ-ART-001"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Bezeichnung der Position.",
                                                    "example": "Herren T-Shirt"
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "example": {
                                "customer_id": 1001,
                                "date": "2025-11-08",
                                "order_type_id": 0,
                                "multishop_id": 1,
                                "price_exclude_tax": false,
                                "orderstatus_id": 1,
                                "order_number_extern": "EXT-ORD-1001",
                                "statusmails_enable": true,
                                "delivery_country_iso2": "DE",
                                "bill_country_iso2": "DE",
                                "webhook_url": "https://dropship.partner.de/hook",
                                "webhook_password": "secret123",
                                "special": {
                                    "source": "API Import",
                                    "channel": "Shop"
                                },
                                "delivery_salutation": "Herr",
                                "delivery_firstname": "Max",
                                "delivery_lastname": "Muster",
                                "delivery_company": "Muster GmbH",
                                "delivery_street": "Hauptstra\u00dfe",
                                "delivery_streetnr": "10",
                                "delivery_zip": "12345",
                                "delivery_city": "Musterstadt",
                                "delivery_email": "kunde@example.com",
                                "bill_salutation": "Herr",
                                "bill_firstname": "Max",
                                "bill_lastname": "Muster",
                                "bill_company": "Muster GmbH",
                                "bill_street": "Rechnungsweg",
                                "bill_streetnr": "5",
                                "bill_zip": "54321",
                                "bill_city": "Rechnungsstadt",
                                "bill_email": "rechnung@example.com",
                                "shipping_name": "DHL Standard",
                                "shipping_price": 4.95,
                                "shipping_tax_rate": 19,
                                "billing_name": "Vorkasse",
                                "billing_price": 2.5,
                                "billing_tax_rate": 19,
                                "billing_notice": "Bitte \u00fcberweisen Sie den Betrag vor dem Versand.",
                                "details": [
                                    {
                                        "artikel_nr": "TSHIRT-001",
                                        "quantity": 2,
                                        "amount": 19.99,
                                        "name": "Herren T-Shirt Classic"
                                    }
                                ],
                                "voucher": [
                                    {
                                        "voucher_number": "NEUKUNDE10",
                                        "voucher_type": 0,
                                        "voucher_discount": 10
                                    }
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}": {
            "get": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": 1
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "order_number": {
                                            "type": "string",
                                            "description": "Bestellnummer",
                                            "example": "Order-123"
                                        },
                                        "order_number_extern": {
                                            "type": "string",
                                            "description": "Externe-Bestellnummer",
                                            "example": "OrderNrExtern-123"
                                        },
                                        "channel_number": {
                                            "type": "string",
                                            "description": "Kanalnummer"
                                        },
                                        "notice_customer": {
                                            "type": "string",
                                            "description": "Kundenbemerkung zu der Bestellung"
                                        },
                                        "notice_order": {
                                            "type": "string",
                                            "description": "Interne Bemerkung zu der Bestellung"
                                        },
                                        "date": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "Bestelldatum Format YYYY-MM-DD",
                                            "example": "2025-11-01"
                                        },
                                        "customer_id": {
                                            "type": "integer",
                                            "description": "Kundennummer",
                                            "example": 1234
                                        },
                                        "customer_email": {
                                            "type": "string",
                                            "format": "email",
                                            "description": "E-Mailadresse des Kundenaccounts"
                                        },
                                        "customer_location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Customer-Object"
                                        },
                                        "custgroup_id": {
                                            "type": "integer",
                                            "description": "Id der Kundengruppe"
                                        },
                                        "custgroup_name": {
                                            "type": "string",
                                            "description": "Bezeichnung der Kundengruppe",
                                            "example": "Endkunde"
                                        },
                                        "orderstatus_id": {
                                            "type": "integer",
                                            "description": "Id des Bestellstatus"
                                        },
                                        "orderstatus_name": {
                                            "type": "string",
                                            "description": "Bezeichnung des Bestellstatus",
                                            "example": "versendet"
                                        },
                                        "orderstatus_intern_id": {
                                            "type": "integer",
                                            "description": "Id des internen Bestellstatus -1 undefined, 0 offen, 1 versendet, 2 storniert,3 teilversendet"
                                        },
                                        "orderstatus_intern_name": {
                                            "type": "string",
                                            "description": "Bezeichnung des internen Bestellstatus",
                                            "example": "undefined | offen | versendet | storniert | teil-versendet"
                                        },
                                        "delivery_salutation": {
                                            "type": "string",
                                            "description": "Versandadresse: Anrede"
                                        },
                                        "delivery_firstname": {
                                            "type": "string",
                                            "description": "Versandadresse: Vorname"
                                        },
                                        "delivery_lastname": {
                                            "type": "string",
                                            "description": "Versandadresse: Nachname"
                                        },
                                        "delivery_company": {
                                            "type": "string",
                                            "description": "Versandadresse: Firma"
                                        },
                                        "delivery_addition": {
                                            "type": "string",
                                            "description": "Versandadresse: Adresszusatz"
                                        },
                                        "delivery_street": {
                                            "type": "string",
                                            "description": "Versandadresse: Strasse"
                                        },
                                        "delivery_streetnr": {
                                            "type": "string",
                                            "description": "Versandadresse: Hausnummer"
                                        },
                                        "delivery_zip": {
                                            "type": "string",
                                            "description": "Versandadresse: PLZ"
                                        },
                                        "delivery_city": {
                                            "type": "string",
                                            "description": "Versandadresse: Ort"
                                        },
                                        "delivery_state": {
                                            "type": "string",
                                            "description": "Versandadresse: Bundesland"
                                        },
                                        "delivery_country": {
                                            "type": "string",
                                            "description": "Versandadresse: Land"
                                        },
                                        "delivery_country_iso2": {
                                            "type": "string",
                                            "description": "Versandadresse: ISO2 Code Land"
                                        },
                                        "delivery_country_iso3": {
                                            "type": "string",
                                            "description": "Versandadresse: ISO3 Code Land"
                                        },
                                        "bill_salutation": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Anrede"
                                        },
                                        "bill_firstname": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Vorname"
                                        },
                                        "bill_lastname": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Nachname"
                                        },
                                        "bill_company": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Firma"
                                        },
                                        "bill_addition": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Adresszusatz"
                                        },
                                        "bill_street": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Strasse"
                                        },
                                        "bill_streetnr": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Hausnummer"
                                        },
                                        "bill_zip": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: PLZ"
                                        },
                                        "bill_city": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Ort"
                                        },
                                        "bill_state": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Bundesland"
                                        },
                                        "bill_country": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: Land"
                                        },
                                        "bill_country_iso2": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: ISO2 Code Land"
                                        },
                                        "bill_country_iso3": {
                                            "type": "string",
                                            "description": "Rechnungsadresse: ISO3 Code Land"
                                        },
                                        "shipping_name": {
                                            "type": "string",
                                            "description": "Bezeichnung der Versandart",
                                            "example": "DHL-Versand"
                                        },
                                        "shipping_price": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Versandkosten",
                                            "example": 4.95
                                        },
                                        "shipping_tax_rate": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Steuersatz der Versandkosten",
                                            "example": 19
                                        },
                                        "shipping_weight": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Versandgewicht der Bestellung",
                                            "example": 1.23
                                        },
                                        "billing_name": {
                                            "type": "string",
                                            "description": "Bezeichnung der Zahlart",
                                            "example": "Vorkasse"
                                        },
                                        "billing_price": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Zahlartkosten",
                                            "example": 2.95
                                        },
                                        "billing_tax_rate": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Steuersatz der Zahlartkosten",
                                            "example": 19
                                        },
                                        "billing_modul": {
                                            "type": "string",
                                            "description": "Bezeichnung der zugehoerigen Zahlungsapp",
                                            "example": "Vorkasse"
                                        },
                                        "billing_notice": {
                                            "type": "string",
                                            "description": "Hinweis zur Zahlart",
                                            "example": "Ueberweisen Sie auf das Konto IBAN1234"
                                        },
                                        "price_exclude_tax": {
                                            "type": "boolean",
                                            "description": "Preise der Bestellung sind zzgl. MwSt",
                                            "example": false
                                        },
                                        "vat_number": {
                                            "type": "string",
                                            "description": "UID Nummer des Kunden, sofern aktiv bei der Bestellung",
                                            "example": "DE12345678"
                                        },
                                        "currency_iso": {
                                            "type": "string",
                                            "description": "ISO Code der Waehrung",
                                            "example": "EUR"
                                        },
                                        "order_type_id": {
                                            "type": "integer",
                                            "description": "Id des Bestelltyp, Bsp 0 Shopbestellung, 1 Bestellung durch Admin "
                                        },
                                        "order_type_name": {
                                            "type": "string",
                                            "description": "Bezeichnung des Shopbestellung | Bestellung durch Admin",
                                            "example": "Shopbestellung"
                                        },
                                        "multishop_id": {
                                            "type": "integer",
                                            "description": "Id des Multishops oder Ladenverkaufsstelle"
                                        },
                                        "is_offer": {
                                            "type": "boolean",
                                            "description": "Bestellung ist ein Angebot",
                                            "example": false
                                        },
                                        "webhook_url": {
                                            "type": "string",
                                            "description": "URL die beim API OrdersCreate bei Bestelltyp Dropshipper uebergeben wurde."
                                        },
                                        "total_amount_include_tax": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Gesamtsumme inkl Steuern",
                                            "example": 119
                                        },
                                        "total_amount_exclude_tax": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Gesamtsumme zzgl Steuern",
                                            "example": 100
                                        },
                                        "total_details_amount_include_tax": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Summe der Bestellpositionen inkl Steuern",
                                            "example": 119
                                        },
                                        "total_detail_amount_exclude_tax": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Summe der Bestellpositionen zzgl Steuern",
                                            "example": 100
                                        },
                                        "spezial": {
                                            "type": "object",
                                            "description": "Key-Value-Objekt mit dynamischen Schluesseln",
                                            "additionalProperties": {
                                                "type": [
                                                    "string",
                                                    "array",
                                                    "object"
                                                ]
                                            },
                                            "example": {
                                                "key1": "Value1",
                                                "key2": "Value2",
                                                "custom": "Beliebiger Wert"
                                            }
                                        },
                                        "tax": {
                                            "type": "array",
                                            "description": "Liste der Steuerdetails pro Steuersatz",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "tax_rate": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Steuersatz",
                                                        "example": 19
                                                    },
                                                    "tax_notice": {
                                                        "type": "string",
                                                        "description": "Anzeigetext oder Hinweis zum Steuersatz",
                                                        "example": "inkl. oder zzgl."
                                                    },
                                                    "tax_amount": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Betrag der Steuer",
                                                        "example": 12.34
                                                    }
                                                }
                                            },
                                            "example": [
                                                {
                                                    "tax_rate": 19,
                                                    "tax_notice": "inkl.",
                                                    "tax_amount": 12.34
                                                },
                                                {
                                                    "tax_rate": 7,
                                                    "tax_notice": "inkl.",
                                                    "tax_amount": 4.21
                                                }
                                            ]
                                        },
                                        "voucher": {
                                            "type": "array",
                                            "description": "Liste der Gutscheine",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "voucher_type": {
                                                        "type": "integer",
                                                        "description": "0 Rabattgutschein | 1 Wertgutschein",
                                                        "example": 0
                                                    },
                                                    "voucher_number": {
                                                        "type": "string",
                                                        "description": "Gutscheinnummer"
                                                    },
                                                    "voucher_number_text": {
                                                        "type": "string",
                                                        "description": "Gutscheinnummer ggf Mit Hinweis auf Hersteller"
                                                    },
                                                    "voucher_discount": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Betrag in Prozent des Gustcheins",
                                                        "example": 33.3
                                                    },
                                                    "voucher_amount": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Betrag des Gustcheins",
                                                        "example": 12.34
                                                    }
                                                }
                                            }
                                        },
                                        "rabatt": {
                                            "type": "object",
                                            "description": "Rabattinformationen zur Bestellung",
                                            "properties": {
                                                "discount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Rabatt-Prozentsatz (z. B. 10 fuer 10 %)",
                                                    "example": 10
                                                },
                                                "amount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Rabattbetrag",
                                                    "example": 12.5
                                                }
                                            },
                                            "example": {
                                                "discount": 10,
                                                "amount": 12.5
                                            }
                                        },
                                        "details": {
                                            "type": "array",
                                            "description": "Liste der Bestellpositionen",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "detail_id": {
                                                        "type": "integer",
                                                        "description": "Eindeutige ID des Bestelldetails",
                                                        "example": 4711
                                                    },
                                                    "detailstatus_intern_id": {
                                                        "type": "integer",
                                                        "description": "Interner Status des Bestelldetails",
                                                        "example": 3
                                                    },
                                                    "artikel_id": {
                                                        "type": "string",
                                                        "description": "Interne Artikel-ID",
                                                        "example": "12345"
                                                    },
                                                    "artikel_nr": {
                                                        "type": "string",
                                                        "description": "Artikelnummer",
                                                        "example": "P-10023"
                                                    },
                                                    "order_nr": {
                                                        "type": "string",
                                                        "description": "Bestellnummer",
                                                        "example": "PO-1234"
                                                    },
                                                    "availability": {
                                                        "type": "string",
                                                        "description": "Verfuegbarkeitsstatus des Artikels",
                                                        "example": "Sofort lieferbar"
                                                    },
                                                    "quantity": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Bestellte Menge",
                                                        "example": 2
                                                    },
                                                    "name": {
                                                        "type": "string",
                                                        "description": "Name des Artikels",
                                                        "example": "Herren T-Shirt"
                                                    },
                                                    "size_name": {
                                                        "type": "string",
                                                        "description": "Groessenbezeichnung des Artikels",
                                                        "example": "L"
                                                    },
                                                    "color_name": {
                                                        "type": "string",
                                                        "description": "Farbe des Artikels",
                                                        "example": "Blau"
                                                    },
                                                    "amount": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Einzelpreis des Artikels",
                                                        "example": 19.99
                                                    },
                                                    "amount_quantity": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Gesamtpreis fuer die Menge",
                                                        "example": 39.98
                                                    },
                                                    "tax": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Steuersatz fuer diesen Artikel",
                                                        "example": 19
                                                    },
                                                    "total_amount": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Gesamtpreis",
                                                        "example": 47.58
                                                    },
                                                    "description": {
                                                        "type": "string",
                                                        "description": "Beschreibung oder Zusatztext zum Artikel"
                                                    },
                                                    "company": {
                                                        "type": "string",
                                                        "description": "Hersteller oder Lieferant"
                                                    },
                                                    "artikel_type": {
                                                        "type": "integer",
                                                        "description": "Artikeltyp (z. B. 0 normal, 1 bundle)",
                                                        "example": 0
                                                    },
                                                    "quantity_return": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Anzahl der retournierten Einheiten",
                                                        "example": 1
                                                    },
                                                    "extern_item_number": {
                                                        "type": "string",
                                                        "description": "Externe Artikelnummer (z. B. vom Marktplazt)"
                                                    },
                                                    "bundles": {
                                                        "type": "array",
                                                        "description": "Artikel im Bundle (falls bundle)",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "name": {
                                                                    "type": "string"
                                                                },
                                                                "variation_name": {
                                                                    "type": "string"
                                                                },
                                                                "quantity": {
                                                                    "type": "number",
                                                                    "format": "float"
                                                                },
                                                                "quantity_detail": {
                                                                    "type": "number",
                                                                    "format": "float"
                                                                },
                                                                "artikel_nr": {
                                                                    "type": "string"
                                                                },
                                                                "size_name": {
                                                                    "type": "string"
                                                                },
                                                                "color_name": {
                                                                    "type": "string"
                                                                },
                                                                "location": {
                                                                    "type": "string",
                                                                    "format": "uri",
                                                                    "description": "API-URL zum Produkt",
                                                                    "example": "https://api.example.com/v2/private/Products/12345"
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "details": {
                                                        "type": "array",
                                                        "description": "Varianten-/Auswahldetails zu dieser Position",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "name": {
                                                                    "type": "string",
                                                                    "description": "Name der Auswahl",
                                                                    "example": "Farbe"
                                                                },
                                                                "value": {
                                                                    "type": "string",
                                                                    "description": "Wert der Auswahl",
                                                                    "example": "Rot"
                                                                },
                                                                "price": {
                                                                    "type": "number",
                                                                    "format": "float",
                                                                    "example": 1.5
                                                                },
                                                                "price_quantity": {
                                                                    "type": "number",
                                                                    "format": "float",
                                                                    "example": 3
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "shipping": {
                                                        "type": "object",
                                                        "description": "Versandinformationen fuer diese Position",
                                                        "properties": {
                                                            "date": {
                                                                "type": "string",
                                                                "format": "date",
                                                                "description": "Versanddatum",
                                                                "example": "2025-03-14"
                                                            },
                                                            "shipping_service": {
                                                                "type": "string",
                                                                "description": "Transportdienstleister",
                                                                "example": "DHL"
                                                            },
                                                            "shipping_method": {
                                                                "type": "string",
                                                                "description": "Versandart",
                                                                "example": "Standard"
                                                            },
                                                            "tracking_number": {
                                                                "type": "string",
                                                                "description": "Trackingnummer",
                                                                "example": "1234567890"
                                                            },
                                                            "tracking_link": {
                                                                "type": "string",
                                                                "format": "uri",
                                                                "description": "Tracking-Link zur Sendungsverfolgung",
                                                                "example": "https://dhl.de/track?1234567890"
                                                            }
                                                        }
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "description": "API-Link zum Artikelobjekt",
                                                        "example": "https://api.example.com/v2/private/Products/10023"
                                                    }
                                                }
                                            }
                                        },
                                        "bills": {
                                            "type": "array",
                                            "description": "Zugehoerige Rechnungen",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "description": "Id des Objects",
                                                        "example": 1
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "description": "API Url zum Objects",
                                                        "example": "https://domain.de/api/endpoint/1"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "example": {
                                    "id": 1,
                                    "location": "https://localhost/shop/api/v2/private/orders/1",
                                    "order_number": "Order-123",
                                    "order_number_extern": "EXT-456",
                                    "channel_number": "C-001",
                                    "notice_customer": "Bitte an Packstation liefern.",
                                    "notice_order": "Interne Notiz: VIP-Kunde.",
                                    "date": "2025-11-01",
                                    "customer_id": 1234,
                                    "customer_email": "herr.muster@example.com",
                                    "customer_location": "https://localhost/shop/api/v2/private/customers/1234",
                                    "custgroup_id": 2,
                                    "custgroup_name": "Endkunde",
                                    "orderstatus_id": 3,
                                    "orderstatus_name": "versendet",
                                    "orderstatus_intern_id": 1,
                                    "orderstatus_intern_name": "versendet",
                                    "delivery_salutation": "Herr",
                                    "delivery_firstname": "Max",
                                    "delivery_lastname": "Muster",
                                    "delivery_company": "Muster GmbH",
                                    "delivery_addition": "z. Hd. Versandabteilung",
                                    "delivery_street": "Musterstra\ufffde",
                                    "delivery_streetnr": "10A",
                                    "delivery_zip": "12345",
                                    "delivery_city": "Musterstadt",
                                    "delivery_state": "Bayern",
                                    "delivery_country": "Deutschland",
                                    "delivery_country_iso2": "DE",
                                    "delivery_country_iso3": "DEU",
                                    "bill_salutation": "Herr",
                                    "bill_firstname": "Max",
                                    "bill_lastname": "Muster",
                                    "bill_company": "Muster GmbH",
                                    "bill_addition": "",
                                    "bill_street": "Rechnungsweg",
                                    "bill_streetnr": "5",
                                    "bill_zip": "12345",
                                    "bill_city": "Musterstadt",
                                    "bill_state": "Bayern",
                                    "bill_country": "Deutschland",
                                    "bill_country_iso2": "DE",
                                    "bill_country_iso3": "DEU",
                                    "shipping_name": "DHL-Versand",
                                    "shipping_price": 4.95,
                                    "shipping_tax_rate": 19,
                                    "shipping_weight": 1.23,
                                    "billing_name": "Vorkasse",
                                    "billing_price": 2.95,
                                    "billing_tax_rate": 19,
                                    "billing_modul": "Vorkasse",
                                    "billing_notice": "Bitte \ufffdberweisen Sie auf IBAN DE123456789.",
                                    "price_exclude_tax": false,
                                    "vat_number": "DE12345678",
                                    "currency_iso": "EUR",
                                    "order_type_id": 0,
                                    "order_type_name": "Shopbestellung",
                                    "multishop_id": 1,
                                    "is_offer": false,
                                    "webhook_url": "https://dropshipper.example.com/webhook",
                                    "total_amount_include_tax": 119,
                                    "total_amount_exclude_tax": 100,
                                    "total_details_amount_include_tax": 113,
                                    "total_detail_amount_exclude_tax": 95,
                                    "spezial": {
                                        "key1": "Wert1",
                                        "key2": "Wert2",
                                        "custom_note": "Interner Hinweis"
                                    },
                                    "tax": [
                                        {
                                            "tax_rate": 19,
                                            "tax_notice": "inkl.",
                                            "tax_amount": 12.34
                                        }
                                    ],
                                    "voucher": [
                                        {
                                            "voucher_type": 0,
                                            "voucher_number": "GUTSCHEIN-2025-001",
                                            "voucher_number_text": "Sommeraktion 2025",
                                            "voucher_discount": 10,
                                            "voucher_amount": 5
                                        }
                                    ],
                                    "rabatt": {
                                        "discount": 5,
                                        "amount": 5
                                    },
                                    "details": [
                                        {
                                            "detail_id": 4711,
                                            "detailstatus_intern_id": 1,
                                            "artikel_id": "P-10023",
                                            "artikel_nr": "TSHIRT-001",
                                            "order_nr": "Order-123",
                                            "availability": "Sofort lieferbar",
                                            "quantity": 2,
                                            "name": "T-Shirt Herren Classic",
                                            "size_name": "L",
                                            "color_name": "Blau",
                                            "amount": 19.99,
                                            "amount_quantity": 39.98,
                                            "tax": 19,
                                            "total_amount": 47.58,
                                            "description": "Klassisches Herren-T-Shirt aus Baumwolle.",
                                            "company": "Muster Textil GmbH",
                                            "artikel_type": 0,
                                            "quantity_return": 0,
                                            "extern_item_number": "MKP-123",
                                            "bundles": [],
                                            "details": [
                                                {
                                                    "name": "Material",
                                                    "value": "100% Baumwolle",
                                                    "price": 0,
                                                    "price_quantity": 0
                                                }
                                            ],
                                            "shipping": {
                                                "date": "2025-11-03",
                                                "shipping_service": "DHL",
                                                "shipping_method": "Standard",
                                                "tracking_number": "00340434123456789012",
                                                "tracking_link": "https://dhl.de/track?00340434123456789012"
                                            },
                                            "location": "https://localhost/shop/api/v2/private/products/10023"
                                        }
                                    ],
                                    "bills": [
                                        {
                                            "id": 501,
                                            "location": "https://localhost/shop/api/v2/private/bills/501"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten einer Bestellung abrufen.",
                "description": "Liefert interne Bestelldaten f\u00fcr eine Bestellung.\n\n\u26a0\ufe0f **Rate Limit:** Max. 1000 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetOrdersDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.read"
                ],
                "x-ratelimit": {
                    "limit": 1000,
                    "period": "hour",
                    "description": "Maximal 1000 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten einer Bestellung aktualisieren.",
                "description": "Aktualisiert die Daten einer Bestellung.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutOrdersDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "Felder, die beim Aktualisieren einer Bestellung \u00fcbergeben werden k\u00f6nnen.",
                                "properties": {
                                    "channel_number": {
                                        "type": "string",
                                        "description": "Externe Kanalnummer (z. B. Marktplatz-ID).",
                                        "example": "AMZ-DE-12345"
                                    },
                                    "notice_customer": {
                                        "type": "string",
                                        "description": "Kundenbemerkung zur Bestellung.",
                                        "example": "Bitte an Packstation liefern."
                                    },
                                    "notice_order": {
                                        "type": "string",
                                        "description": "Interne Bemerkung zur Bestellung.",
                                        "example": "Kunde telefonisch kontaktiert."
                                    },
                                    "special": {
                                        "type": "object",
                                        "description": "Key-Value-Objekt mit Zusatzdaten oder Metainformationen zur Bestellung.",
                                        "additionalProperties": {
                                            "type": [
                                                "string",
                                                "number",
                                                "boolean",
                                                "object",
                                                "array"
                                            ]
                                        },
                                        "example": {
                                            "ref": "API-IMPORT",
                                            "priority": "high"
                                        }
                                    },
                                    "orderstatus_id": {
                                        "type": "integer",
                                        "description": "\u00c4ndert den Bestellstatus.",
                                        "example": 3
                                    },
                                    "shipping_name": {
                                        "type": "string",
                                        "description": "Neue Bezeichnung der Versandart.",
                                        "example": "DHL Express"
                                    },
                                    "shipping_price": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Versandkostenbetrag.",
                                        "example": 6.95
                                    },
                                    "shipping_tax_rate": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Steuersatz der Versandkosten.",
                                        "example": 19
                                    },
                                    "billing_name": {
                                        "type": "string",
                                        "description": "Bezeichnung der Zahlart.",
                                        "example": "Kreditkarte"
                                    },
                                    "billing_price": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Zahlartkostenbetrag.",
                                        "example": 1.5
                                    },
                                    "billing_tax_rate": {
                                        "type": "number",
                                        "format": "float",
                                        "description": "Steuersatz der Zahlartkosten.",
                                        "example": 19
                                    },
                                    "billing_modul": {
                                        "type": "string",
                                        "description": "Technischer Modulname der Zahlungsart.",
                                        "example": "stripe_creditcard"
                                    },
                                    "billing_notice": {
                                        "type": "string",
                                        "description": "Hinweistext zur Zahlart.",
                                        "example": "Die Abbuchung erfolgt automatisch."
                                    },
                                    "is_offer": {
                                        "type": "boolean",
                                        "description": "Kennzeichnet die Bestellung als Angebot.",
                                        "example": false
                                    },
                                    "voucher": {
                                        "type": "array",
                                        "description": "Liste der Gutscheine, die hinzugef\u00fcgt oder aktualisiert werden sollen.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "voucher_number": {
                                                    "type": "string",
                                                    "description": "Eindeutiger Gutscheincode.",
                                                    "example": "GUTSCHEIN10"
                                                },
                                                "voucher_type": {
                                                    "type": "integer",
                                                    "description": "0 = Rabattgutschein, 1 = Wertgutschein.",
                                                    "example": 0
                                                },
                                                "voucher_amount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Gutscheinbetrag (Fixwert).",
                                                    "example": 10
                                                },
                                                "voucher_discount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Rabatt in Prozent.",
                                                    "example": 5
                                                }
                                            }
                                        }
                                    },
                                    "details": {
                                        "type": "array",
                                        "description": "Liste der zu aktualisierenden oder hinzuzuf\u00fcgenden Bestellpositionen.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "detail_id": {
                                                    "type": "integer",
                                                    "description": "Interne ID der Bestellposition (Pflicht bei Updates).",
                                                    "example": 4711
                                                },
                                                "delete_detail": {
                                                    "type": "integer",
                                                    "description": "Wenn 1, wird die Position gel\u00f6scht.",
                                                    "example": 1
                                                },
                                                "artikel_nr": {
                                                    "type": "string",
                                                    "description": "Artikelnummer, falls eine neue Position hinzugef\u00fcgt wird.",
                                                    "example": "ART-12345"
                                                },
                                                "quantity": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Neue Menge der Position.",
                                                    "example": 3
                                                },
                                                "amount": {
                                                    "type": "number",
                                                    "format": "float",
                                                    "description": "Einzelpreis der Position.",
                                                    "example": 24.99
                                                },
                                                "extern_item_number": {
                                                    "type": "string",
                                                    "description": "Externe Artikelnummer.",
                                                    "example": "AMZ-001"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Bezeichnung der Position.",
                                                    "example": "T-Shirt Herren Classic"
                                                }
                                            }
                                        }
                                    },
                                    "delivery_salutation": {
                                        "type": "string",
                                        "example": "Herr"
                                    },
                                    "delivery_firstname": {
                                        "type": "string",
                                        "example": "Max"
                                    },
                                    "delivery_lastname": {
                                        "type": "string",
                                        "example": "Muster"
                                    },
                                    "delivery_company": {
                                        "type": "string",
                                        "example": "Muster GmbH"
                                    },
                                    "delivery_addition": {
                                        "type": "string",
                                        "example": "z. Hd. Versand"
                                    },
                                    "delivery_street": {
                                        "type": "string",
                                        "example": "Hauptstra\u00dfe"
                                    },
                                    "delivery_streetnr": {
                                        "type": "string",
                                        "example": "10"
                                    },
                                    "delivery_zip": {
                                        "type": "string",
                                        "example": "12345"
                                    },
                                    "delivery_city": {
                                        "type": "string",
                                        "example": "Musterstadt"
                                    },
                                    "delivery_state": {
                                        "type": "string",
                                        "example": "NRW"
                                    },
                                    "delivery_country_iso2": {
                                        "type": "string",
                                        "example": "DE"
                                    },
                                    "delivery_country_iso3": {
                                        "type": "string",
                                        "example": "DEU"
                                    },
                                    "delivery_email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "kunde@example.com"
                                    },
                                    "bill_salutation": {
                                        "type": "string",
                                        "example": "Herr"
                                    },
                                    "bill_firstname": {
                                        "type": "string",
                                        "example": "Max"
                                    },
                                    "bill_lastname": {
                                        "type": "string",
                                        "example": "Muster"
                                    },
                                    "bill_company": {
                                        "type": "string",
                                        "example": "Muster GmbH"
                                    },
                                    "bill_addition": {
                                        "type": "string",
                                        "example": "Buchhaltung"
                                    },
                                    "bill_street": {
                                        "type": "string",
                                        "example": "Rechnungsweg"
                                    },
                                    "bill_streetnr": {
                                        "type": "string",
                                        "example": "5"
                                    },
                                    "bill_zip": {
                                        "type": "string",
                                        "example": "54321"
                                    },
                                    "bill_city": {
                                        "type": "string",
                                        "example": "Rechnungsstadt"
                                    },
                                    "bill_state": {
                                        "type": "string",
                                        "example": "BW"
                                    },
                                    "bill_country_iso2": {
                                        "type": "string",
                                        "example": "DE"
                                    },
                                    "bill_country_iso3": {
                                        "type": "string",
                                        "example": "DEU"
                                    },
                                    "bill_email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "rechnung@example.com"
                                    }
                                }
                            },
                            "example": {
                                "notice_order": "Versandkosten aktualisiert und Gutschein hinzugefuegt.",
                                "orderstatus_id": 3,
                                "shipping_name": "DHL Express",
                                "shipping_price": 6.95,
                                "shipping_tax_rate": 19,
                                "billing_name": "Kreditkarte",
                                "billing_price": 1.5,
                                "billing_tax_rate": 19,
                                "is_offer": false,
                                "special": {
                                    "updated_by": "API Script",
                                    "priority": "high"
                                },
                                "delivery_firstname": "Maximilian",
                                "delivery_lastname": "Muster",
                                "delivery_zip": "12345",
                                "delivery_city": "Musterstadt",
                                "bill_firstname": "Maximilian",
                                "bill_lastname": "Muster",
                                "bill_zip": "54321",
                                "bill_city": "Rechnungsstadt",
                                "voucher": [
                                    {
                                        "voucher_number": "EXPRESS5",
                                        "voucher_type": 0,
                                        "voucher_discount": 5
                                    }
                                ],
                                "details": [
                                    {
                                        "detail_id": 4711,
                                        "quantity": 3,
                                        "amount": 18.99
                                    },
                                    {
                                        "artikel_nr": "CAP-002",
                                        "quantity": 1,
                                        "amount": 9.99,
                                        "name": "Baseball Cap Schwarz"
                                    }
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/checkexternnumber": {
            "get": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Prueft ob eine Bestellung mit der externen Bestellnummer existiert",
                "description": "Prueft ob eine Bestellung mit der externen Bestellnummer existiert.\n\n\u26a0\ufe0f **Rate Limit:** Max. 1000 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetOrdersCheckexternnumberPrivate",
                "parameters": [
                    {
                        "name": "order_number_extern",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Die externe Bestellnummer"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.read"
                ],
                "x-ratelimit": {
                    "limit": 1000,
                    "period": "hour",
                    "description": "Maximal 1000 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}/sendmail": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Sendet eine Bestellbest\u00e4tigung an den Kunden",
                "description": "Sendet eine Bestellbest\u00e4tigung an den Kunden (lang).\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersSendmailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "recipients": {
                                        "type": "array",
                                        "description": "Liste der Empfaenger-E-Mailadressen",
                                        "items": {
                                            "type": "string",
                                            "format": "email",
                                            "example": "kunde@example.com"
                                        },
                                        "example": [
                                            "kunde@example.com",
                                            "support@example.com"
                                        ]
                                    }
                                }
                            },
                            "example": {
                                "recipients": [
                                    "kunde@example.com",
                                    "support@example.com"
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}/createbill": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": 1
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "billdata": {
                                            "type": "object",
                                            "description": "array mit Rechnungsdaten",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Id der Rechnung",
                                                    "example": "1"
                                                },
                                                "bill_number": {
                                                    "type": "string",
                                                    "description": "Rechnungsnummer",
                                                    "example": "RE-12345"
                                                }
                                            }
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "URL",
                                    "billdata": {
                                        "id": "bill_id",
                                        "bill_number": "Rechnungsnummer"
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Erstellt eine Rechnung und speichert sie im System.",
                "description": "Erstellt eine Rechnung zue einer Bestellung und speichert sie im System.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersCreatebillPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}/createdeliverynote": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "deliverynotedata": {
                                            "type": "object",
                                            "description": "array mit Lieferscheindaten",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Id des Lieferscheins",
                                                    "example": "1"
                                                }
                                            }
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "URL",
                                    "deliverynotedata": {
                                        "id": "delivernote_id"
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Erstellt einen Lieferschein und speichert ihn im System",
                "description": "Erstellt einen Lieferschein und speichert ihn im System (lang).\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersCreatedeliverynotePrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orderdetail_ids": {
                                        "type": "array",
                                        "description": "Liste der Order-Detail IDs",
                                        "items": {
                                            "type": "integer"
                                        },
                                        "example": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5
                                        ]
                                    },
                                    "shipping_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Das Dtum des Versandzeitpunkts",
                                        "example": "202-01-01"
                                    },
                                    "shipping_service": {
                                        "type": "string",
                                        "description": "Der Transportdienst",
                                        "example": "DHL"
                                    },
                                    "shipping_method": {
                                        "type": "string",
                                        "description": "optionale Bezeichnung der Versandart",
                                        "example": "Express"
                                    },
                                    "tracking_number": {
                                        "type": "string",
                                        "description": "Die Sendungsverfolgungsnummer",
                                        "example": "123456789"
                                    }
                                }
                            },
                            "example": {
                                "orderdetail_ids": [
                                    1,
                                    2
                                ],
                                "shipping_date": "2026-01-01",
                                "shipping_service": "DHL",
                                "tracking_number": "123456789"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}/createlog": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Erstellt einen Logeintrag zu einer Bestellung",
                "description": "Erstellt einen Logeintrag zu einer Bestellung (lang).\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersCreatelogPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "title": {
                                        "type": "string",
                                        "description": "Inhalt des Logeintrages",
                                        "example": "Interne Notiz zur Bestellung"
                                    }
                                },
                                "required": [
                                    "title"
                                ]
                            },
                            "example": {
                                "title": "Interne Notiz zur Bestellung"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}/createdocument": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        },
                                        "orderdocumentdata": {
                                            "type": "object",
                                            "description": "array mit Daten zum Orderdocument",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Id des OrderDoucuments",
                                                    "example": "1"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "F\u00fcgt ein Dokument zu einer Bestellung hinzu",
                "description": "F\u00fcgt ein Dokument zu einer Bestellung hinzu\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersCreatedocumentPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "document_type": {
                                        "type": "integer",
                                        "description": "Die ID des Dokumententyps",
                                        "example": 18
                                    },
                                    "document": {
                                        "type": "string",
                                        "description": "Die Datei als base64 kodierter String"
                                    },
                                    "file_name": {
                                        "type": "string",
                                        "description": "Der Dateiname",
                                        "example": "mein_pdf.pdf"
                                    }
                                },
                                "required": [
                                    "document_type",
                                    "document"
                                ]
                            },
                            "example": {
                                "document_type": "Id des Dokumententyps",
                                "document": "Dokument als base84 kodierter String",
                                "file_name": "Dateiname"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/{id}/ship": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Versendet eine Bestellung im Rahmen der WWS Funktion Versenden",
                "description": "Versendet eine Bestellung im Rahmen der WWS Funktion Versenden\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersShipPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Order-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orderdetail_ids": {
                                        "type": "array",
                                        "description": "Liste der Order-Detail IDs, sind keine orderdetail_ids angeben, werden alle offenen Positionen versendet",
                                        "items": {
                                            "type": "integer"
                                        },
                                        "example": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5
                                        ]
                                    },
                                    "shipping_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Das Dtum des Versandzeitpunkts",
                                        "example": "202-01-01"
                                    },
                                    "shipping_service": {
                                        "type": "string",
                                        "description": "Der Transportdienst",
                                        "example": "DHL"
                                    },
                                    "shipping_method": {
                                        "type": "string",
                                        "description": "optionale Bezeichnung der Versandart",
                                        "example": "Express"
                                    },
                                    "tracking_number": {
                                        "type": "string",
                                        "description": "Die Sendungsverfolgungsnummer",
                                        "example": "123456789"
                                    },
                                    "depot_id": {
                                        "type": "integer",
                                        "description": "Die ID des Lagers aus dem versendet werden soll",
                                        "example": 1,
                                        "default": 1
                                    }
                                }
                            },
                            "example": {
                                "orderdetail_ids": [
                                    1,
                                    2
                                ],
                                "shipping_date": "2026-01-01",
                                "shipping_service": "DHL",
                                "tracking_number": "123456789",
                                "depot_id": 1
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/orders/cancel": {
            "post": {
                "tags": [
                    "orders"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Storniert eine Bestellung im Rahmen der WWS Funktion Stornieren",
                "description": "Storniert eine Bestellung im Rahmen der WWS Funktion Stornieren\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostOrdersCancelPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "orderdetail_ids": {
                                        "type": "array",
                                        "description": "Liste der Order-Detail IDs, sind keine orderdetail_ids angeben, werden alle offenen Positionen storniert",
                                        "items": {
                                            "type": "integer"
                                        },
                                        "example": [
                                            1,
                                            2,
                                            3,
                                            4,
                                            5
                                        ]
                                    }
                                }
                            },
                            "example": {
                                "orderdetail_ids": [
                                    1,
                                    2
                                ]
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "orders.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "orders.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/products": {
            "get": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "integer",
                                                "example": 123
                                            },
                                            "location": {
                                                "type": "string",
                                                "format": "uri",
                                                "example": "https://localhost/shop/api/v2/private/products/123"
                                            }
                                        }
                                    }
                                },
                                "example": [
                                    {
                                        "id": 123,
                                        "location": "https://localhost/shop/api/v2/private/products/123"
                                    },
                                    {
                                        "id": 124,
                                        "location": "https://localhost/shop/api/v2/private/products/124"
                                    }
                                ]
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "mehrere Produkte abrufen.",
                "description": "Liefert die APi Location f\u00fcr mehrere Produkte.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetProductsPrivate",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Anzahl der zur\u00fcckgegebenen Datens\u00e4tze (max 100)"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Startposition im Datenbestand"
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Filtert nach z.b. Produktstatus"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/products/{id}": {
            "get": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "description": "Antwort auf GET /private/Products/{id} \u2013 Produktdetails mit Varianten, Preis- und Lagerinformationen",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige Produkt-ID",
                                            "example": 202
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API-Link zum Produkt",
                                            "example": "https://localhost/shop/api/v2/private/products/202"
                                        },
                                        "name": {
                                            "type": "string",
                                            "description": "Produktname",
                                            "example": "APT Herren T-Shirt"
                                        },
                                        "description": {
                                            "type": "string",
                                            "description": "Detaillierte Produktbeschreibung",
                                            "example": "Hochwertiges Baumwoll-T-Shirt in verschiedenen Farben und Gr\u00f6\u00dfen."
                                        },
                                        "description2": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Erweiterte Beschreibung (optional)",
                                            "example": "Klassischer Schnitt, 100% Baumwolle, fair produziert."
                                        },
                                        "description_short": {
                                            "type": "string",
                                            "description": "Kurzbeschreibung",
                                            "example": "APT T-Shirt"
                                        },
                                        "link": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "\u00d6ffentlicher Link zum Produkt im Shop",
                                            "example": "https://localhost/shop/produkte/apt-tshirt"
                                        },
                                        "tax_id": {
                                            "type": "integer",
                                            "description": "Steuersatz-ID",
                                            "example": 1
                                        },
                                        "tax_rate": {
                                            "type": "number",
                                            "format": "float",
                                            "description": "Steuersatz in Prozent",
                                            "example": 19
                                        },
                                        "differenzsteuer": {
                                            "type": "boolean",
                                            "description": "Ob Differenzbesteuerung aktiv ist",
                                            "example": false
                                        },
                                        "datum": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "Erstellungsdatum des Artikels",
                                            "example": "2025-02-20"
                                        },
                                        "manufactor_id": {
                                            "type": "integer",
                                            "description": "Hersteller-ID",
                                            "example": 12
                                        },
                                        "manufactor_name": {
                                            "type": "string",
                                            "description": "Herstellername",
                                            "example": "APT Textil GmbH"
                                        },
                                        "unit_id": {
                                            "type": "integer",
                                            "description": "Einheits-ID",
                                            "example": 3
                                        },
                                        "unit_name": {
                                            "type": "string",
                                            "description": "Einheitsbezeichnung",
                                            "example": "St\u00fcck"
                                        },
                                        "supplier_id": {
                                            "type": "integer",
                                            "description": "Lieferanten-ID",
                                            "example": 8
                                        },
                                        "supplier_name": {
                                            "type": "string",
                                            "description": "Lieferantenname",
                                            "example": "FashionSupplier AG"
                                        },
                                        "availability_id": {
                                            "type": "integer",
                                            "description": "Verf\u00fcgbarkeits-ID",
                                            "example": 1
                                        },
                                        "availability_name": {
                                            "type": "string",
                                            "description": "Verf\u00fcgbarkeitsname",
                                            "example": "Sofort lieferbar"
                                        },
                                        "status": {
                                            "type": "boolean",
                                            "description": "Produktstatus (aktiv/inaktiv)",
                                            "example": true
                                        },
                                        "sizegroup_id": {
                                            "type": "integer",
                                            "nullable": true,
                                            "description": "Gr\u00f6\u00dfengruppen-ID (nur bei Variantenartikeln)"
                                        },
                                        "sizegroup_name": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Gr\u00f6\u00dfengruppenname"
                                        },
                                        "colorgroup_id": {
                                            "type": "integer",
                                            "nullable": true,
                                            "description": "Farbgruppen-ID (nur bei Variantenartikeln)"
                                        },
                                        "colorgroup_name": {
                                            "type": "string",
                                            "nullable": true,
                                            "description": "Farbgruppenname"
                                        },
                                        "variations": {
                                            "type": "array",
                                            "description": "Liste der Varianten (falls vorhanden)",
                                            "items": {
                                                "type": "object",
                                                "description": "Bei einem Produkt ohne Varianten h\u00e4ngen diese properties in der 1.Ebene",
                                                "properties": {
                                                    "variation_id": {
                                                        "type": "integer",
                                                        "description": "Varianten-ID"
                                                    },
                                                    "sku": {
                                                        "type": "string",
                                                        "description": "Artikelnummer der Variante"
                                                    },
                                                    "order_nr": {
                                                        "type": "string",
                                                        "description": "Bestellnummer der Variante"
                                                    },
                                                    "ean": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "description": "EAN der Variante"
                                                    },
                                                    "isbn": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "description": "ISBN der Variante"
                                                    },
                                                    "asin": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "description": "Amazon-ASIN"
                                                    },
                                                    "upc": {
                                                        "type": "string",
                                                        "nullable": true,
                                                        "description": "UPC-Code"
                                                    },
                                                    "weight": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Gewicht der Variante in kg"
                                                    },
                                                    "shippingweight": {
                                                        "type": "number",
                                                        "format": "float",
                                                        "description": "Versandgewicht in kg"
                                                    },
                                                    "availability_id": {
                                                        "type": "integer",
                                                        "description": "Verf\u00fcgbarkeits-ID der Variante"
                                                    },
                                                    "availability_name": {
                                                        "type": "string",
                                                        "description": "Verf\u00fcgbarkeitsname der Variante"
                                                    },
                                                    "stock": {
                                                        "type": "object",
                                                        "properties": {
                                                            "stock_real": {
                                                                "type": "integer",
                                                                "description": "Der reale Gesamtbestand"
                                                            },
                                                            "stock_available": {
                                                                "type": "integer",
                                                                "description": "Der kaufbare Bestand"
                                                            },
                                                            "stock_reserved": {
                                                                "type": "integer",
                                                                "description": "Der reservierte Bestand"
                                                            },
                                                            "depots": {
                                                                "type": "array",
                                                                "description": "Lagerbest\u00e4nde nach Depot",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "depot_id": {
                                                                            "type": "integer",
                                                                            "description": "Depot-ID"
                                                                        },
                                                                        "stock": {
                                                                            "type": "integer",
                                                                            "description": "Lagerbestand im jeweiligen Depot"
                                                                        },
                                                                        "stock_details": {
                                                                            "type": "array",
                                                                            "description": "Lagerpl\u00e4tze im Depot",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "storage_location_id": {
                                                                                        "type": "integer",
                                                                                        "description": "Storage-Location-ID"
                                                                                    },
                                                                                    "stock": {
                                                                                        "type": "integer",
                                                                                        "description": "Bestand im Lagerplatz"
                                                                                    },
                                                                                    "regal": {
                                                                                        "type": "integer",
                                                                                        "description": "Regalnummer"
                                                                                    },
                                                                                    "fach": {
                                                                                        "type": "integer",
                                                                                        "description": "Fachnummer"
                                                                                    },
                                                                                    "boden": {
                                                                                        "type": "integer",
                                                                                        "description": "Bodennummer"
                                                                                    },
                                                                                    "lagerort": {
                                                                                        "type": "string",
                                                                                        "description": "Hinweis zum Lagerplatz"
                                                                                    },
                                                                                    "mhd": {
                                                                                        "type": "string",
                                                                                        "format": "date",
                                                                                        "description": "MHD"
                                                                                    },
                                                                                    "charge": {
                                                                                        "type": "string",
                                                                                        "description": "Chargennummer"
                                                                                    }
                                                                                }
                                                                            }
                                                                        },
                                                                        "depot_name": {
                                                                            "type": "string",
                                                                            "description": "Depotname"
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "price_data": {
                                                        "type": "object",
                                                        "description": "Preisstruktur der Variante",
                                                        "properties": {
                                                            "pricegroups": {
                                                                "type": "array",
                                                                "description": "Array mit den Preisen der Preisgruppen",
                                                                "items": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "pricegroup_id": {
                                                                            "type": "integer",
                                                                            "description": "Id der Preisgruppe"
                                                                        },
                                                                        "pricegroup_name": {
                                                                            "type": "string",
                                                                            "description": "Bezeichnung der Preisgruppe"
                                                                        },
                                                                        "prices": {
                                                                            "type": "array",
                                                                            "description": "Liste der Preise",
                                                                            "items": {
                                                                                "type": "object",
                                                                                "properties": {
                                                                                    "price_unit": {
                                                                                        "type": "number",
                                                                                        "description": "Mengen-Einheit f\u00fcr den Preis",
                                                                                        "example": 5
                                                                                    },
                                                                                    "price": {
                                                                                        "type": "object",
                                                                                        "description": "der Verkaufspreis",
                                                                                        "properties": {
                                                                                            "amount": {
                                                                                                "type": "number",
                                                                                                "format": "float"
                                                                                            },
                                                                                            "include_tax": {
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        }
                                                                                    },
                                                                                    "price_special": {
                                                                                        "type": "object",
                                                                                        "description": "der Sonderpreis",
                                                                                        "properties": {
                                                                                            "amount": {
                                                                                                "type": "number",
                                                                                                "format": "float"
                                                                                            },
                                                                                            "include_tax": {
                                                                                                "type": "boolean"
                                                                                            }
                                                                                        }
                                                                                    },
                                                                                    "price_special_limited_time": {
                                                                                        "type": "object",
                                                                                        "description": "der zeitlich begrenzte Sonderpreis",
                                                                                        "properties": {
                                                                                            "amount": {
                                                                                                "type": "number",
                                                                                                "format": "float"
                                                                                            },
                                                                                            "include_tax": {
                                                                                                "type": "boolean"
                                                                                            },
                                                                                            "start": {
                                                                                                "type": "string",
                                                                                                "format": "date-time",
                                                                                                "description": "Startzeit"
                                                                                            },
                                                                                            "end": {
                                                                                                "type": "string",
                                                                                                "format": "date-time",
                                                                                                "description": "Endzeit"
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "repurchase_price": {
                                                                "type": "object",
                                                                "description": "Angaben zum Einkaufspreis",
                                                                "properties": {
                                                                    "amount": {
                                                                        "type": "number",
                                                                        "format": "float"
                                                                    },
                                                                    "include_tax": {
                                                                        "type": "boolean"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Produkt ohne Varianten",
                                        "value": [
                                            {
                                                "id": 101,
                                                "location": "https://localhost/shop/api/v2/private/products/101",
                                                "name": "APT Coffee Mug",
                                                "description": "Keramik-Kaffeebecher mit APT-Logo",
                                                "description2": "Sp\u00fclmaschinenfest und mikrowellengeeignet",
                                                "description_short": "Keramikbecher 300ml",
                                                "link": "https://localhost/shop/produkte/apt-coffee-mug",
                                                "tax_id": 1,
                                                "tax_rate": 19,
                                                "differenzsteuer": false,
                                                "datum": "2025-01-12",
                                                "manufactor_id": 12,
                                                "manufactor_name": "APT-Ebusiness GmbH",
                                                "unit_id": 3,
                                                "unit_name": "St\u00fcck",
                                                "supplier_id": 7,
                                                "supplier_name": "APT Lieferant GmbH",
                                                "availability_id": 1,
                                                "availability_name": "Sofort lieferbar",
                                                "status": true,
                                                "variation_id": 501,
                                                "sku": "APT-MUG-001",
                                                "order_nr": "MUG-001",
                                                "ean": "4000000005678",
                                                "isbn": null,
                                                "asin": null,
                                                "upc": null,
                                                "weight": 0.3,
                                                "shippingweight": 0.35,
                                                "stock": {
                                                    "stock_real": 1,
                                                    "stock_available": 1,
                                                    "stock_reserved": 0,
                                                    "depots": [
                                                        {
                                                            "depot_id": 1,
                                                            "stock": 1,
                                                            "stock_details": [
                                                                {
                                                                    "storage_location_id": 106,
                                                                    "stock": 1,
                                                                    "regal": 0,
                                                                    "fach": 0,
                                                                    "boden": 0,
                                                                    "lagerort": ""
                                                                }
                                                            ],
                                                            "depot_name": "Standardlager"
                                                        },
                                                        {
                                                            "depot_id": 2,
                                                            "stock": 0,
                                                            "stock_details": [],
                                                            "depot_name": "Nebenlager"
                                                        }
                                                    ]
                                                },
                                                "price_data": {
                                                    "pricegroups": [
                                                        {
                                                            "pricegroup_id": 0,
                                                            "pricegroup_name": "Standardpreis",
                                                            "prices": [
                                                                {
                                                                    "price_unit": 1,
                                                                    "price": {
                                                                        "amount": 18.99,
                                                                        "include_tax": true
                                                                    },
                                                                    "price_special": {
                                                                        "amount": 16.99,
                                                                        "include_tax": true
                                                                    },
                                                                    "price_special_limited_time": {
                                                                        "amount": 10.99,
                                                                        "include_tax": false,
                                                                        "start": "2026-01-01 00:00:00",
                                                                        "end": "2026-01-31 23:59:59"
                                                                    }
                                                                },
                                                                {
                                                                    "price_unit": 3,
                                                                    "price": {
                                                                        "amount": 17.99,
                                                                        "include_tax": true
                                                                    },
                                                                    "price_special": {
                                                                        "amount": 15.99,
                                                                        "include_tax": true
                                                                    },
                                                                    "price_special_limited_time": {
                                                                        "amount": 8.99,
                                                                        "include_tax": false,
                                                                        "start": "2026-01-01 00:00:00",
                                                                        "end": "2026-01-31 23:59:59"
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    ],
                                                    "repurchase_price": {
                                                        "amount": 8,
                                                        "include_tax": false
                                                    }
                                                }
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Produkt mit Varianten",
                                        "value": [
                                            {
                                                "id": 202,
                                                "location": "https://localhost/shop/api/v2/private/products/202",
                                                "name": "APT Herren T-Shirt",
                                                "description": "Hochwertiges Baumwoll-T-Shirt in verschiedenen Farben und Gr\u00f6\u00dfen.",
                                                "description2": "Klassischer Schnitt, 100% Baumwolle, fair produziert.",
                                                "description_short": "APT T-Shirt",
                                                "link": "https://localhost/shop/produkte/apt-tshirt",
                                                "tax_id": 1,
                                                "tax_rate": 19,
                                                "differenzsteuer": false,
                                                "datum": "2025-02-20",
                                                "manufactor_id": 12,
                                                "manufactor_name": "APT Textil GmbH",
                                                "unit_id": 3,
                                                "unit_name": "St\u00fcck",
                                                "supplier_id": 8,
                                                "supplier_name": "FashionSupplier AG",
                                                "availability_id": 1,
                                                "availability_name": "Auf Lager",
                                                "status": true,
                                                "sizegroup_id": 5,
                                                "sizegroup_name": "Gr\u00f6\u00dfen",
                                                "colorgroup_id": 2,
                                                "colorgroup_name": "Farben",
                                                "variations": [
                                                    {
                                                        "variation_id": 601,
                                                        "sku": "APT-SHIRT-BLACK-L",
                                                        "order_nr": "SHIRT-BLACK-L",
                                                        "ean": "4000000010011",
                                                        "isbn": null,
                                                        "asin": null,
                                                        "upc": null,
                                                        "weight": 0.25,
                                                        "shippingweight": 0.3,
                                                        "reserved": 5,
                                                        "availability_id": 1,
                                                        "availability_name": "Sofort lieferbar",
                                                        "stock": [
                                                            {
                                                                "depot_id": 1,
                                                                "depot_name": "Hauptlager",
                                                                "stock": 80
                                                            },
                                                            {
                                                                "depot_id": 2,
                                                                "depot_name": "Lager S\u00fcd",
                                                                "stock": 40
                                                            }
                                                        ],
                                                        "price_data": {
                                                            "pricegroups": [
                                                                {
                                                                    "pricegroup_id": 0,
                                                                    "pricegroup_name": "Standardpreis",
                                                                    "prices": [
                                                                        {
                                                                            "price_unit": 1,
                                                                            "price": {
                                                                                "amount": 18.99,
                                                                                "include_tax": true
                                                                            },
                                                                            "price_special": {
                                                                                "amount": 16.99,
                                                                                "include_tax": true
                                                                            },
                                                                            "price_special_limited_time": {
                                                                                "amount": 10.99,
                                                                                "include_tax": false,
                                                                                "start": "2026-01-01 00:00:00",
                                                                                "end": "2026-01-31 23:59:59"
                                                                            }
                                                                        },
                                                                        {
                                                                            "price_unit": 10,
                                                                            "price": {
                                                                                "amount": 17.99,
                                                                                "include_tax": true
                                                                            },
                                                                            "price_special": {
                                                                                "amount": 15.99,
                                                                                "include_tax": true
                                                                            },
                                                                            "price_special_limited_time": {
                                                                                "amount": 8.99,
                                                                                "include_tax": false,
                                                                                "start": "2026-01-01 00:00:00",
                                                                                "end": "2026-01-31 23:59:59"
                                                                            }
                                                                        }
                                                                    ]
                                                                }
                                                            ],
                                                            "repurchase_price": {
                                                                "amount": 8,
                                                                "include_tax": false
                                                            }
                                                        }
                                                    },
                                                    {
                                                        "variation_id": 602,
                                                        "artikel_nr": "APT-SHIRT-WHITE-M",
                                                        "order_nr": "SHIRT-WHITE-M",
                                                        "ean": "4000000010012",
                                                        "availability_id": 1,
                                                        "availability_name": "Sofort lieferbar",
                                                        "stock": [
                                                            {
                                                                "depot_id": 1,
                                                                "depot_name": "Hauptlager",
                                                                "stock": 50
                                                            }
                                                        ]
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Produktes abrufen.",
                "description": "Gibt Preis-, Bestands- und interne Verwaltungsdaten zur\u00fcck.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetProductsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Produkt-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Produktdaten aktualisieren (Stammdaten).",
                "description": "Aktualisiert die Stammdaten eines Produkts.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutProductsDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Produkt-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "description": "Request-Body f\u00fcr PUT /private/Products/{id} \u2013 Aktualisierung eines Produkts oder seiner Varianten.",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Neuer Produktname.",
                                        "example": "APT Premium T-Shirt"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Neue Produktbeschreibung.",
                                        "example": "\u00dcberarbeitete Beschreibung mit besserer Passform und nachhaltiger Baumwolle."
                                    },
                                    "description2": {
                                        "type": "string",
                                        "description": "Erweiterte Beschreibung.",
                                        "example": "Jetzt auch in XXL und neuen Farben erh\u00e4ltlich."
                                    },
                                    "description_short": {
                                        "type": "string",
                                        "description": "Kurze Beschreibung (z. B. f\u00fcr Listenansichten).",
                                        "example": "Premium Baumwoll-T-Shirt"
                                    }
                                }
                            },
                            "examples": {
                                "Einfaches Update": {
                                    "summary": "Produktname und Beschreibung aktualisieren",
                                    "value": {
                                        "name": "APT Classic T-Shirt",
                                        "description": "Verbesserter Schnitt und nachhaltige Baumwolle.",
                                        "description_short": "T-Shirt 2025 Edition"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/products/stock": {
            "get": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige Produkt-ID",
                                            "example": 202
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API-Link zum Produkt",
                                            "example": "https://localhost/shop/api/v2/private/products/202"
                                        },
                                        "variation_id": {
                                            "type": "integer",
                                            "description": "Varianten-ID"
                                        },
                                        "sku": {
                                            "type": "string",
                                            "description": "Artikelnummer der Variante"
                                        },
                                        "stock_real": {
                                            "type": "integer",
                                            "description": "Der reale Gesamtbestand"
                                        },
                                        "stock_available": {
                                            "type": "integer",
                                            "description": "Der kaufbare Bestand"
                                        },
                                        "stock_reserved": {
                                            "type": "integer",
                                            "description": "Der reservierte Bestand"
                                        },
                                        "depots": {
                                            "type": "array",
                                            "description": "Lagerbest\u00e4nde nach Depot",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "depot_id": {
                                                        "type": "integer",
                                                        "description": "Depot-ID"
                                                    },
                                                    "stock": {
                                                        "type": "integer",
                                                        "description": "Lagerbestand im jeweiligen Depot"
                                                    },
                                                    "stock_details": {
                                                        "type": "array",
                                                        "description": "Lagerpl\u00e4tze im Depot",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "storage_location_id": {
                                                                    "type": "integer",
                                                                    "description": "Storage-Location-ID"
                                                                },
                                                                "stock": {
                                                                    "type": "integer",
                                                                    "description": "Bestand im Lagerplatz"
                                                                },
                                                                "regal": {
                                                                    "type": "integer",
                                                                    "description": "Regalnummer"
                                                                },
                                                                "fach": {
                                                                    "type": "integer",
                                                                    "description": "Fachnummer"
                                                                },
                                                                "boden": {
                                                                    "type": "integer",
                                                                    "description": "Bodennummer"
                                                                },
                                                                "lagerort": {
                                                                    "type": "string",
                                                                    "description": "Hinweis zum Lagerplatz"
                                                                },
                                                                "mhd": {
                                                                    "type": "string",
                                                                    "format": "date",
                                                                    "description": "MHD"
                                                                },
                                                                "charge": {
                                                                    "type": "string",
                                                                    "description": "Chargennummer"
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "depot_name": {
                                                        "type": "string",
                                                        "description": "Depotname"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "example": {
                                    "id": 101,
                                    "location": "https://localhost/shop/api/v2/private/products/101",
                                    "variation_id": 501,
                                    "sku": "APT-MUG-001",
                                    "stock_real": 1,
                                    "stock_available": 1,
                                    "stock_reserved": 0,
                                    "depots": [
                                        {
                                            "depot_id": 1,
                                            "stock": 1,
                                            "stock_details": [
                                                {
                                                    "storage_location_id": 106,
                                                    "stock": 1,
                                                    "regal": 0,
                                                    "fach": 0,
                                                    "boden": 0,
                                                    "lagerort": ""
                                                }
                                            ],
                                            "depot_name": "Standardlager"
                                        },
                                        {
                                            "depot_id": 2,
                                            "stock": 0,
                                            "stock_details": [],
                                            "depot_name": "Nebenlager"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Gibt den Bestand einer Artikelnummer zur\u00fcck",
                "description": "Gibt den Bestand und ggf weitere Bestandsdetails f\u00fcr eine Artikelnummer zur\u00fcck.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetProductsStockPrivate",
                "parameters": [
                    {
                        "name": "sku",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Die Artikelnummer"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "description": "Ein Array mit den Datens\u00e4zen die ge\u00e4ndert wurden.",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "integer",
                                                "description": "Eindeutige Produkt-ID",
                                                "example": 202
                                            },
                                            "location": {
                                                "type": "string",
                                                "format": "uri",
                                                "description": "API-Link zum Produkt",
                                                "example": "https://localhost/shop/api/v2/private/products/202"
                                            },
                                            "variation_id": {
                                                "type": "integer",
                                                "description": "Entweder variation oder SKU angeben."
                                            },
                                            "sku": {
                                                "type": "string",
                                                "description": "Entweder variation oder SKU angeben."
                                            }
                                        }
                                    }
                                },
                                "example": [
                                    {
                                        "id": 33,
                                        "location": "https://localhost/shop/api/v2/private/products/33",
                                        "variation_id": 100,
                                        "artikel_nr": "33"
                                    }
                                ]
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Aktualisiert Produktbest\u00e4nde",
                "description": "Aktaulisiert mehere Produktbest\u00e4nde anhand variation_id oder SKU.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutProductsStockPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "description": "Ein Array der einzelnen Datens\u00e4tzen die zu \u00e4ndern sind. (max 100)",
                                "maxItems": 100,
                                "items": {
                                    "type": "object",
                                    "description": "Ein Array mit dem Identifiern und dem Bestand.",
                                    "properties": {
                                        "stock": {
                                            "type": "integer",
                                            "description": "Der neue Bestand (is_offset=false), bzw die zu \u00e4ndernde Menge (is_offset=true)"
                                        },
                                        "is_offset": {
                                            "type": "boolean",
                                            "description": "true wenn stock die zu \u00e4ndernde Menge ist (also z.B. plus 2 oder minus 3)",
                                            "default": false
                                        },
                                        "variation_id": {
                                            "type": "integer",
                                            "description": "Entweder variation oder SKU angeben."
                                        },
                                        "sku": {
                                            "type": "string",
                                            "description": "Entweder variation oder SKU angeben."
                                        },
                                        "depot_id": {
                                            "type": "integer",
                                            "description": "Wenn Lagerverwaltung aktiv ist, dann die Lager Id angeben."
                                        },
                                        "storage_location_id": {
                                            "type": "integer",
                                            "description": "Wenn Lagerverwaltung aktiv ist, dann die Lagerplatz Id angeben."
                                        }
                                    },
                                    "required": [
                                        "stock"
                                    ]
                                }
                            },
                            "example": [
                                {
                                    "sku": "33",
                                    "stock": 23,
                                    "depot_id": 1,
                                    "storage_location_id": 238
                                },
                                {
                                    "variation_id": 526,
                                    "stock": 2,
                                    "is_offset": true,
                                    "depot_id": 2,
                                    "storage_location_id": 2123
                                }
                            ]
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/products/{id}/stock": {
            "get": {
                "tags": [
                    "products"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "description": "Produkt ohne Varianten",
                                            "$ref": "#/paths/~1private~1products~1stock/get/responses/200/content/application~1json/schema"
                                        },
                                        {
                                            "description": "Produkt mit Varianten",
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Eindeutige Produkt-ID",
                                                    "example": 202
                                                },
                                                "location": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "API-Link zum Produkt",
                                                    "example": "https://localhost/shop/api/v2/private/products/202"
                                                },
                                                "variations": {
                                                    "type": "array",
                                                    "description": "Best\u00e4nde aller Varianten",
                                                    "items": {
                                                        "$ref": "#/paths/~1private~1products~1stock/get/responses/200/content/application~1json/schema"
                                                    }
                                                }
                                            }
                                        }
                                    ]
                                },
                                "examples": {
                                    "OhneVarianten": {
                                        "summary": "Ausgabe Best\u00e4nde eines Produkts ohne Varianten",
                                        "value": {
                                            "id": 46,
                                            "location": "https://localhost/shop/api/v2/private/products/46",
                                            "variation_id": 131,
                                            "sku": "46-2",
                                            "stock_real": 1,
                                            "stock_available": 1,
                                            "stock_reserved": 0,
                                            "depots": [
                                                {
                                                    "depot_id": 1,
                                                    "stock": 1,
                                                    "stock_details": [
                                                        {
                                                            "storage_location_id": 105,
                                                            "stock": 1,
                                                            "regal": 0,
                                                            "fach": 0,
                                                            "boden": 0,
                                                            "lagerort": ""
                                                        }
                                                    ],
                                                    "depot_name": "Standardlager"
                                                },
                                                {
                                                    "depot_id": 2,
                                                    "stock": 0,
                                                    "stock_details": [],
                                                    "depot_name": "Nebenlager"
                                                }
                                            ]
                                        }
                                    },
                                    "MitVarianten": {
                                        "summary": "Ausgabe Best\u00e4nde eines Produkts mit Varianten",
                                        "value": {
                                            "id": 46,
                                            "location": "https://localhost/shop/api/v2/private/products/46",
                                            "variations": [
                                                {
                                                    "variation_id": 130,
                                                    "sku": "46-1",
                                                    "stock_real": 1,
                                                    "stock_available": 1,
                                                    "stock_reserved": 0,
                                                    "depots": [
                                                        {
                                                            "depot_id": 1,
                                                            "stock": 1,
                                                            "stock_details": [
                                                                {
                                                                    "storage_location_id": 104,
                                                                    "stock": 1,
                                                                    "regal": 0,
                                                                    "fach": 0,
                                                                    "boden": 0,
                                                                    "lagerort": ""
                                                                }
                                                            ],
                                                            "depot_name": "Standardlager"
                                                        },
                                                        {
                                                            "depot_id": 2,
                                                            "stock": 0,
                                                            "stock_details": [],
                                                            "depot_name": "Nebenlager"
                                                        }
                                                    ]
                                                },
                                                {
                                                    "variation_id": 131,
                                                    "sku": "46-2",
                                                    "stock_real": 1,
                                                    "stock_available": 1,
                                                    "stock_reserved": 0,
                                                    "depots": [
                                                        {
                                                            "depot_id": 1,
                                                            "stock": 1,
                                                            "stock_details": [
                                                                {
                                                                    "storage_location_id": 105,
                                                                    "stock": 1,
                                                                    "regal": 0,
                                                                    "fach": 0,
                                                                    "boden": 0,
                                                                    "lagerort": ""
                                                                }
                                                            ],
                                                            "depot_name": "Standardlager"
                                                        },
                                                        {
                                                            "depot_id": 2,
                                                            "stock": 0,
                                                            "stock_details": [],
                                                            "depot_name": "Nebenlager"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Gibt den Bestand f\u00fcr ein Produkt mit der Id zur\u00fcck",
                "description": "Gibt den Bestand und ggf weitere Bestandsdetails f\u00fcr einProdukt mit der Id zur\u00fcck.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetProductsStockbyidPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Artikel-ID die Id des Produkts"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "products.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "products.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        },
        "/private/webhooks": {
            "get": {
                "tags": [
                    "webhooks"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "description": "Kurzform (Standardausgabe)",
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "example": 123
                                                    },
                                                    "location": {
                                                        "type": "string",
                                                        "format": "uri",
                                                        "example": "https://localhost/shop/api/v2/private/webhooks/123"
                                                    }
                                                }
                                            }
                                        },
                                        {
                                            "description": "Detailform (wenn ?details=1)",
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/paths/~1private~1webhooks~1{id}/get/responses/200/content/application~1json/schema"
                                            }
                                        }
                                    ]
                                },
                                "examples": {
                                    "Kurzform": {
                                        "summary": "Standardausgabe \u2013 Basisdaten",
                                        "value": [
                                            {
                                                "id": 101,
                                                "location": "https://shop.local/api/v2/private/webhooks/101"
                                            },
                                            {
                                                "id": 102,
                                                "location": "https://shop.local/api/v2/private/webhooks/102"
                                            }
                                        ]
                                    },
                                    "Detailform": {
                                        "summary": "Detaillierte Ausgabe",
                                        "value": [
                                            {
                                                "id": 1023,
                                                "location": "https://api.meinshop.de/api/v2/private/webhooks/1023",
                                                "type": "order",
                                                "reason": "create",
                                                "url": "https://erpsystem.mein-shop.de/hooks.php"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "mehrere Webhooks abrufen.",
                "description": "Liefert Daten f\u00fcr mehrere Webhooks.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetWebhooksPrivate",
                "parameters": [
                    {
                        "name": "details",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "description": "Wenn true, werden die gesamten Daten mit zurueckgegeben, wenn id=null"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "webhooks.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "webhooks.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "post": {
                "tags": [
                    "webhooks"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Webhook erstellen.",
                "description": "Erstellt einen Webhook.\n\n\u26a0\ufe0f **Rate Limit:** Max. 50 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PostWebhooksPrivate",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "description": "Der Type des Webhooks, um welches Objekt es sich handelt.",
                                        "example": "order"
                                    },
                                    "reason": {
                                        "type": "string",
                                        "description": "Aufrgund welcher Aktion der Webhook ausgel\u00f6st wird.",
                                        "example": "create"
                                    },
                                    "url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Url wohin der Webhook gesendet werden soll"
                                    }
                                },
                                "required": [
                                    "type",
                                    "reason",
                                    "url"
                                ]
                            },
                            "example": {
                                "type": "customer",
                                "reason": "update",
                                "url": "https://erpsystem.mein-shop.de/hooks.php"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "webhooks.create"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "webhooks.create"
                ],
                "x-ratelimit": {
                    "limit": 50,
                    "period": "hour",
                    "description": "Maximal 50 Requests pro hour erlaubt."
                }
            }
        },
        "/private/webhooks/{id}": {
            "get": {
                "tags": [
                    "webhooks"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Eindeutige Kunden-ID"
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "Vollst\u00e4ndige API-URL des Objektes"
                                        },
                                        "type": {
                                            "type": "string",
                                            "description": "Der Type des Webhooks, um welches Objekt es sich handelt.",
                                            "example": "order"
                                        },
                                        "reason": {
                                            "type": "string",
                                            "description": "Aufrgund welcher Aktion der Webhook ausgel\u00f6st wird.",
                                            "example": "create"
                                        },
                                        "url": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "Url wohin der Webhook gesendet werden soll"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 1023,
                                    "location": "https://api.meinshop.de/api/v2/private/webhooks/1023",
                                    "type": "order",
                                    "reason": "create",
                                    "url": "https://erpsystem.mein-shop.de/hooks.php"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Daten eines Webhook abrufen.",
                "description": "Liefert Daten zu einem Webhook.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "GetWebhooksDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Webhook-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "webhooks.read"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "webhooks.read"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "put": {
                "tags": [
                    "webhooks"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "description": "Id des Objects",
                                            "example": "1"
                                        },
                                        "location": {
                                            "type": "string",
                                            "format": "uri",
                                            "description": "API Url zum Objects",
                                            "example": "https://domain.de/api/endpoint/1"
                                        }
                                    }
                                },
                                "example": {
                                    "id": 123,
                                    "location": "https://domain.de/api/v2/endpoint/123"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Ein Webhook aktualisieren.",
                "description": "Aktualisiert einen Webhook.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "PutWebhooksDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Webhook-ID"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "description": "Der Type des Webhooks, um welches Objekt es sich handelt.",
                                        "example": "order"
                                    },
                                    "reason": {
                                        "type": "string",
                                        "description": "Aufgrund welcher Aktion der Webhook ausgel\u00f6st wird.",
                                        "example": "create"
                                    },
                                    "url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Url wohin der Webhook gesendet werden soll"
                                    }
                                },
                                "required": [
                                    "type",
                                    "reason",
                                    "url"
                                ]
                            },
                            "example": {
                                "type": "order",
                                "reason": "change_status",
                                "url": "https://erpsystem.mein-shop.de/hooks.php"
                            }
                        }
                    }
                },
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "webhooks.update"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "webhooks.update"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            },
            "delete": {
                "tags": [
                    "webhooks"
                ],
                "responses": {
                    "400": {
                        "description": "Ung\u00fcltige Anfrage"
                    },
                    "401": {
                        "description": "Nicht autorisiert"
                    },
                    "403": {
                        "description": "Zugriff verweigert"
                    },
                    "404": {
                        "description": "Nicht gefunden"
                    },
                    "500": {
                        "description": "Interner Serverfehler"
                    },
                    "200": {
                        "description": "Erfolgreiche Antwort",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "x-access": "private",
                "x-cors-enabled": false,
                "summary": "Einen Webhook l\u00f6schen.",
                "description": "L\u00f6scht einen Webhook.\n\n\u26a0\ufe0f **Rate Limit:** Max. 500 Requests pro hour.\n\n\ud83d\udd12 **Private Endpoint** \u2013 Erfordert g\u00fcltigen Bearer Token (OAuth2). Kein CORS-Zugriff.",
                "operationId": "DeleteWebhooksDetailPrivate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        },
                        "description": "Webhook-ID"
                    }
                ],
                "security": [
                    {
                        "BearerAuth": []
                    },
                    {
                        "OAuth2": [
                            "webhooks.delete"
                        ]
                    }
                ],
                "x-oauth-scopes": [
                    "webhooks.delete"
                ],
                "x-ratelimit": {
                    "limit": 500,
                    "period": "hour",
                    "description": "Maximal 500 Requests pro hour erlaubt."
                }
            }
        }
    },
    "tags": [
        {
            "name": "baskets",
            "description": "Verwaltung von Baskets",
            "externalDocs": {
                "description": "Weiterf\u00fchrende Informationen zu baskets",
                "url": "https://www.apt-shop.de/handbuch/einstellungen/system/rest-api#link1"
            }
        },
        {
            "name": "bills",
            "description": "Verwaltung von Rechnungen"
        },
        {
            "name": "content",
            "description": "Verwaltung von Unterseiten"
        },
        {
            "name": "customers",
            "description": "Verwaltung von Kunden"
        },
        {
            "name": "newsletterrecipients",
            "description": "Verwaltung von Newsletterempf\u00e4ngern"
        },
        {
            "name": "orders",
            "description": "Verwaltung von Bestellungen"
        },
        {
            "name": "products",
            "description": "Verwaltung von Produkten"
        },
        {
            "name": "webhooks",
            "description": "Verwaltung von Webhooks"
        }
    ]
}