openapi: 3.0.3
info:
  title: Newsletter Subscription API
  description: API for handling newsletter subscription status in SCAYLE's Checkout.
  version: 1.0.0

servers:
  - url: https://your-middleware-url.com
    description: Middleware Endpoint

paths:
  /subscription-status:
    get:
      summary: Check newsletter subscription status
      description: Returns the subscription status for a customer.
      parameters:
        - name: X-Shop-Id
          in: header
          required: true
          schema:
            type: integer
          description: The current shop-country ID
        - name: customerId
          in: query
          required: true
          schema:
            type: integer
          description: The current customer ID
        - name: emailHash
          in: query
          required: true
          schema:
            type: string
          description: The current customer email hash
        - name: customerReferenceKey
          in: query
          required: true
          schema:
            type: string
          description: The current customer reference key
      responses:
        '200':
          description: Subscription status retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - open
                      - subscribed
                      - confirmed
        '401':
          description: Authentication failed
        '404':
          description: Subscription not found
      security:
        - basicAuth: []

components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
