Extension Hook API - OpenAPI 3.0 Spec

openapi: 3.0.1
info:
  title: Extension Hooks
  version: extensionHooks
servers:
- url: https://{clientId}.corpadmin.directscalestage.com
  variables:
    clientId:
      # note! no enum here means it is an open value
      default: clientId
paths:
  /api/extension/hooks/Merchants.MoneyOut.Ach.AchUS:
    post:
      tags:
      - AchHooksCallback
      operationId: AchHooksCallback_AchUS
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchUSFileWriterHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchUSFileWriterHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.MoneyOut.Ach.AchJP:
    post:
      tags:
      - AchHooksCallback
      operationId: AchHooksCallback_AchJP
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchJPFileWriterHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchJPFileWriterHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.MoneyOut.Ach.AchTW:
    post:
      tags:
      - AchHooksCallback
      operationId: AchHooksCallback_AchTW
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchTWFileWriterHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchTWFileWriterHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.GetAssociateServiceAutoshipSettings:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_GetAssociateServiceAutoshipSettings
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetAssociateServiceAutoshipSettingsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetAssociateServiceAutoshipSettingsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.OnNotificationEvent:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_OnNotificationEvent
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.OnNotificationEventHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.OnNotificationEventHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.UpdateAssociate:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_UpdateAssociate
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.UpdateAssociateHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.UpdateAssociateHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.GetAssociateTreeLabel:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_GetAssociateTreeLabel
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetAssociateTreeLabelHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetAssociateTreeLabelHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.GetCommissionChecks:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_GetCommissionChecks
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetCommissionChecksHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetCommissionChecksHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.GetCommissionCheckDetails:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_GetCommissionCheckDetails
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetCommissionCheckDetailsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetCommissionCheckDetailsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.GetAssociatesStats:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_GetAssociatesStats
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetAssociatesStatsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.GetAssociatesStatsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.UpdateVolume:
    post:
      tags:
      - AssociatesHooksCallback
      operationId: AssociatesHooksCallback_UpdateVolume
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.UpdateVolumeHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.UpdateVolumeHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.ApplyAutoshipCouponCodes:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_ApplyAutoshipCouponCodes
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.ApplyAutoshipCouponCodesHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.ApplyAutoshipCouponCodesHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.GetAutoships:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_GetAutoships
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.GetAutoshipBackupPayment:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_GetAutoshipBackupPayment
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipBackupPaymentHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipBackupPaymentHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.CancelAutoship:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_CancelAutoship
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.CancelAutoshipHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.CancelAutoshipHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.ShouldRetryAutoshipOrder:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_ShouldRetryAutoshipOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.ShouldRetryAutoshipOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.ShouldRetryAutoshipOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.CreateAutoship:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_CreateAutoship
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.CreateAutoshipHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.CreateAutoshipHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.UpdateAutoship:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_UpdateAutoship
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.UpdateAutoshipHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.UpdateAutoshipHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.ShouldChargeAutoship:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_ShouldChargeAutoship
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.ShouldChargeAutoshipHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.ShouldChargeAutoshipHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Autoships.DailyRun:
    post:
      tags:
      - AutoshipHooksCallback
      operationId: AutoshipHooksCallback_DailyRun
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.DailyRunHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Autoships.DailyRunHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetSplitPayments:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetSplitPayments
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetSplitPaymentsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetSplitPaymentsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetCommissionBonusDetailsAfter:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetCommissionBonusDetailsAfter
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.AfterCommissionBonusDetailsHookModel'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.AfterCommissionBonusDetailsHookModel'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetCommissionBonusDetails:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetCommissionBonusDetails
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionBonusDetailsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionBonusDetailsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetCommissionDetails:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetCommissionDetails
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionDetailsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionDetailsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetBonusDetailData:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetBonusDetailData
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetBonusDetailDataHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetBonusDetailDataHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetMatchRuleForVisualTree:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetMatchRuleForVisualTree
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.MatchRuleForVisualTreeHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.MatchRuleForVisualTreeHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.CanViewDownlineNode:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_CanViewDownlineNode
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.CanViewDownlineNodeHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.CanViewDownlineNodeHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.CanPlaceAssociate:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_CanPlaceAssociate
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.CanPlaceAssociateHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.CanPlaceAssociateHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetPlaceToAssociates:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetPlaceToAssociates
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetPlaceToAssociatesHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetPlaceToAssociatesHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.GetPlacementExpirationDates:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_GetPlacementExpirationDates
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetPlacementExpirationDatesHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.GetPlacementExpirationDatesHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Commissions.LogRealtimeRankAdvance:
    post:
      tags:
      - CommissionHooksCallback
      operationId: CommissionHooksCallback_LogRealtimeRankAdvance
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.LogRealtimeRankAdvanceHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.LogRealtimeRankAdvanceHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateWelcomeCustomer:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateWelcomeCustomer
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.WelcomeCustomerTemplateRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateWelcomeDistributor:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateWelcomeDistributor
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.WelcomeDistributoremplateRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateAutoshipFailed:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateAutoshipFailed
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.AutoshipFailedRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateOrderReceipt:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateOrderReceipt
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.OrderRecieptRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateOrderFailed:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateOrderFailed
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.OrderFailedRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateSubscriptionAboutToExpire:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateSubscriptionAboutToExpire
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.SubscriptionAboutToExpireRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/EmailHooks.GetTemplateSubscriptionExpire:
    post:
      tags:
      - EmailTemplatesHooksCallback
      operationId: EmailTemplatesHooksCallback_GetTemplateSubscriptionExpire
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.SubscriptionExpireRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.MoneyIn.Emvio.ModifyTransaction:
    post:
      tags:
      - EmvioHooksCallback
      operationId: EmvioHooksCallback_ModifyTransaction
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ModifyTransactionHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ModifyTransactionHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.GetNewBackOfficeId:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_GetNewBackOfficeId
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.SetBackOfficeIdHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.SetBackOfficeIdHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.WriteApplication:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_WriteApplication
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.WriteApplicationHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.WriteApplicationHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.ValidateApplication:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_ValidateApplication
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ValidateApplicationHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ValidateApplicationHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.IsEmailAvailable:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_IsEmailAvailable
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsEmailAvailableHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsEmailAvailableHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.IsTaxIdAvailable:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_IsTaxIdAvailable
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsTaxIdAvailableHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsTaxIdAvailableHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.UpdateAssociateBaseType:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_UpdateAssociateBaseType
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.UpdateAssociateBaseTypeHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.UpdateAssociateBaseTypeHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Associates.Enrollment.GetShouldSendNotification:
    post:
      tags:
      - EnrollmentHooksCallback
      operationId: EnrollmentHooksCallback_GetShouldSendNotification
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ShouldSendNotificationHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ShouldSendNotificationHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/FraudPrevention.GetOrderPaymentToReview:
    post:
      tags:
      - FraudPreventionHooksCallback
      operationId: FraudPreventionHooksCallback_GetOrderPaymentToReview
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.GetOrderPaymentToReviewHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.GetOrderPaymentToReviewHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/FraudPrevention.GetPreCheck:
    post:
      tags:
      - FraudPreventionHooksCallback
      operationId: FraudPreventionHooksCallback_GetPreCheck
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.GetPreCheckHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.GetPreCheckHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/FraudPrevention.ParseCallbackData:
    post:
      tags:
      - FraudPreventionHooksCallback
      operationId: FraudPreventionHooksCallback_ParseCallbackData
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.ParseCallbackDataHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.ParseCallbackDataHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/FraudPrevention.GetFraudPreventionInfo:
    post:
      tags:
      - FraudPreventionHooksCallback
      operationId: FraudPreventionHooksCallback_GetFraudPreventionInfo
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.GetFraudPreventionInfoHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.FraudPrevention.GetFraudPreventionInfoHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.MoneyIn.Hyperwallet.GetProgramToken:
    post:
      tags:
      - HyperwalletHooksCallback
      operationId: HyperwalletHooksCallback_GetProgramToken
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Hyperwallet.GetProgramTokenHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Hyperwallet.GetProgramTokenHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Inventory.Receive:
    post:
      tags:
      - InventoryHooksCallback
      operationId: InventoryHooksCallback_Receive
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Inventory.ReceiveHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Inventory.ReceiveHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.Fraud.Kount.GetUserDefinedFields:
    post:
      tags:
      - KountHooksCallback
      operationId: KountHooksCallback_GetUserDefinedFields
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.Fraud.Kount.GetUserDefinedFieldsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.Fraud.Kount.GetUserDefinedFieldsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.MoneyIn.DeletePaymentMethod:
    post:
      tags:
      - MoneyInHooksCallback
      operationId: MoneyInHooksCallback_DeletePaymentMethod
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.DeletePaymentMethodHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.DeletePaymentMethodHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Merchants.MoneyOut.SaveAdjustments:
    post:
      tags:
      - MoneyOutHooksCallback
      operationId: MoneyOutHooksCallback_SaveAdjustments
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.SaveAdjustmentsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.SaveAdjustmentsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.FinalizeAcceptedOrder:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_FinalizeAcceptedOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.FinalizeAcceptedOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.FinalizeAcceptedOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.FinalizeNonAcceptedOrder:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_FinalizeNonAcceptedOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.FinalizeNonAcceptedOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.FinalizeNonAcceptedOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.FullRefundOrder:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_FullRefundOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.FullRefundOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.FullRefundOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.RefundPayment:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_RefundPayment
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.RefundPaymentHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.RefundPaymentHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.AdjustNewOrderPayments:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_AdjustNewOrderPayments
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.AdjustNewOrderPaymentsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.AdjustNewOrderPaymentsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.SubmitOrder:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_SubmitOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.SubmitOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.SubmitOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.IsMoveOrderPermitted:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_IsMoveOrderPermitted
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.MoveOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.MoveOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.ImportOrder:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_ImportOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.ImportOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.ImportOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.ProcessOrderPayment:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_ProcessOrderPayment
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.ProcessOrderPaymentHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.ProcessOrderPaymentHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.CancelOrder:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_CancelOrder
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.CancelOrderHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.CancelOrderHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.ProcessCouponCodes:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_ProcessCouponCodes
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.ProcessCouponCodesHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.ProcessCouponCodesHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.GetCouponAdjustedVolume:
    post:
      tags:
      - OrdersHooksCallback
      operationId: OrdersHooksCallback_GetCouponAdjustedVolume
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.GetCouponAdjustedVolumeHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.GetCouponAdjustedVolumeHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.Packages.MarkPackagesShipped:
    post:
      tags:
      - PackagesHooksCallback
      operationId: PackagesHooksCallback_MarkPackagesShipped
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.Packages.MarkPackagesShippedHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.Packages.MarkPackagesShippedHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.Party.PayHostRewards:
    post:
      tags:
      - PartyHooksCallback
      operationId: PartyHooksCallback_PayHostRewards
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.Party.PayHostRewardsHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.Party.PayHostRewardsHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.CreateRma:
    post:
      tags:
      - RmaHooksCallback
      operationId: RmaHooksCallback_CreateRma
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.CreateRmaHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.CreateRmaHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Orders.Shipping.GetShipping:
    post:
      tags:
      - ShippingHooksCallback
      operationId: ShippingHooksCallback_GetShipping
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.Shipping.GetShippingHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Orders.Shipping.GetShippingHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Taxes.GetTax:
    post:
      tags:
      - TaxHooksCallback
      operationId: TaxHooksCallback_GetTax
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Taxes.GetTaxHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Taxes.GetTaxHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
  /api/extension/hooks/Taxes.CommitTax:
    post:
      tags:
      - TaxHooksCallback
      operationId: TaxHooksCallback_CommitTax
      parameters:
      - name: X-DirectScale-CallbackToken
        in: header
        description: One-time use token. This value is sent to the endpoint configured
          for the hook.
        required: true
        schema:
          type: string
      - name: X-DirectScale-User
        in: header
        description: Sets the User Context of the request when a username is provided
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Taxes.CommitTaxHookRequest'
        required: true
      responses:
        200:
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Taxes.CommitTaxHookResponse'
      security:
      - Extension_Token: []
      x-codegen-request-body-name: request
