> ## Documentation Index
> Fetch the complete documentation index at: https://docs.komerza.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure Affiliate Program

> Updates the configuration options for the affiliate program of the specified store.
Requires the `stores.affiliates.update` permission.



## OpenAPI

````yaml PUT /stores/{storeId}/affiliates/configure
openapi: 3.0.4
info:
  title: Komerza API
  description: >-
    The base Komerza API for interfacing with the Komerza platform through a
    REST interface.
  termsOfService: https://komerza.com/terms
  contact:
    name: Support
    url: https://help.komerza.com
    email: support@komerza.com
  version: vUnknown-Development
servers:
  - url: https://api.komerza.com
    description: The production Komerza API
security:
  - bearer: []
tags:
  - name: Affiliate
    description: Manage store affiliates.
  - name: Analytics
    description: >-
      Analytics endpoints for a store: store dashboard, visitor dashboard and
      daily stats.
  - name: Application
    description: Manages OAuth2 applications owned by users for third-party integrations.
  - name: Billing
    description: Provides billing-related endpoints for user accounts.
  - name: Blacklist
    description: Manages blacklist rules and customer blocking for a store.
  - name: BlogCategory
    description: Manages blog categories for a store.
  - name: BlogPost
    description: Manages blog posts for a store.
  - name: Category
    description: >-
      Handles the management of categories, which are used to organize products
      within a store.
  - name: Coupon
    description: >-
      Handles the management of coupons, which are used to give customers a
      percentage discount off any products in your

      store
  - name: Customer
    description: Controller that handles customer-related actions.
  - name: CustomField
    description: Controller for managing custom fields on a product variant.
  - name: CustomPaymentMethod
    description: >-
      Manages custom payment methods for a store (Instructions and Redirect
      types).
  - name: Discord
    description: >-
      Manages Discord integration settings, variant roles, product overrides,
      and grants.
  - name: DiscountDialog
    description: >-
      Handles the management of discount dialogs, which are promotional popups
      displayed on storefronts

      to encourage customer engagement through discount offers.
  - name: Domain
    description: >-
      Controller that handles all store domain-related concerns, like URLs and
      custom domains.
  - name: EmailMarketing
    description: Manages email marketing setup and status for a store
  - name: EmailMarketingCampaign
    description: Manages email campaigns (create, schedule, send, cancel)
  - name: EmailMarketingCredit
    description: Manages email marketing credit packages and purchases
  - name: EmailMarketingDomain
    description: Manages email sending domains for a store (add, verify, delete)
  - name: EmailMarketingRecipient
    description: Manages email recipient lists and their entries
  - name: EmailMarketingSuppression
    description: Manages email suppressions (unsubscribes, bounces, complaints) for a store
  - name: EmailMarketingTemplate
    description: Manages email templates (GrapeJS editor JSON + compiled HTML)
  - name: EmailUnsubscribe
    description: Public endpoint for email unsubscribe (no authentication required)
  - name: FlaggedUsers
    description: Controller for managing flagged users in the administration panel.
  - name: LicenseKey
    description: >-
      Controller that handles license key/item operations including search and
      inventory management.
  - name: OAuth
    description: Controller responsible for handling OAuth2 operations.
  - name: Onboarding
    description: >-
      Manages the merchant onboarding setup guide, including progress tracking,
      step completion, and dismissal.
  - name: Order
    description: Controller that handles order-related concerns.
  - name: Passkey
    description: Manages FIDO2/WebAuthn passkeys for two-factor authentication.
  - name: Product
    description: >-
      Handles creation, retrieval, updating, and deletion of products within a
      store.
  - name: Review
    description: ''
  - name: Store
    description: >-
      Manages actions related to stores in the system, such as creating,
      updating, and retrieving store information.
  - name: StoreBranding
    description: >-
      Provides functionalities for managing store branding and related
      configurations.
  - name: Subscription
    description: Controller for merchant management of customer subscriptions.
  - name: Tax
    description: Manages tax/VAT settings and rules for a store.
  - name: Temp
  - name: Ticket
    description: Handles ticket replies and closure
  - name: User
    description: Manages user-related functionalities and actions for the platform.
  - name: Variant
    description: >-
      Controller which handles management of product variants, including
      creation, updates, deletion,

      file and image uploads, and delivery settings.
  - name: VolumeDiscount
    description: Controller for managing volume discount tiers on a product variant.
  - name: Webhook
    description: Controller for managing webhook operations within the system.
paths:
  /stores/{storeId}/affiliates/configure:
    put:
      tags:
        - Affiliate
      summary: Update store affiliate options.
      description: >-
        Updates the configuration options for the affiliate program of the
        specified store.

        Requires the `stores.affiliates.update` permission.
      parameters:
        - name: storeId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AffiliateOptionsDto'
      responses:
        '200':
          description: The object was successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponse'
components:
  schemas:
    AffiliateOptionsDto:
      required:
        - canConvertAffiliateBalance
        - defaultReturnPercentage
        - isEnabled
        - isLinkEditingEnabled
        - isPublicRegistrationEnabled
      type: object
      properties:
        isEnabled:
          type: boolean
          description: Determines if the affiliate settings are active for the store.
        defaultReturnPercentage:
          maximum: 100
          minimum: 0
          type: integer
          description: >-
            Specifies the default return percentage for affiliates within a
            store, ranging from 0 to 100.
          format: int32
        defaultPercentageOff:
          maximum: 100
          minimum: 0
          type: integer
          description: >-
            Represents the default percentage off value used in affiliate
            settings, where the value must be between 0 and 100.
          format: int32
          nullable: true
        canConvertAffiliateBalance:
          type: boolean
          description: >-
            Whether the store allows affiliate balance to be converted into
            customer balance to be used on the store, when

            enabled any affiliate can convert their affiliate balance into
            customer balance automatically
        isPublicRegistrationEnabled:
          type: boolean
          description: >-
            Determines whether public registration is enabled for affiliates
            within the store.
        isLinkEditingEnabled:
          type: boolean
          description: >-
            Indicates whether link editing capabilities are enabled within the
            affiliate options for a store.
      additionalProperties: false
      description: Represents the configuration options for affiliate settings in a store.
    ObjectResponse:
      required:
        - success
      type: object
      properties:
        success:
          type: boolean
          description: Indicates whether the operation or response was successful.
        message:
          type: string
          description: >-
            A descriptive message providing additional context or information
            about the response.
          nullable: true
        code:
          type: string
          description: >-
            The error code (if there was an error) to use when referencing the
            error
          nullable: true
        data:
          description: Represents the data associated with a response.
          nullable: true
      additionalProperties: false
      description: Represents a default generic response for API endpoints.
  securitySchemes:
    bearer:
      type: http
      description: Your API key goes here
      scheme: bearer
      bearerFormat: JWT

````