> ## Documentation Index
> Fetch the complete documentation index at: https://api-reference.hyperswitch.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Routing - Auth Rate Based

> Create a success based dynamic routing algorithm



## OpenAPI

````yaml post /account/{account_id}/business_profile/{profile_id}/dynamic_routing/success_based/create
openapi: 3.0.3
info:
  title: Hyperswitch - API Documentation
  description: >

    ## Get started


    Hyperswitch provides a collection of APIs that enable you to process and
    manage payments.

    Our APIs accept and return JSON in the HTTP body, and return standard HTTP
    response codes.


    You can consume the APIs directly using your favorite HTTP/REST library.


    We have a testing environment referred to "sandbox", which you can setup to
    test API calls without

    affecting production data.

    Currently, our sandbox environment is live while our production environment
    is under development

    and will be available soon.

    You can sign up on our Dashboard to get API keys to access Hyperswitch API.


    ### Environment


    Use the following base URLs when making requests to the APIs:


    | Environment   |  Base URL                          |

    |---------------|------------------------------------|

    | Sandbox       | <https://sandbox.hyperswitch.io>   |

    | Production    | <https://api.hyperswitch.io>       |


    ## Authentication


    When you sign up on our [dashboard](https://app.hyperswitch.io) and create a
    merchant

    account, you are given a secret key (also referred as api-key) and a
    publishable key.

    You may authenticate all API requests with Hyperswitch server by providing
    the appropriate key in

    the request Authorization header.


    | Key             | 
    Description                                                                                 
    |

    |-----------------|-----------------------------------------------------------------------------------------------|

    | api-key         | Private key. Used to authenticate all API requests from
    your merchant server                  |

    | publishable key | Unique identifier for your account. Used to authenticate
    API requests from your app's client  |


    Never share your secret api keys. Keep them guarded and secure.
  contact:
    name: Hyperswitch Support
    url: https://hyperswitch.io
    email: support.global@juspay.io
  license:
    name: Apache-2.0
  version: 0.1.0
servers:
  - url: https://sandbox.hyperswitch.io
    description: Sandbox Environment
security: []
tags:
  - name: Merchant Account
    description: Create and manage merchant accounts
  - name: Profile
    description: Create and manage profiles
  - name: Merchant Connector Account
    description: Create and manage merchant connector accounts
  - name: Payments
    description: Create and manage one-time payments, recurring payments and mandates
  - name: Refunds
    description: Create and manage refunds for successful payments
  - name: Mandates
    description: Manage mandates
  - name: Customers
    description: Create and manage customers
  - name: Payment Methods
    description: Create and manage payment methods of customers
  - name: Disputes
    description: Manage disputes
  - name: API Key
    description: Create and manage API Keys
  - name: Payouts
    description: Create and manage payouts
  - name: payment link
    description: Create payment link
  - name: Routing
    description: Create and manage routing configurations
  - name: Event
    description: Manage events
  - name: Authentication
    description: Create and manage authentication
  - name: Subscriptions
    description: Subscription management and billing endpoints
  - name: Card Issuer
    description: Create and manage card issuers
paths:
  /account/{account_id}/business_profile/{profile_id}/dynamic_routing/success_based/create:
    post:
      tags:
        - Routing
      summary: Routing - Auth Rate Based
      description: Create a success based dynamic routing algorithm
      operationId: Create success based dynamic routing algorithm
      parameters:
        - name: account_id
          in: path
          description: Merchant id
          required: true
          schema:
            type: string
        - name: profile_id
          in: path
          description: Profile id under which Dynamic routing needs to be created
          required: true
          schema:
            type: string
        - name: enable
          in: query
          description: Feature to enable for success based routing
          required: true
          schema:
            $ref: '#/components/schemas/DynamicRoutingFeatures'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuccessBasedRoutingConfig'
        required: true
      responses:
        '200':
          description: Routing Algorithm created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutingDictionaryRecord'
        '400':
          description: Request body is malformed
        '403':
          description: Forbidden
        '404':
          description: Resource missing
        '422':
          description: Unprocessable request
        '500':
          description: Internal server error
      security:
        - api_key: []
        - jwt_key: []
components:
  schemas:
    DynamicRoutingFeatures:
      type: string
      enum:
        - metrics
        - dynamic_connector_selection
        - none
    SuccessBasedRoutingConfig:
      type: object
      required:
        - decision_engine_configs
      properties:
        params:
          type: array
          items:
            $ref: '#/components/schemas/DynamicRoutingConfigParams'
          deprecated: true
          nullable: true
        config:
          allOf:
            - $ref: '#/components/schemas/SuccessBasedRoutingConfigBody'
          nullable: true
        decision_engine_configs:
          $ref: '#/components/schemas/DecisionEngineSuccessRateData'
      additionalProperties: false
    RoutingDictionaryRecord:
      type: object
      description: |-
        Metadata record representing a stored routing configuration.

        Used in routing dictionary listings.
      required:
        - id
        - profile_id
        - name
        - kind
        - description
        - created_at
        - modified_at
      properties:
        id:
          type: string
          description: |-
            Unique identifier of the routing configuration.

            Example:
            ```json
            "routing_abc123"
            ```
          example: routing_abc123
        profile_id:
          type: string
          description: |-
            Profile ID associated with this routing configuration.

            Example:
            ```json
            "profile_123"
            ```
          example: profile_123
        name:
          type: string
          description: |-
            Name of the routing configuration.

            Example:
            ```json
            "india_card_routing"
            ```
          example: india_card_routing
        kind:
          $ref: '#/components/schemas/RoutingAlgorithmKind'
        description:
          type: string
          description: |-
            Description of this routing configuration.

            Example:
            ```json
            "Volume split routing for domestic transactions"
            ```
          example: Volume split routing for domestic transactions
        created_at:
          type: integer
          format: int64
          description: Creation timestamp (milliseconds since epoch).
          example: 1718000000000
        modified_at:
          type: integer
          format: int64
          description: Last modification timestamp (milliseconds since epoch).
          example: 1718050000000
        algorithm_for:
          allOf:
            - $ref: '#/components/schemas/TransactionType'
          nullable: true
        decision_engine_routing_id:
          type: string
          description: |-
            Associated Decision Engine routing identifier (if applicable).

            Present when routing is linked to an external decision engine.

            Example:
            ```json
            "de_route_456"
            ```
          example: de_route_456
          nullable: true
    DynamicRoutingConfigParams:
      type: string
      enum:
        - PaymentMethod
        - PaymentMethodType
        - AuthenticationType
        - Currency
        - Country
        - CardNetwork
        - CardBin
    SuccessBasedRoutingConfigBody:
      type: object
      properties:
        min_aggregates_size:
          type: integer
          format: int32
          nullable: true
          minimum: 0
        default_success_rate:
          type: number
          format: double
          nullable: true
        max_aggregates_size:
          type: integer
          format: int32
          nullable: true
          minimum: 0
        current_block_threshold:
          allOf:
            - $ref: '#/components/schemas/CurrentBlockThreshold'
          nullable: true
        specificity_level:
          $ref: '#/components/schemas/SuccessRateSpecificityLevel'
        exploration_percent:
          type: number
          format: double
          nullable: true
        shuffle_on_tie_during_exploitation:
          type: boolean
          nullable: true
    DecisionEngineSuccessRateData:
      type: object
      description: Configuration for Decision Engine success rate based routing
      properties:
        defaultLatencyThreshold:
          type: number
          format: double
          description: Default latency threshold in percentile for gateway selection
          example: 90
          nullable: true
        defaultBucketSize:
          type: integer
          format: int32
          description: >-
            Default number of transactions to consider for success rate
            calculation
          example: 100
          nullable: true
        defaultHedgingPercent:
          type: number
          format: double
          description: Default percentage of traffic to route for exploration/hedging
          example: 5
          nullable: true
        defaultLowerResetFactor:
          type: number
          format: double
          description: Lower reset factor for adjusting gateway scores
          example: 0.5
          nullable: true
        defaultUpperResetFactor:
          type: number
          format: double
          description: Upper reset factor for adjusting gateway scores
          example: 1.5
          nullable: true
        defaultGatewayExtraScore:
          type: array
          items:
            $ref: '#/components/schemas/DecisionEngineGatewayWiseExtraScore'
          description: Gateway-specific extra scoring factors
          nullable: true
        subLevelInputConfig:
          type: array
          items:
            $ref: '#/components/schemas/DecisionEngineSRSubLevelInputConfig'
          description: Payment method level specific configurations
          nullable: true
    RoutingAlgorithmKind:
      type: string
      enum:
        - single
        - priority
        - volume_split
        - advanced
        - dynamic
        - three_ds_decision_rule
    TransactionType:
      type: string
      enum:
        - payment
        - payout
        - three_ds_authentication
    CurrentBlockThreshold:
      type: object
      properties:
        duration_in_mins:
          type: integer
          format: int64
          nullable: true
          minimum: 0
        max_total_count:
          type: integer
          format: int64
          nullable: true
          minimum: 0
    SuccessRateSpecificityLevel:
      type: string
      enum:
        - merchant
        - global
    DecisionEngineGatewayWiseExtraScore:
      type: object
      required:
        - gatewayName
        - gatewaySigmaFactor
      properties:
        gatewayName:
          type: string
        gatewaySigmaFactor:
          type: number
          format: double
    DecisionEngineSRSubLevelInputConfig:
      type: object
      description: Payment method level configuration for success rate based routing
      properties:
        paymentMethodType:
          type: string
          description: Payment method type (e.g., "card", "wallet")
          example: card
          nullable: true
        paymentMethod:
          type: string
          description: Specific payment method (e.g., "credit", "debit")
          example: credit
          nullable: true
        latencyThreshold:
          type: number
          format: double
          description: Latency threshold in percentile for this payment method
          example: 90
          nullable: true
        bucketSize:
          type: integer
          format: int32
          description: Number of transactions to consider for this payment method
          example: 100
          nullable: true
        hedgingPercent:
          type: number
          format: double
          description: >-
            Percentage of traffic to route for exploration for this payment
            method
          example: 5
          nullable: true
        lowerResetFactor:
          type: number
          format: double
          description: Lower reset factor for this payment method
          example: 0.5
          nullable: true
        upperResetFactor:
          type: number
          format: double
          description: Upper reset factor for this payment method
          example: 1.5
          nullable: true
        gatewayExtraScore:
          type: array
          items:
            $ref: '#/components/schemas/DecisionEngineGatewayWiseExtraScore'
          description: Gateway-specific extra scoring factors for this payment method
          nullable: true
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: api-key
      description: >-
        Use the API key created under your merchant account from the HyperSwitch
        dashboard. API key is used to authenticate API requests from your
        merchant server only. Don't expose this key on a website or embed it in
        a mobile application.
    jwt_key:
      type: http
      scheme: bearer
      bearerFormat: JWT

````