components:
  schemas:
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchUSFileWriterHookRequest:
      type: object
      properties:
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.AchPayment'
    DirectScale.Disco.Extension.AchPayment:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Amount:
          type: number
          format: double
        TransactionNumber:
          type: string
        AccountNumber:
          type: string
        AccountType:
          type: string
        NameOnAccount:
          type: string
        Status:
          type: string
          enum:
          - Submitted
          - Pending
          - Paid
          - Failed
          - Expired
        DatePaid:
          type: string
          format: date-time
        PaidMerchantId:
          type: integer
          format: int32
        BankId:
          type: string
        BranchId:
          type: string
        BankName:
          type: string
        BranchName:
          type: string
        TaxId:
          type: string
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchUSFileWriterHookResponse:
      type: object
      properties:
        BatchFileData:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchJPFileWriterHookRequest:
      type: object
      properties:
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.AchPayment'
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchJPFileWriterHookResponse:
      type: object
      properties:
        BatchFileData:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchTWFileWriterHookRequest:
      type: object
      properties:
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.AchPayment'
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.Ach.AchTWFileWriterHookResponse:
      type: object
      properties:
        BatchFileData:
          pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$
          type: string
          format: byte
    DirectScale.Disco.Extension.Hooks.Associates.GetAssociateServiceAutoshipSettingsHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Service:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.SubscriptionItem'
    DirectScale.Disco.Extension.SubscriptionItem:
      type: object
      properties:
        SubscriptionId:
          type: integer
          format: int32
        ItemId:
          type: integer
          format: int32
        Period:
          type: integer
          format: int32
        PeriodType:
          type: string
          enum:
          - Days
          - Weeks
          - Months
          - Years
        GracePeriod:
          type: integer
          format: int32
        CreateAutoship:
          type: boolean
        YearlyRenewal:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Associates.GetAssociateServiceAutoshipSettingsHookResponse:
      type: object
      properties:
        AutoshipSettings:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.SubscriptionAutoshipSettings'
    DirectScale.Disco.Extension.SubscriptionAutoshipSettings:
      type: object
      properties:
        ShipMethodId:
          type: integer
          format: int32
        OverriddenAutoshipItemId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Associates.OnNotificationEventHookRequest:
      type: object
      properties:
        Notification:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NotificationEvent'
    DirectScale.Disco.Extension.NotificationEvent:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        EventType:
          type: string
          enum:
          - Enrollment
          - RankAdvancement
          - NewOrder
          - NewAutoOrder
          - CommissionStatChanged
          - AutoshipProcessFailure
        EventValue:
          type: object
          properties: {}
        EntryDate:
          type: string
          format: date-time
        EventDate:
          type: string
          format: date-time
    DirectScale.Disco.Extension.Hooks.Associates.OnNotificationEventHookResponse:
      type: object
      properties:
        NotificationEvent:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.EmailOnNotificationEvent'
    DirectScale.Disco.Extension.EmailOnNotificationEvent:
      type: object
      properties:
        SendEmail:
          type: boolean
        EmailAddress:
          type: string
        Subject:
          type: string
        Body:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.UpdateAssociateHookRequest:
      type: object
      properties:
        OldAssociateInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
        UpdatedAssociateInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
    DirectScale.Disco.Extension.Associate:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        ShipAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        Address:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        AcceptTerms:
          type: boolean
        AssociateBaseType:
          type: integer
          format: int32
        AssociateType:
          type: integer
          format: int32
        PriceGroup:
          type: integer
          format: int32
        AssociateTypeName:
          type: string
        BackOfficeId:
          type: string
        BirthDate:
          type: string
          format: date-time
        CompanyName:
          type: string
        DormantDate:
          type: string
          format: date-time
        EmailAddress:
          type: string
        Name:
          type: string
          readOnly: true
        DisplayFirstName:
          type: string
        DisplayLastName:
          type: string
        LegalFirstName:
          type: string
        LegalLastName:
          type: string
        RomanizedFirstName:
          type: string
        RomanizedLastName:
          type: string
        PrimaryPhone:
          type: string
        SecondaryPhone:
          type: string
        LanguageCode:
          type: string
        ShipAttention:
          type: string
        ShipPhone:
          type: string
        SignupDate:
          type: string
          format: date-time
        UpgradeDate:
          type: string
          format: date-time
        SignupMethod:
          type: string
        TaxExempt:
          type: boolean
        TaxId:
          type: string
        TaxResaleNo:
          type: string
        TeamId:
          type: integer
          format: int32
        TextNumber:
          type: string
        ExternalId:
          type: string
        StatusId:
          type: integer
          format: int32
        Void:
          type: boolean
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
        AssociateCustom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.AssociateCustomFields'
    DirectScale.Disco.Extension.Address:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        AddressLine1:
          type: string
        AddressLine2:
          type: string
        AddressLine3:
          type: string
        City:
          type: string
        State:
          type: string
        PostalCode:
          type: string
        CountryCode:
          type: string
    DirectScale.Disco.Extension.CustomFields:
      type: object
      properties:
        Field1:
          type: string
        Field2:
          type: string
        Field3:
          type: string
        Field4:
          type: string
        Field5:
          type: string
    DirectScale.Disco.Extension.AssociateCustomFields:
      type: object
      properties:
        Field6:
          type: string
        Field7:
          type: string
        Field8:
          type: string
        Field9:
          type: string
        Field10:
          type: string
        Field1:
          type: string
        Field2:
          type: string
        Field3:
          type: string
        Field4:
          type: string
        Field5:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.UpdateAssociateHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Associates.GetAssociateTreeLabelHookRequest:
      type: object
      properties:
        Associate:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
        CommissionStats:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Kpi'
    DirectScale.Disco.Extension.Kpi:
      type: object
      properties:
        Id:
          type: string
        PeriodId:
          type: integer
          format: int32
        Description:
          type: string
        Value:
          type: number
          format: double
        IsBool:
          type: boolean
        DisplayValue:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.GetAssociateTreeLabelHookResponse:
      type: object
      properties:
        TreeLabel:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.GetCommissionChecksHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        PaymentTypeFilter:
          type: array
          items:
            type: string
        PageSize:
          type: integer
          format: int32
        PageNumber:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Associates.GetCommissionChecksHookResponse:
      type: object
      properties:
        Checks:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionCheck'
        TotalChecks:
          type: integer
          format: int32
        PaymentTypeFilters:
          type: array
          items:
            type: string
    DirectScale.Disco.Extension.CommissionCheck:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        DatePaid:
          type: string
          format: date-time
        MerchantName:
          type: string
        MerchantId:
          type: integer
          format: int32
        TransactionNumber:
          type: string
        AmountPaid:
          type: number
          format: double
        ExchangeRate:
          type: number
          format: double
        ExchangeCurrencyCode:
          type: string
        PaymentTypes:
          type: array
          items:
            type: string
    DirectScale.Disco.Extension.Hooks.Associates.GetCommissionCheckDetailsHookRequest:
      type: object
      properties:
        TransactionNumber:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.GetCommissionCheckDetailsHookResponse:
      type: object
      properties:
        DatePaid:
          type: string
          format: date-time
        MerchantId:
          type: integer
          format: int32
        TransactionNumber:
          type: string
        CheckNumber:
          type: integer
          format: int32
        AmountPaid:
          type: number
          format: double
        AssociateId:
          type: integer
          format: int32
        Details:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionCheckDetail'
    DirectScale.Disco.Extension.CommissionCheckDetail:
      type: object
      properties:
        Description:
          type: string
        AmountEarned:
          type: number
          format: double
        Fees:
          type: number
          format: double
        Holding:
          type: number
          format: double
        AmountPaid:
          type: number
          format: double
        Period:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Period'
        OrderInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Contributor'
    DirectScale.Disco.Extension.Period:
      type: object
      properties:
        PeriodId:
          type: integer
          format: int32
        TemplateName:
          type: string
        TemplateRevision:
          type: string
        Begin:
          type: string
          format: date-time
        End:
          type: string
          format: date-time
        PeriodType:
          type: string
          enum:
          - All
          - Monthly
          - Weekly
          - Daily
          - Party
          - Quarterly
          - SemiMonthly
          - BiMonthly
          - FourWeek
          - TrailingDays
          - MovingDays
          - Other
        Details:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CommittedDetails'
        IsLocked:
          type: boolean
        IsCommitted:
          type: boolean
        Name:
          type: string
        TotalGv:
          type: number
          format: double
        TotalPaid:
          type: number
          format: double
        PercentPaid:
          type: number
          format: double
        TotalAssociates:
          type: integer
          format: int32
        TotalActive:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Contributor:
      type: object
      properties:
        ContributingAssociateId:
          type: integer
          format: int32
        Name:
          type: string
        OrderNumber:
          type: integer
          format: int32
        Volume:
          type: number
          format: double
        Amount:
          type: number
          format: double
        AssociateType:
          type: integer
          format: int32
    DirectScale.Disco.Extension.CommittedDetails:
      type: object
      properties:
        TotalGv:
          type: number
          format: double
        TotalPaid:
          type: number
          format: double
        PercentPaid:
          type: number
          format: double
        TotalAssociates:
          type: integer
          format: int32
        TotalActive:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Associates.GetAssociatesStatsHookRequest:
      type: object
      properties:
        AssociateIds:
          type: array
          items:
            type: integer
            format: int32
        Date:
          type: string
          format: date-time
    DirectScale.Disco.Extension.Hooks.Associates.GetAssociatesStatsHookResponse:
      type: object
      properties:
        Stats:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionStats'
    DirectScale.Disco.Extension.CommissionStats:
      type: object
      properties:
        AssociateID:
          type: integer
          format: int32
        AssociateName:
          type: string
        Period:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Period'
        Kpis:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Kpi'
        Ranks:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.RankSummary'
        PeriodKitLevels:
          type: array
          items:
            type: integer
            format: int32
        KitLevels:
          type: array
          items:
            type: integer
            format: int32
        KpiDetail:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Kpi'
    DirectScale.Disco.Extension.RankSummary:
      type: object
      properties:
        RankId:
          type: integer
          format: int32
        Groups:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.RankDetailGroup'
    DirectScale.Disco.Extension.RankDetailGroup:
      type: object
      properties:
        Details:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.RankDetail'
    DirectScale.Disco.Extension.RankDetail:
      type: object
      properties:
        RankId:
          type: integer
          format: int32
        Description:
          type: string
        MeetsCondition:
          type: boolean
        Min:
          type: number
          format: double
        Max:
          type: number
          format: double
        Value:
          type: number
          format: double
        RankRuleId:
          type: string
        Tree:
          type: string
          enum:
          - Enrollment
          - Unilevel
          - Binary
          - Matrix
        IsGvCondition:
          type: boolean
        MaxPerLeg:
          type: number
          format: float
        ConditionId:
          type: string
        PercentComplete:
          type: number
          format: double
        IsBool:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Associates.UpdateVolumeHookRequest:
      type: object
      properties:
        VolumeSource:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.VolumeSource'
        UpdateType:
          type: string
          enum:
          - UpdateVolume
          - RebuildStats
    DirectScale.Disco.Extension.VolumeSource:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        SourceId:
          type: integer
          format: int32
        SourceDate:
          type: string
          format: date-time
        ProcessTime:
          type: string
          format: date-time
    DirectScale.Disco.Extension.Hooks.Associates.UpdateVolumeHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Autoships.ApplyAutoshipCouponCodesHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NewOrderDetail'
        Associate:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
        OrderCoupons:
          type: array
          items:
            type: string
    DirectScale.Disco.Extension.NewOrderDetail:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        ShipToName:
          type: string
        Attention:
          type: string
        ShipAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        InvoiceDate:
          type: string
          format: date-time
        CommissionDate:
          type: string
          format: date-time
        ShipByDate:
          type: string
          format: date-time
        ShipMethodId:
          type: integer
          format: int32
        WarehouseId:
          type: integer
          format: int32
        ShipPhone:
          type: string
        PartyId:
          type: integer
          format: int32
        PriceGroupId:
          type: integer
          format: int32
        SpecialInstructions:
          type: string
        OrderSource:
          type: string
          enum:
          - Unknown
          - PublicApi
          - V1Api
          - V2Api
          - CorpAdmin
          - DataMigration
          - ImportOrder
          - Autoship
          - Facade
          - UnknownExtension
          - PublicApiExtension
          - V1ApiExtension
          - V2ApiExtension
          - CorpAdminExtension
          - ImportOrderExtension
          - AutoshipExtension
          - FacadeExtension
        OrderType:
          type: string
          enum:
          - Unknown
          - Standard
          - Autoship
          - Enrollment
          - VolumeAdjustment
        AssociateType:
          type: integer
          format: int32
        StoreId:
          type: integer
          format: int32
        CurrencyCode:
          type: string
        CouponCodes:
          type: array
          items:
            type: string
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItem'
        ShipTaxOverride:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.ShippingTaxOverride'
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
    DirectScale.Disco.Extension.LineItem:
      type: object
      properties:
        ItemId:
          type: integer
          format: int32
        Quantity:
          type: number
          format: double
        Cost:
          type: number
          format: double
        Disabled:
          type: boolean
        ExtendedPrice:
          type: number
          format: double
          readOnly: true
        ExtendedOriginalPrice:
          type: number
          format: double
          readOnly: true
        ExtendedBonus:
          type: number
          format: double
          readOnly: true
        ExtendedCV:
          type: number
          format: double
          readOnly: true
        ExtendedQV:
          type: number
          format: double
          readOnly: true
        ExtendedRewardPoints:
          type: number
          format: double
          readOnly: true
        ExtendedCost:
          type: number
          format: double
          readOnly: true
        ProductName:
          type: string
        Description:
          type: string
        Specifications:
          type: string
        LanguageCode:
          type: string
        SKU:
          type: string
        Category:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Category'
        ChargeShipping:
          type: boolean
        Height:
          type: number
          format: double
        Image:
          type: string
        Length:
          type: number
          format: double
        LengthUOM:
          type: string
        MPN:
          type: string
        PackCount:
          type: number
          format: double
        PackageGroupId:
          type: integer
          format: int32
        TaxClassId:
          type: integer
          format: int32
        UnitOfMeasure:
          type: string
        UPC:
          type: string
        Weight:
          type: number
          format: double
        WeightUOM:
          type: string
        Width:
          type: number
          format: double
        FlagBirthDefects:
          type: boolean
        HasKitGroups:
          type: boolean
        FlagCancer:
          type: boolean
        PriceGroup:
          type: integer
          format: int32
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
        Images:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.ItemImage'
        Prices:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItemPrice'
        Options:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItemOption'
        ItemOptions:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.ItemOption'
        Languages:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LanguageMap'
        OptionsMap:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.ItemOptionKeyMap'
        HasOptions:
          type: boolean
          readOnly: true
        Price:
          type: number
          format: double
          readOnly: true
        PriceCurrency:
          type: string
          readOnly: true
        OriginalPrice:
          type: number
          format: double
          readOnly: true
        Bonus:
          type: number
          format: double
          readOnly: true
        CV:
          type: number
          format: double
          readOnly: true
        QV:
          type: number
          format: double
          readOnly: true
        RewardPoints:
          type: number
          format: double
          readOnly: true
        CouponsBeingUsed:
          type: integer
          format: int32
        OutOfStockStatus:
          type: integer
          format: int32
        PriceGroups:
          type: array
          readOnly: true
          items:
            type: integer
            format: int32
    DirectScale.Disco.Extension.ShippingTaxOverride:
      type: object
      properties:
        Shipping:
          type: number
          format: double
        Tax:
          type: number
          format: double
        HasShippingOverride:
          type: boolean
        HasTaxOverride:
          type: boolean
    DirectScale.Disco.Extension.Category:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        Name:
          type: string
        CategoryTranslations:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CategoryTranslation'
        Description:
          type: string
        DisplayIndex:
          type: number
          format: double
        ImageUrl:
          type: string
        ParentId:
          type: integer
          format: int32
        ProductLineId:
          type: integer
          format: int32
        ShortDescription:
          type: string
        StoreIds:
          type: array
          items:
            type: integer
            format: int32
        HasChildren:
          type: boolean
    DirectScale.Disco.Extension.ItemImage:
      type: object
      properties:
        Description:
          type: string
        Path:
          type: string
    DirectScale.Disco.Extension.LineItemPrice:
      type: object
      properties:
        GroupId:
          type: integer
          format: int32
        Price:
          type: number
          format: double
        PriceCurrency:
          type: string
        OriginalPrice:
          type: number
          format: double
        Bonus:
          type: number
          format: double
        CV:
          type: number
          format: double
        QV:
          type: number
          format: double
        RewardPoints:
          type: number
          format: double
    DirectScale.Disco.Extension.LineItemOption:
      type: object
      properties:
        OptionId:
          type: integer
          format: int32
        Option:
          type: string
    DirectScale.Disco.Extension.ItemOption:
      type: object
      properties:
        OptionId:
          type: integer
          format: int32
        Option:
          type: string
        OptionType:
          type: integer
          format: int32
        Values:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.ItemOptionValues'
    DirectScale.Disco.Extension.LanguageMap:
      type: object
      properties:
        Description:
          type: string
        LanguageCode:
          type: string
        ProductName:
          type: string
        SEOKeywords:
          type: string
        Specifications:
          type: string
    DirectScale.Disco.Extension.ItemOptionKeyMap:
      type: object
      properties:
        Key:
          type: string
        Checked:
          type: boolean
        ItemId:
          type: integer
          format: int32
        Image:
          type: string
        ExtSku:
          type: string
    DirectScale.Disco.Extension.CategoryTranslation:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        CategoryId:
          type: integer
          format: int32
        Description:
          type: string
        Name:
          type: string
        LanguageCode:
          type: string
    DirectScale.Disco.Extension.ItemOptionValues:
      type: object
      properties:
        Option:
          type: string
        SkuExt:
          type: string
    DirectScale.Disco.Extension.Hooks.Autoships.ApplyAutoshipCouponCodesHookResponse:
      type: object
      properties:
        CouponCodes:
          type: array
          items:
            type: string
    DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipsHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        IncludeServiceAutoships:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipsHookResponse:
      type: object
      properties:
        Autoships:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
    DirectScale.Disco.Extension.Autoship:
      type: object
      properties:
        AutoshipId:
          type: integer
          format: int32
        AssociateId:
          type: integer
          format: int32
        ShipAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        StartDate:
          type: string
          format: date-time
        Frequency:
          type: string
          enum:
          - Weekly
          - EveryTwoWeeks
          - Monthly
          - BiMonthly
          - TriMonthly
          - TwiceAYear
          - Yearly
          - Every4weeks
          - Every6Weeks
          - Every8Weeks
          - Every12Weeks
          - Every30Days
          - Every45Days
          - Every60Days
        LastProcessDate:
          type: string
          format: date-time
        NextProcessDate:
          type: string
          format: date-time
        LastChargeAmount:
          type: number
          format: double
        Status:
          type: string
        ShipMethodId:
          type: integer
          format: int32
        PaymentMethodId:
          type: string
        PaymentMerchantId:
          type: integer
          format: int32
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
        AutoshipType:
          type: string
          enum:
          - Standard
          - Services
          - YearlyRenewal
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItem'
        FrequencyString:
          type: string
        TotalCV:
          type: number
          format: double
          readOnly: true
        TotalQV:
          type: number
          format: double
          readOnly: true
        CurrencyCode:
          type: string
        SubTotal:
          type: number
          format: double
          readOnly: true
    DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipBackupPaymentHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        BackupMerchantId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Autoships.GetAutoshipBackupPaymentHookResponse:
      type: object
      properties:
        PaymentMethod:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.PaymentMethod'
    DirectScale.Disco.Extension.PaymentMethod:
      type: object
      properties:
        PaymentId:
          type: integer
          format: int32
        PaymentMethodId:
          type: string
        MerchantId:
          type: integer
          format: int32
        CurrencyCode:
          type: string
        Name:
          type: string
        FirstSix:
          type: string
        Ending:
          type: string
        Expires:
          type: string
          format: date-time
        NameOnAccount:
          type: string
        IconClass:
          type: string
        CanDelete:
          type: boolean
        ProfileType:
          type: string
          enum:
          - Unknown
          - DoNotSave
          - Primary
          - Secondary
          - OneTimeUse
          - Redirect
        CanGetBalance:
          type: boolean
        AssociateId:
          type: integer
          format: int32
        BillingInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.PaymentMethodBillingInfo'
    DirectScale.Disco.Extension.PaymentMethodBillingInfo:
      type: object
      properties:
        PaymentMethodId:
          type: integer
          format: int32
        Address:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        FirstName:
          type: string
        LastName:
          type: string
        FullName:
          type: string
        EmailAddress:
          type: string
        PhoneNumber:
          type: string
    DirectScale.Disco.Extension.Hooks.Autoships.CancelAutoshipHookRequest:
      type: object
      properties:
        AutoshipInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
        Message:
          type: string
    DirectScale.Disco.Extension.Hooks.Autoships.CancelAutoshipHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Autoships.ShouldRetryAutoshipOrderHookRequest:
      type: object
      properties:
        RetryDate:
          type: string
          format: date-time
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        Autoship:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
    DirectScale.Disco.Extension.Order:
      type: object
      properties:
        BackofficeId:
          type: string
        LastModifiedDate:
          type: string
          format: date-time
        BillPhone:
          type: string
        CommissionDate:
          type: string
          format: date-time
        AssociateId:
          type: integer
          format: int32
        Email:
          type: string
        InvoiceDate:
          type: string
          format: date-time
        LocalInvoiceNumber:
          type: integer
          format: int32
        Name:
          type: string
        OrderDate:
          type: string
          format: date-time
        OrderType:
          type: string
          enum:
          - Unknown
          - Standard
          - Autoship
          - Enrollment
          - VolumeAdjustment
        OrderSource:
          type: string
          enum:
          - Unknown
          - PublicApi
          - V1Api
          - V2Api
          - CorpAdmin
          - DataMigration
          - ImportOrder
          - Autoship
          - Facade
          - UnknownExtension
          - PublicApiExtension
          - V1ApiExtension
          - V2ApiExtension
          - CorpAdminExtension
          - ImportOrderExtension
          - AutoshipExtension
          - FacadeExtension
        OrderNumber:
          type: integer
          format: int32
        PriceGroupId:
          type: integer
          format: int32
        SpecialInstructions:
          type: string
        Status:
          type: string
        TotalBonus:
          type: number
          format: double
        TotalCost:
          type: number
          format: double
        TotalCV:
          type: number
          format: double
        TotalQV:
          type: number
          format: double
        TotalRewardPoints:
          type: number
          format: double
        Void:
          type: boolean
        BillAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        PartyId:
          type: integer
          format: int32
        IsPaid:
          type: boolean
        IsShipped:
          type: boolean
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
        CanRerun:
          type: boolean
          readOnly: true
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderLineItem'
        Packages:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderPackage'
        Totals:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderTotal'
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderPayment'
        OrderCoupons:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderCoupon'
        USDSubTotal:
          type: number
          format: double
          readOnly: true
        USDTotal:
          type: number
          format: double
          readOnly: true
        IsMoveable:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.MoveOrderPermission'
    DirectScale.Disco.Extension.OrderLineItem:
      type: object
      properties:
        Amount:
          type: number
          format: double
        Bonus:
          type: number
          format: double
        CategoryId:
          type: integer
          format: int32
        Cost:
          type: number
          format: double
        CurrencyCode:
          type: string
        DiscountId:
          type: integer
          format: int32
        Height:
          type: number
          format: double
        Length:
          type: number
          format: double
        OrderNumber:
          type: integer
          format: int32
        PackageNumber:
          type: integer
          format: int32
        CV:
          type: number
          format: double
        QV:
          type: number
          format: double
        RewardPoints:
          type: number
          format: double
        Qty:
          type: number
          format: double
        SKU:
          type: string
        ItemId:
          type: integer
          format: int32
        ProductName:
          type: string
        Weight:
          type: number
          format: double
        Width:
          type: number
          format: double
        FlagCancer:
          type: boolean
        FlagBirthDefects:
          type: boolean
        HasKitGroups:
          type: boolean
        Image:
          type: string
        OptionKey:
          type: string
    DirectScale.Disco.Extension.OrderPackage:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        AssociateId:
          type: integer
          format: int32
        ShippingAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        Carrier:
          type: string
        DateShipped:
          type: string
          format: date-time
        Height:
          type: number
          format: double
        Length:
          type: number
          format: double
        Notes:
          type: string
        OrderNumber:
          type: integer
          format: int32
        OrderDate:
          type: string
          format: date-time
        ShipByDate:
          type: string
          format: date-time
        ShipMethodId:
          type: integer
          format: int32
        TrackingNumber:
          type: string
        WarehouseId:
          type: integer
          format: int32
        Weight:
          type: number
          format: double
        Width:
          type: number
          format: double
        PickPrinted:
          type: boolean
        PackPrinted:
          type: boolean
        PrintedDate:
          type: string
          format: date-time
        RMANumber:
          type: string
        ReturnDate:
          type: string
          format: date-time
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderLineItem'
        ExternalSyncId:
          type: number
          format: double
        IsPrinted:
          type: boolean
          readOnly: true
        IsShipped:
          type: boolean
          readOnly: true
        IsRMA:
          type: boolean
          readOnly: true
        IsReturned:
          type: boolean
          readOnly: true
        ShipTo:
          type: string
        Status:
          type: string
          readOnly: true
        ShipMethodDescription:
          type: string
    DirectScale.Disco.Extension.OrderTotal:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        TaxableSubTotal:
          type: number
          format: double
        CurrencyCode:
          type: string
        ExchangeRate:
          type: number
          format: double
        OrderNumber:
          type: integer
          format: int32
        Shipping:
          type: number
          format: double
        SubTotal:
          type: number
          format: double
        Tax:
          type: number
          format: double
        TaxInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxResult'
        TaxTransactionId:
          type: string
        TaxProvider:
          type: string
          enum:
          - None
          - ZipToTax
          - Squire
          - Avalara
          - TaxJar
          - DirectScale
        DiscountTotal:
          type: number
          format: double
        Coupons:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderCoupons'
        CurrencySymbol:
          type: string
        OverridenShippingTax:
          type: boolean
        Total:
          type: number
          format: double
          readOnly: true
        PaidAmount:
          type: number
          format: double
        TotalDue:
          type: number
          format: double
          readOnly: true
    DirectScale.Disco.Extension.OrderPayment:
      type: object
      properties:
        PaymentId:
          type: integer
          format: int32
        Amount:
          type: number
          format: double
        AuthorizationNumber:
          type: string
        TransactionNumber:
          type: string
        CreatedDate:
          type: string
          format: date-time
        CurrencyCode:
          type: string
        ExchangeRate:
          type: number
          format: double
        Merchant:
          type: integer
          format: int32
        OrderNumber:
          type: integer
          format: int32
        PayDate:
          type: string
          format: date-time
        PaymentResponse:
          type: string
        PayType:
          type: string
        Reference:
          type: string
        SpecialInstructionsURL:
          type: string
        FraudPreventionId:
          type: string
        FraudPreventionProviderId:
          type: string
        SavedPaymentId:
          type: integer
          format: int32
        Status:
          type: string
          readOnly: true
        PaymentStatus:
          type: string
        IsPaid:
          type: boolean
          readOnly: true
        IsPending:
          type: boolean
          readOnly: true
        IsPendingFraudReview:
          type: boolean
          readOnly: true
        IsPendingPreCheck:
          type: boolean
          readOnly: true
        IsFraudRejected:
          type: boolean
          readOnly: true
        IsRedirect:
          type: boolean
          readOnly: true
        IsRejected:
          type: boolean
          readOnly: true
        IsNotProvided:
          type: boolean
          readOnly: true
    DirectScale.Disco.Extension.OrderCoupon:
      type: object
      properties:
        Info:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Coupon'
        OrderId:
          type: integer
          format: int32
        DateUsed:
          type: string
          format: date-time
        DiscountAmount:
          type: number
          format: double
    DirectScale.Disco.Extension.MoveOrderPermission:
      type: object
      properties:
        IsOrderMovable:
          type: boolean
        MessageType:
          type: string
          enum:
          - None
          - Information
          - Warning
          - Error
        Message:
          type: string
    DirectScale.Disco.Extension.TaxResult:
      type: object
      properties:
        TransactionId:
          type: string
        RefundTransactionId:
          type: string
        TaxProvider:
          type: string
          enum:
          - None
          - ZipToTax
          - Squire
          - Avalara
          - TaxJar
          - DirectScale
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxResultItem'
        TaxAmount:
          type: number
          format: double
        TaxRate:
          type: number
          format: double
        ShippingAmount:
          type: number
          format: double
    DirectScale.Disco.Extension.OrderCoupons:
      type: object
      properties:
        DiscountTotal:
          type: number
          format: double
        UsedCoupons:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderCoupon'
    DirectScale.Disco.Extension.Coupon:
      type: object
      properties:
        CouponId:
          type: integer
          format: int32
        Code:
          type: string
        AmountType:
          type: string
          enum:
          - Percent
          - Amount
        Discount:
          type: number
          format: double
        BeginDate:
          type: string
          format: date-time
        EndDate:
          type: string
          format: date-time
        CouponType:
          type: string
          enum:
          - ItemDiscount
          - OrderDiscount
          - ShippingDiscount
        OrderType:
          type: string
          enum:
          - Unknown
          - Standard
          - Autoship
          - Enrollment
          - VolumeAdjustment
        OrderTypes:
          type: array
          items:
            type: string
            enum:
            - Unknown
            - Standard
            - Autoship
            - Enrollment
            - VolumeAdjustment
        MinQty:
          type: number
          format: double
        Recurring:
          type: boolean
        AllItemIdsRequired:
          type: boolean
        AppliedItemIds:
          type: array
          items:
            type: integer
            format: int32
        RegionIds:
          type: array
          items:
            type: integer
            format: int32
        AssociateIds:
          type: array
          items:
            type: integer
            format: int32
        BackOfficeIds:
          type: array
          items:
            type: string
        PriceGroupIds:
          type: array
          items:
            type: integer
            format: int32
        Description:
          type: string
          readOnly: true
        CodeDisplay:
          type: string
          readOnly: true
        DescriptionWithCode:
          type: string
          readOnly: true
        DescriptionWithIdAndCode:
          type: string
          readOnly: true
    DirectScale.Disco.Extension.TaxResultItem:
      type: object
      properties:
        Detail:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxResultDetail'
        ItemId:
          type: integer
          format: int32
        TaxRate:
          type: number
          format: double
          readOnly: true
        TaxAmount:
          type: number
          format: double
          readOnly: true
        Street:
          type: string
          readOnly: true
        City:
          type: string
          readOnly: true
        County:
          type: string
          readOnly: true
        State:
          type: string
          readOnly: true
        Country:
          type: string
          readOnly: true
        Zip:
          type: string
          readOnly: true
        WarehouseAddressId:
          type: integer
          format: int32
          readOnly: true
    DirectScale.Disco.Extension.TaxResultDetail:
      type: object
      properties:
        TaxRate:
          type: number
          format: double
        TaxAmount:
          type: number
          format: double
        Street:
          type: string
        City:
          type: string
        County:
          type: string
        State:
          type: string
        Country:
          type: string
        Zip:
          type: string
        WarehouseAddressId:
          type: integer
          format: int32
        AuthorityLevel:
          type: string
        AuthorityName:
          type: string
    DirectScale.Disco.Extension.Hooks.Autoships.ShouldRetryAutoshipOrderHookResponse:
      type: object
      properties:
        RetryRule:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.RetryRule'
    DirectScale.Disco.Extension.RetryRule:
      type: object
      properties:
        Charge:
          type: boolean
        AssociateStatusId:
          type: integer
          format: int32
        SendEmail:
          type: boolean
        Cancel:
          type: boolean
        NotificationCount:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Autoships.CreateAutoshipHookRequest:
      type: object
      properties:
        AutoshipInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
    DirectScale.Disco.Extension.Hooks.Autoships.CreateAutoshipHookResponse:
      type: object
      properties:
        AutoshipId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Autoships.UpdateAutoshipHookRequest:
      type: object
      properties:
        AutoshipInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
    DirectScale.Disco.Extension.Hooks.Autoships.UpdateAutoshipHookResponse:
      type: object
      properties:
        AutoshipId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Autoships.ShouldChargeAutoshipHookRequest:
      type: object
      properties:
        Now:
          type: string
          format: date-time
        Autoship:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
    DirectScale.Disco.Extension.Hooks.Autoships.ShouldChargeAutoshipHookResponse:
      type: object
      properties:
        RetryRule:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.RetryRule'
    DirectScale.Disco.Extension.Hooks.Autoships.DailyRunHookRequest:
      type: object
    DirectScale.Disco.Extension.Hooks.Autoships.DailyRunHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Commissions.GetSplitPaymentsHookRequest:
      type: object
    DirectScale.Disco.Extension.Hooks.Commissions.GetSplitPaymentsHookResponse:
      type: object
      properties:
        SplitPayments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionPaymentSplit'
    DirectScale.Disco.Extension.CommissionPaymentSplit:
      type: object
      properties:
        FromAssociateId:
          type: integer
          format: int32
        ToAssociateId:
          type: integer
          format: int32
        Percent:
          type: number
          format: double
        Comment:
          type: string
    DirectScale.Disco.Extension.Hooks.Commissions.AfterCommissionBonusDetailsHookModel:
      type: object
      properties:
        Detail:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.BonusDetail'
        TotalRecordCount:
          type: integer
          format: int32
        PageRecordCount:
          type: integer
          format: int32
    DirectScale.Disco.Extension.BonusDetail:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        PeriodId:
          type: integer
          format: int32
        BonusId:
          type: string
        BonusDescription:
          type: string
        Amount:
          type: number
          format: double
        Columns:
          type: object
          additionalProperties:
            type: object
            properties: {}
    DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionBonusDetailsHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        PeriodId:
          type: integer
          format: int32
        BonusId:
          type: string
    DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionBonusDetailsHookResponse:
      type: object
      properties:
        HistoryDetails:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionHistoryDetail'
    DirectScale.Disco.Extension.CommissionHistoryDetail:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        CommissionPeriodId:
          type: integer
          format: int32
        PaymentGroup:
          type: string
        Amount:
          type: number
          format: double
        Comment:
          type: string
        EarnedFromName:
          type: string
        EarnedFromId:
          type: integer
          format: int32
        SubGroup:
          type: string
        Status:
          type: string
          enum:
          - Available
          - Deferred
          - Processed
          - Cancelled
          - UseAccountStatus
          - Held
        Contributors:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Contributor'
        TotalPaid:
          type: number
          format: double
        ExchangeRate:
          type: number
          format: double
        CurrencyCode:
          type: string
    DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionDetailsHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Periodtypeid:
          type: integer
          format: int32
        PeriodId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Commissions.GetCommissionDetailsHookResponse:
      type: object
      properties:
        PaidRank:
          type: integer
          format: int32
        PaidRankDescription:
          type: string
        PaidDate:
          type: string
          format: date-time
        Bonuses:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.BonusDetail'
        Details:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.PeriodData'
    DirectScale.Disco.Extension.Hooks.Commissions.PeriodData:
      type: object
      properties:
        PeriodId:
          type: integer
          format: int32
        PeriodDescription:
          type: string
        PeriodTypeId:
          type: integer
          format: int32
        StartDate:
          type: string
          format: date-time
        EndDate:
          type: string
          format: date-time
        Total:
          type: number
          format: double
        Earnings:
          type: number
          format: double
        PreviousBalance:
          type: number
          format: double
        Fee:
          type: number
          format: double
        PaidAsRank:
          type: integer
          format: int32
        PaidAsRankDescription:
          type: string
    DirectScale.Disco.Extension.Hooks.Commissions.GetBonusDetailDataHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        PeriodId:
          type: integer
          format: int32
        BonusId:
          type: string
        Details:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionHistoryDetail'
    DirectScale.Disco.Extension.Hooks.Commissions.GetBonusDetailDataHookResponse:
      type: object
      properties:
        BonusDetail:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.BonusDetail'
    DirectScale.Disco.Extension.Hooks.Commissions.MatchRuleForVisualTreeHookRequest:
      type: object
      properties:
        Stats:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CommissionStats'
    DirectScale.Disco.Extension.Hooks.Commissions.MatchRuleForVisualTreeHookResponse:
      type: object
      properties:
        IsMatch:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Commissions.CanViewDownlineNodeHookRequest:
      type: object
      properties:
        CallingNodeId:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NodeId'
        ChildNodeId:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NodeId'
    DirectScale.Disco.Extension.NodeId:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        TreeIndex:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Commissions.CanViewDownlineNodeHookResponse:
      type: object
      properties:
        CanViewNode:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Commissions.CanPlaceAssociateHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Associate:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
        Tree:
          type: string
          enum:
          - Enrollment
          - Unilevel
          - Binary
          - Matrix
    DirectScale.Disco.Extension.Hooks.Commissions.CanPlaceAssociateHookResponse:
      type: object
      properties:
        CanPlaceAssociate:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Commissions.GetPlaceToAssociatesHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Tree:
          type: string
          enum:
          - Enrollment
          - Unilevel
          - Binary
          - Matrix
    DirectScale.Disco.Extension.Hooks.Commissions.GetPlaceToAssociatesHookResponse:
      type: object
      properties:
        PlaceToAssociates:
          type: array
          items:
            type: integer
            format: int32
        PlacementDetails:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Commissions.PlacementDetail'
    DirectScale.Disco.Extension.Hooks.Commissions.PlacementDetail:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        LegsAvailable:
          type: array
          items:
            type: string
    DirectScale.Disco.Extension.Hooks.Commissions.GetPlacementExpirationDatesHookRequest:
      type: object
      properties:
        Associates:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
        Tree:
          type: string
          enum:
          - Enrollment
          - Unilevel
          - Binary
          - Matrix
    DirectScale.Disco.Extension.Hooks.Commissions.GetPlacementExpirationDatesHookResponse:
      type: object
      properties:
        ExpirationDates:
          type: object
          additionalProperties:
            type: string
            format: date-time
    DirectScale.Disco.Extension.Hooks.Commissions.LogRealtimeRankAdvanceHookRequest:
      type: object
      properties:
        Period:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Period'
        Kpis:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Kpi'
        AssociateId:
          type: integer
          format: int32
        OldRank:
          type: integer
          format: int32
        NewRank:
          type: integer
          format: int32
        Date:
          type: string
          format: date-time
    DirectScale.Disco.Extension.Hooks.Commissions.LogRealtimeRankAdvanceHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.EmailHooks.WelcomeCustomerTemplateRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
    DirectScale.Disco.Extension.Localization:
      type: object
      properties:
        CountryCode:
          type: string
        LanguageCode:
          type: string
        CurrencyCode:
          type: string
        RegionId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.EmailHooks.EmailTemplateResponse:
      type: object
      properties:
        EmailMessage:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.EmailMessage'
    DirectScale.Disco.Extension.EmailMessage:
      type: object
      properties:
        Subject:
          type: string
        Body:
          type: string
    DirectScale.Disco.Extension.Hooks.EmailHooks.WelcomeDistributoremplateRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
    DirectScale.Disco.Extension.Hooks.EmailHooks.AutoshipFailedRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
        AutoshipId:
          type: integer
          format: int32
        OnFailRule:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.RetryRule'
        Message:
          type: string
    DirectScale.Disco.Extension.Hooks.EmailHooks.OrderRecieptRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
        OrderNumber:
          type: integer
          format: int32
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
    DirectScale.Disco.Extension.Hooks.EmailHooks.OrderFailedRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
        OrderNumber:
          type: integer
          format: int32
        Message:
          type: string
    DirectScale.Disco.Extension.Hooks.EmailHooks.SubscriptionAboutToExpireRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
        SubscriptionId:
          type: integer
          format: int32
        RetryCount:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.EmailHooks.SubscriptionExpireRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Localization:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Localization'
        SubscriptionId:
          type: integer
          format: int32
        RetryCount:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ModifyTransactionHookRequest:
      type: object
      properties:
        Options:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ProcessingOptions'
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        Payment:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ProcessingOptions:
      type: object
      properties:
        CheckFraud:
          type: boolean
        VerifyCvc:
          type: boolean
        VerifyAvs:
          type: integer
          format: int32
        MerchantId:
          type: string
        PaymentOptionTag:
          type: string
    DirectScale.Disco.Extension.NewPayment:
      type: object
      properties:
        Input1:
          type: string
        Input2:
          type: string
        FirstSix:
          type: string
        Last4:
          type: string
        CardType:
          type: string
        InputMonth:
          type: integer
          format: int32
        InputYear:
          type: integer
          format: int32
        SecurityCode:
          type: string
        MerchantId:
          type: integer
          format: int32
        Amount:
          type: number
          format: double
        CurrencyCode:
          type: string
        OrderPaymentId:
          type: integer
          format: int32
        RedirectUrl:
          type: string
        PaymentMethodId:
          type: string
        ProfileType:
          type: string
          enum:
          - Unknown
          - DoNotSave
          - Primary
          - Secondary
          - OneTimeUse
          - Redirect
        FraudPreventionData:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.FraudPreventionData'
        ExpireDate:
          type: string
          format: date-time
        Address:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        BillingInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.PaymentMethodBillingInfo'
    DirectScale.Disco.Extension.FraudPreventionData:
      type: object
      properties:
        FraudPreventionId:
          type: string
        FraudPreventionProviderId:
          type: string
        FraudPreventionType:
          type: string
          enum:
          - PhoneOrder
          - Autoship
          - CloudSparkOrder
          - PublicApi
          - Enrollment
        IpAddress:
          type: string
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ModifyTransactionHookResponse:
      type: object
      properties:
        ProcessingOptions:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Emvio.ProcessingOptions'
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.SetBackOfficeIdHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        AssociateBaseType:
          type: integer
          format: int32
        EnrollerId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.SetBackOfficeIdHookResponse:
      type: object
      properties:
        BackOfficeId:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.WriteApplicationHookRequest:
      type: object
      properties:
        Application:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Application'
        SendEmails:
          type: boolean
    DirectScale.Disco.Extension.Application:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.ApplicationOrder'
        Autoship:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Autoship'
        RoutingInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Routing'
        AssociateId:
          type: integer
          format: int32
        IsAssociateUpgrade:
          type: boolean
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
        AssociateCustom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.AssociateCustomFields'
        ProductLine:
          type: integer
          format: int32
        AcceptTerms:
          type: boolean
        FirstName:
          type: string
        LastName:
          type: string
        RomanizedFirstName:
          type: string
        RomanizedLastName:
          type: string
        LegalFirstName:
          type: string
        LegalLastName:
          type: string
        CompanyName:
          type: string
        ExternalId:
          type: string
        BackOfficeId:
          type: string
        TaxId:
          type: string
        BirthDate:
          type: string
          format: date-time
        SignupDate:
          type: string
          format: date-time
        OrderSource:
          type: string
          enum:
          - Unknown
          - PublicApi
          - V1Api
          - V2Api
          - CorpAdmin
          - DataMigration
          - ImportOrder
          - Autoship
          - Facade
          - UnknownExtension
          - PublicApiExtension
          - V1ApiExtension
          - V2ApiExtension
          - CorpAdminExtension
          - ImportOrderExtension
          - AutoshipExtension
          - FacadeExtension
        PrimaryPhone:
          type: string
        SecondaryPhone:
          type: string
        TextNumber:
          type: string
        SubscribeToCorporateEmails:
          type: boolean
        SubscribeToCorporateTexts:
          type: boolean
        EmailAddress:
          type: string
        Username:
          type: string
        Password:
          type: string
        LanguageCode:
          type: string
        ApplicantAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        ShippingAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        ShipToFirstName:
          type: string
        ShipToLastName:
          type: string
        AssociateBaseType:
          type: integer
          format: int32
        LegName:
          type: string
        SponsorId:
          type: integer
          format: int32
        PartyId:
          type: integer
          format: int32
        Placements:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Placement'
        WebPageURL:
          type: string
        WebPageItemId:
          type: integer
          format: int32
        CouponCodes:
          type: array
          items:
            type: string
        StatusId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.ApplicationOrder:
      type: object
      properties:
        CurrencyCode:
          type: string
        StoreId:
          type: integer
          format: int32
        OrderType:
          type: integer
          format: int32
        ShipMethod:
          type: integer
          format: int32
        KitItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItem'
        Items:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItem'
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
        Custom:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
    DirectScale.Disco.Extension.Routing:
      type: object
      properties:
        MerchantId:
          type: string
        BankId:
          type: string
        BranchId:
          type: string
        NameOnAccount:
          type: string
        AccountNumber:
          type: string
    DirectScale.Disco.Extension.Placement:
      type: object
      properties:
        Tree:
          type: string
          enum:
          - Enrollment
          - Unilevel
          - Binary
          - Matrix
        Action:
          type: string
          enum:
          - PlaceExact
          - PlaceAvailable
          - Delete
        NodeDetail:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NodeDetail'
    DirectScale.Disco.Extension.NodeDetail:
      type: object
      properties:
        NodeId:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NodeId'
        UplineId:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NodeId'
        UplineLeg:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.LegName'
        Level:
          type: integer
          format: int32
    DirectScale.Disco.Extension.LegName:
      type: object
      properties:
        Value:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.WriteApplicationHookResponse:
      type: object
      properties:
        ApplicationResponse:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.ApplicationResponse'
        ModifiedApplicationFields:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ModifiedApplicationFields'
    DirectScale.Disco.Extension.ApplicationResponse:
      type: object
      properties:
        PaymentStatus:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.PaymentResponse'
        AssociateId:
          type: integer
          format: int32
        BackOfficeId:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ModifiedApplicationFields:
      type: object
      properties:
        WebPageURL:
          type: string
        LegalFirstName:
          type: string
        LegalLastName:
          type: string
        BirthDate:
          type: string
          format: date-time
        SignupDate:
          type: string
          format: date-time
        ShippingAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
    DirectScale.Disco.Extension.PaymentResponse:
      type: object
      properties:
        PaymentType:
          type: string
        AuthorizationCode:
          type: string
        Response:
          type: string
        ResponseId:
          type: string
        TransactionNumber:
          type: string
        ReferenceNumber:
          type: string
        Status:
          type: string
          enum:
          - Accepted
          - Pending
          - Rejected
          - NotProvided
          - PendingPreCheck
          - PendingFraudReview
          - FraudRejected
        Amount:
          type: number
          format: double
        Currency:
          type: string
        Merchant:
          type: integer
          format: int32
        FraudPreventionId:
          type: string
        FraudPreventionProviderId:
          type: integer
          format: int32
        OrderNumber:
          type: integer
          format: int32
        Redirect:
          type: boolean
        RedirectURL:
          type: string
        SpecialInstructionsURL:
          type: string
        SavedPaymentId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ValidateApplicationHookRequest:
      type: object
      properties:
        Application:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Application'
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ValidateApplicationHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsEmailAvailableHookRequest:
      type: object
      properties:
        EmailAddress:
          type: string
        AssociateId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsEmailAvailableHookResponse:
      type: object
      properties:
        IsAvailable:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsTaxIdAvailableHookRequest:
      type: object
      properties:
        TaxId:
          type: string
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.IsTaxIdAvailableHookResponse:
      type: object
      properties:
        Available:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.UpdateAssociateBaseTypeHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        Application:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Application'
        SendEmails:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.UpdateAssociateBaseTypeHookResponse:
      type: object
      properties:
        ApplicationResponse:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.ApplicationResponse'
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ShouldSendNotificationHookRequest:
      type: object
      properties:
        Application:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Application'
    DirectScale.Disco.Extension.Hooks.Associates.Enrollment.ShouldSendNotificationHookResponse:
      type: object
      properties:
        SendNotification:
          type: boolean
    DirectScale.Disco.Extension.Hooks.FraudPrevention.GetOrderPaymentToReviewHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.FraudPrevention.GetOrderPaymentToReviewHookResponse:
      type: object
      properties:
        PaymentInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.FraudPrevention.GetPreCheckHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        ShipMethodId:
          type: integer
          format: int32
        LanguageCode:
          type: string
        payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.FraudPrevention.GetPreCheckHookResponse:
      type: object
      properties:
        Status:
          type: string
          enum:
          - Pass
          - Fail
          - Review
        Payment:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.PaymentResponse'
    DirectScale.Disco.Extension.Hooks.FraudPrevention.ParseCallbackDataHookRequest:
      type: object
      properties:
        CallbackData:
          type: object
          properties: {}
    DirectScale.Disco.Extension.Hooks.FraudPrevention.ParseCallbackDataHookResponse:
      type: object
      properties:
        Data:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.FraudPreventionCallback'
    DirectScale.Disco.Extension.FraudPreventionCallback:
      type: object
      properties:
        OrderNumber:
          type: integer
          format: int32
        TransactionId:
          type: string
        Status:
          type: string
        DateOccurred:
          type: string
          format: date-time
    DirectScale.Disco.Extension.Hooks.FraudPrevention.GetFraudPreventionInfoHookRequest:
      type: object
    DirectScale.Disco.Extension.Hooks.FraudPrevention.GetFraudPreventionInfoHookResponse:
      type: object
      properties:
        Info:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.FraudPreventionInfo'
    DirectScale.Disco.Extension.FraudPreventionInfo:
      type: object
      properties:
        ProviderId:
          type: integer
          format: int32
        ClientSideCode:
          type: string
        FraudPreventionId:
          type: string
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Hyperwallet.GetProgramTokenHookRequest:
      type: object
      properties:
        Region:
          type: string
        Action:
          type: string
          enum:
          - CreateAccount
          - PayCommission
          - TakePayment
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.Hyperwallet.GetProgramTokenHookResponse:
      type: object
      properties:
        ProgramToken:
          type: string
    DirectScale.Disco.Extension.Hooks.Inventory.ReceiveHookRequest:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        Type:
          type: integer
          format: int32
        Items:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.ReceiveLineInfo'
    DirectScale.Disco.Extension.ReceiveLineInfo:
      type: object
      properties:
        ItemId:
          type: integer
          format: int32
        QtyReceived:
          type: integer
          format: int32
        QtyDamaged:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Inventory.ReceiveHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Merchants.Fraud.Kount.GetUserDefinedFieldsHookRequest:
      type: object
      properties:
        KountMerchantId:
          type: integer
          format: int32
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        Payment:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
        IpAddress:
          type: string
        Associate:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Associate'
    DirectScale.Disco.Extension.Hooks.Merchants.Fraud.Kount.GetUserDefinedFieldsHookResponse:
      type: object
      properties:
        UserDefinedFields:
          type: object
          additionalProperties:
            type: string
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.DeletePaymentMethodHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        MerchantId:
          type: integer
          format: int32
        PaymentMethodId:
          type: string
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyIn.DeletePaymentMethodHookResponse:
      type: object
      properties:
        Message:
          type: string
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.SaveAdjustmentsHookRequest:
      type: object
      properties:
        Adjustments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Adjustment'
        SingleAdjustmentOnly:
          type: boolean
    DirectScale.Disco.Extension.Adjustment:
      type: object
      properties:
        AdjustmentId:
          type: integer
          format: int32
        AssociateId:
          type: integer
          format: int32
        Description:
          type: string
        Amount:
          type: number
          format: float
        IsTaxable:
          type: boolean
        ApprovedBy:
          type: string
        ApprovedOn:
          type: string
          format: date-time
        Notes:
          type: string
        CustomData:
          type: object
          additionalProperties:
            type: string
        PaymentStatus:
          type: string
          enum:
          - Submitted
          - Pending
          - Paid
          - Failed
          - Expired
          - ForcePay
          - ForceHold
          - ForceForfeit
    DirectScale.Disco.Extension.Hooks.Merchants.MoneyOut.SaveAdjustmentsHookResponse:
      type: object
      properties:
        Adjustments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Adjustment'
    DirectScale.Disco.Extension.Hooks.Orders.FinalizeAcceptedOrderHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
    DirectScale.Disco.Extension.Hooks.Orders.FinalizeAcceptedOrderHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.FinalizeNonAcceptedOrderHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
    DirectScale.Disco.Extension.Hooks.Orders.FinalizeNonAcceptedOrderHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.FullRefundOrderHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
    DirectScale.Disco.Extension.Hooks.Orders.FullRefundOrderHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.RefundPaymentHookRequest:
      type: object
      properties:
        OrderNumber:
          type: integer
          format: int32
        Refunds:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.Refund'
    DirectScale.Disco.Extension.Refund:
      type: object
      properties:
        PaymentId:
          type: integer
          format: int32
        Amount:
          type: number
          format: double
        ManualRefund:
          type: boolean
        ManualTransactionId:
          type: string
    DirectScale.Disco.Extension.Hooks.Orders.RefundPaymentHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.AdjustNewOrderPaymentsHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        NewOrderPayments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.Orders.AdjustNewOrderPaymentsHookResponse:
      type: object
      properties:
        Payment:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.Orders.SubmitOrderHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NewOrderDetail'
    DirectScale.Disco.Extension.Hooks.Orders.SubmitOrderHookResponse:
      type: object
      properties:
        OrderNumber:
          type: integer
          format: int32
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.NewOrderDetail'
    DirectScale.Disco.Extension.Hooks.Orders.MoveOrderHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        IsOrderLocked:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Orders.MoveOrderHookResponse:
      type: object
      properties:
        MoveOrderPermission:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.MoveOrderPermission'
    DirectScale.Disco.Extension.Hooks.Orders.ImportOrderHookRequest:
      type: object
      properties:
        AssociateId:
          type: integer
          format: int32
        ShipAddress:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        InvoiceDate:
          type: string
          format: date-time
        CommissionDate:
          type: string
          format: date-time
        OrderSource:
          type: string
          enum:
          - Unknown
          - PublicApi
          - V1Api
          - V2Api
          - CorpAdmin
          - DataMigration
          - ImportOrder
          - Autoship
          - Facade
          - UnknownExtension
          - PublicApiExtension
          - V1ApiExtension
          - V2ApiExtension
          - CorpAdminExtension
          - ImportOrderExtension
          - AutoshipExtension
          - FacadeExtension
        OrderDate:
          type: string
          format: date-time
        TotalCV:
          type: number
          format: double
        TotalQV:
          type: number
          format: double
        TotalBonus:
          type: number
          format: double
        ShipPhone:
          type: string
        PartyId:
          type: integer
          format: int32
        PriceGroupId:
          type: integer
          format: int32
        EmailAddress:
          type: string
        ExtOrderNumber:
          type: string
        SpecialInstructions:
          type: string
        OrderName:
          type: string
        OrderType:
          type: string
          enum:
          - Unknown
          - Standard
          - Autoship
          - Enrollment
          - VolumeAdjustment
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.ImportLineItem'
        SubTotal:
          type: number
          format: double
        ShippingTotal:
          type: number
          format: double
        TaxTotal:
          type: number
          format: double
        CustomFields:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CustomFields'
    DirectScale.Disco.Extension.ImportLineItem:
      type: object
      properties:
        ItemId:
          type: integer
          format: int32
        SKU:
          type: string
        Quantity:
          type: number
          format: double
        Price:
          type: number
          format: double
        CurrencyCode:
          type: string
        ProductName:
          type: string
    DirectScale.Disco.Extension.Hooks.Orders.ImportOrderHookResponse:
      type: object
      properties:
        OrderNumber:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Orders.ProcessOrderPaymentHookRequest:
      type: object
      properties:
        Order:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
        ShipMethodId:
          type: integer
          format: int32
        LanguageCode:
          type: string
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.NewPayment'
    DirectScale.Disco.Extension.Hooks.Orders.ProcessOrderPaymentHookResponse:
      type: object
      properties:
        PaymentResponse:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.PaymentResponse'
    DirectScale.Disco.Extension.Hooks.Orders.CancelOrderHookRequest:
      type: object
      properties:
        OrderNumber:
          type: integer
          format: int32
        Validate:
          type: boolean
    DirectScale.Disco.Extension.Hooks.Orders.CancelOrderHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.ProcessCouponCodesHookRequest:
      type: object
      properties:
        CouponCodes:
          type: array
          items:
            type: string
        RegionId:
          type: integer
          format: int32
        SubTotal:
          type: number
          format: double
        Currency:
          type: string
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItem'
        ShipMethodId:
          type: integer
          format: int32
        ShippingCost:
          type: number
          format: double
        OrderType:
          type: string
          enum:
          - Unknown
          - Standard
          - Autoship
          - Enrollment
          - VolumeAdjustment
        AssociateId:
          type: integer
          format: int32
        TaxItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxLineItem'
    DirectScale.Disco.Extension.TaxLineItem:
      type: object
      properties:
        ItemId:
          type: integer
          format: int32
        Weight:
          type: number
          format: double
        Length:
          type: number
          format: double
        Width:
          type: number
          format: double
        Height:
          type: number
          format: double
        Amount:
          type: number
          format: double
        Quantity:
          type: number
          format: double
        TaxCode:
          type: string
        GrossAmount:
          type: number
          format: double
          readOnly: true
        SKU:
          type: string
        Description:
          type: string
    DirectScale.Disco.Extension.Hooks.Orders.ProcessCouponCodesHookResponse:
      type: object
      properties:
        OrderCoupons:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderCoupons'
        CouponAdjustedTax:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxLineItem'
    DirectScale.Disco.Extension.Hooks.Orders.GetCouponAdjustedVolumeHookRequest:
      type: object
      properties:
        Volume:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CouponAdjustedVolume'
        Totals:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.OrderTotal'
    DirectScale.Disco.Extension.CouponAdjustedVolume:
      type: object
      properties:
        Cv:
          type: number
          format: double
        Qv:
          type: number
          format: double
    DirectScale.Disco.Extension.Hooks.Orders.GetCouponAdjustedVolumeHookResponse:
      type: object
      properties:
        CouponAdjustedVolume:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.CouponAdjustedVolume'
    DirectScale.Disco.Extension.Hooks.Orders.Packages.MarkPackagesShippedHookRequest:
      type: object
      properties:
        PackageStatusUpdates:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.PackageStatusUpdate'
    DirectScale.Disco.Extension.PackageStatusUpdate:
      type: object
      properties:
        Carrier:
          type: string
        DateShipped:
          type: string
          format: date-time
        PackageId:
          type: integer
          format: int32
        PrintedDate:
          type: string
          format: date-time
        TrackingNumber:
          type: string
    DirectScale.Disco.Extension.Hooks.Orders.Packages.MarkPackagesShippedHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.Party.PayHostRewardsHookRequest:
      type: object
      properties:
        PartyId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Orders.Party.PayHostRewardsHookResponse:
      type: object
    DirectScale.Disco.Extension.Hooks.Orders.CreateRmaHookRequest:
      type: object
      properties:
        Rma:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Rma'
    DirectScale.Disco.Extension.Rma:
      type: object
      properties:
        Id:
          type: integer
          format: int32
        AssociateId:
          type: integer
          format: int32
        OrderNumber:
          type: integer
          format: int32
        WarehouseId:
          type: integer
          format: int32
        Date:
          type: string
          format: date-time
        ShipMethod:
          type: string
        DateShipped:
          type: string
          format: date-time
        DateReceived:
          type: string
          format: date-time
        TrackingNumber:
          type: string
        Notes:
          type: string
        CurrencyCode:
          type: string
        LineItems:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.RmaLineItem'
        Status:
          type: string
          readOnly: true
        Total:
          type: number
          format: double
          readOnly: true
        Shipped:
          type: boolean
          readOnly: true
        Received:
          type: boolean
          readOnly: true
    DirectScale.Disco.Extension.RmaLineItem:
      type: object
      properties:
        ItemId:
          type: integer
          format: int32
        Sku:
          type: string
        Name:
          type: string
        Qty:
          type: number
          format: double
        Price:
          type: number
          format: double
    DirectScale.Disco.Extension.Hooks.Orders.CreateRmaHookResponse:
      type: object
      properties:
        RmaId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Orders.Shipping.GetShippingHookRequest:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.LineItem'
        WarehouseId:
          type: integer
          format: int32
        Address:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        ShipMethodId:
          type: integer
          format: int32
    DirectScale.Disco.Extension.Hooks.Orders.Shipping.GetShippingHookResponse:
      type: object
      properties:
        ShippingAmount:
          type: number
          format: double
    DirectScale.Disco.Extension.Hooks.Taxes.GetTaxHookRequest:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxLineItem'
        Shipping:
          type: number
          format: double
        WarehouseId:
          type: integer
          format: int32
        Address:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Address'
        AssociateId:
          type: integer
          format: int32
        SaleDate:
          type: string
          format: date-time
        CurrencyCode:
          type: string
    DirectScale.Disco.Extension.Hooks.Taxes.GetTaxHookResponse:
      type: object
      properties:
        TaxResult:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.TaxResult'
    DirectScale.Disco.Extension.Hooks.Taxes.CommitTaxHookRequest:
      type: object
      properties:
        OrderInfo:
          $ref: '#/components/schemas/DirectScale.Disco.Extension.Order'
    DirectScale.Disco.Extension.Hooks.Taxes.CommitTaxHookResponse:
      type: object
  securitySchemes:
    Extension_Token:
      type: apiKey
      description: Bearer Token For Extension
      name: Authorization
      in: header