Cookie Presets

Cookie Presets
https://editor.swagger.io/
openapi: 3.0.0
info:
  title: Cookie API
  version: "1.0.0"
servers:
  - url: https://cookieapi.coding-freaks.com/api
paths:
  /scan:
    post:
      summary: Start a new scan
      operationId: startScan
      tags:
        - Scan
      parameters:
        - in: query
          name: target
          required: true
          schema:
            type: string
          description: The URL to scan
        - in: query
          name: limit
          required: true
          schema:
            type: integer
          description: Limit for the scan
      responses:
        '200':
          description: Scan successfully started
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique identifier for the scan
                  status:
                    type: string
                    description: Status of the scan
  /scan/{id}:
    get:
      summary: Get scan results by ID
      operationId: getScanById
      tags:
        - Scan
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
          description: Unique identifier of the scan
      responses:
        '200':
          description: Scan results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScanResult'
  /cookie/{language}:
    get:
      summary: Get cookies by language
      operationId: getCookiesByLanguage
      tags:
        - Cookie
      parameters:
        - in: path
          name: language
          required: true
          schema:
            type: string
          description: Language code (e.g., 'de', 'en')
      responses:
        '200':
          description: List of cookies
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Cookie'
  /categories/{language}:
    get:
      summary: Get categories by language
      operationId: getCategoriesByLanguage
      tags:
        - Category
      parameters:
        - in: path
          name: language
          required: true
          schema:
            type: string
          description: Language code (e.g., 'de', 'en')
      responses:
        '200':
          description: List of categories
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Category'
  /services/{language}:
    get:
      summary: Get services by language
      operationId: getServicesByLanguage
      tags:
        - Service
      parameters:
        - in: path
          name: language
          required: true
          schema:
            type: string
          description: Language code (e.g., 'de', 'en')
      responses:
        '200':
          description: List of services
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Service'
  /frontends/{language}:
    get:
      summary: Get frontends by language
      operationId: getFrontendsByLanguage
      tags:
        - Frontend
      parameters:
        - in: path
          name: language
          required: true
          schema:
            type: string
          description: Language code (e.g., 'de', 'en')
      responses:
        '200':
          description: List of frontends
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Frontend'
components:
  schemas:
    ScanResult:
      type: object
      properties:
        gdpr_compliant:
          type: boolean
        images:
          type: array
          items:
            type: string
        status:
          type: string
        identifier:
          type: string
        target:
          type: string
        webpageUpdateMessage:
          type: string
        scannedSites:
          type: integer
        provider:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Provider'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
    Cookie:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        domain:
          type: string
        path:
          type: string
        expires:
          type: number
        httpOnly:
          type: boolean
        secure:
          type: boolean
        session:
          type: boolean
        sameSite:
          type: string
        priority:
          type: string
        sameParty:
          type: boolean
        sourceScheme:
          type: string
        sourcePort:
          type: integer
        category_suggestion:
          type: string
    Category:
      type: object
      properties:
        identifier:
          type: string
        title:
          type: string
        description:
          type: string
        is_required:
          type: integer
    Service:
      type: object
      properties:
        name:
          type: string
        identifier:
          type: string
        description:
          type: string
        provider:
          type: string
        category_suggestion:
          type: string
    Frontend:
      type: object
      properties:
        name:
          type: string
        identifier:
          type: string
        title_consent_modal:
          type: string
        description_consent_modal:
          type: string
        primary_btn_text_consent_modal:
          type: string
        secondary_btn_text_consent_modal:
          type: string
        primary_btn_role_consent_modal:
          type: string
        secondary_btn_role_consent_modal:
          type: string
        title_settings:
          type: string
        accept_all_btn_settings:
          type: string
        close_btn_settings:
          type: string
        save_btn_settings:
          type: string
        reject_all_btn_settings:
          type: string
        col1_header_settings:
          type: string
        col2_header_settings:
          type: string
        col3_header_settings:
          type: string
        blocks_title:
          type: string
        blocks_description:
          type: string
        custombutton:
          type: boolean
        custom_button_html:
          type: string
        hidden:
          type: boolean
    Provider:
      type: object
      properties:
        servicename:
          type: array
          items:
            $ref: '#/components/schemas/ProviderDetail'
    ProviderDetail:
      type: object
      properties:
        identifier:
          type: string
        name:
          type: string
        provider:
          type: string
        category_suggestion:
          type: string
        url:
          type: string
        referer:
          type: string
        resourceType:
          type: string