> ## 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.

# Evaluate an existing routing Rule

> Evaluates a given routing rule



## OpenAPI

````yaml post /euclid.EuclidService/Evaluate
openapi: 3.0.0
info:
  title: Dynamic routing - OpenAPI 3.0
  description: This the the open API 3.0 specification for the dynamic routing.
  version: 1.0.0
servers: []
security: []
paths:
  /euclid.EuclidService/Evaluate:
    post:
      tags:
        - Static Routing
      summary: Evaluate an existing routing Rule
      description: Evaluates a given routing rule
      operationId: EvaluateRule
      parameters:
        - name: x-tenant-id
          in: header
          required: true
          schema:
            type: string
          example: public
        - name: x-profile-id
          in: header
          required: true
          schema:
            type: string
          example: pro_WX0giXQnzk2wQJjkKVBX
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
          example: dev_VLzQTxkPq3ALj2mlfiHL4mMtXca4uplOIOLaKEzmWAmNBXZjwsuv5bCLjnf0QYHm
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EvaluateRequest'
            example:
              algorithm_id: routing_ec1ac351-7944-440f-bdc7-6a500df1116f
              parameters:
                payment_method:
                  type: enum_variant
                  value: card
                amount:
                  type: number
                  value: 2000
      responses:
        '200':
          description: Evaluation result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvaluateResponse'
              example:
                status: success
                output:
                  priority:
                    connectors:
                      - stripe
                      - adyen
                evaluated_output:
                  - stripe
                eligible_connectors: []
        '400':
          description: Invalid request parameters
        '500':
          description: Internal server error
components:
  schemas:
    EvaluateRequest:
      type: object
      example:
        algorithm_id: routing_ec1ac351-7944-440f-bdc7-6a500df1116f
        parameters:
          payment_method:
            type: enum_variant
            value: card
          amount:
            type: number
            value: 1500
      properties:
        algorithm_id:
          type: string
          example: routing_ec1ac351-7944-440f-bdc7-6a500df1116f
        parameters:
          type: object
          example:
            payment_method:
              type: enum_variant
              value: card
            amount:
              type: number
              value: 1500
          additionalProperties:
            $ref: '#/components/schemas/ValueType'
    EvaluateResponse:
      type: object
      example:
        status: success
        output:
          priority:
            connectors:
              - stripe
              - adyen
        evaluated_output:
          - stripe
          - adyen
        eligible_connectors:
          - stripe
          - adyen
          - checkout
      properties:
        status:
          type: string
        output:
          $ref: '#/components/schemas/Output'
        evaluated_output:
          type: array
          items:
            type: string
        eligible_connectors:
          type: array
          items:
            type: string
    ValueType:
      type: object
      oneOf:
        - type: integer
          format: uint64
        - type: string
        - $ref: '#/components/schemas/MetadataValue'
    Output:
      type: object
      oneOf:
        - $ref: '#/components/schemas/PriorityOutput'
        - $ref: '#/components/schemas/VolumeSplitOutput'
        - $ref: '#/components/schemas/VolumeSplitPriorityOutput'
    MetadataValue:
      type: object
      properties:
        key:
          type: string
        value:
          type: string
    PriorityOutput:
      type: object
      example:
        connectors:
          - stripe
          - adyen
      properties:
        connectors:
          type: array
          items:
            type: string
    VolumeSplitOutput:
      type: object
      properties:
        connectors:
          type: array
          items:
            $ref: '#/components/schemas/VolumeSplit'
    VolumeSplitPriorityOutput:
      type: object
      example:
        groups:
          - split: 60
            output:
              - stripe
              - adyen
          - split: 40
            output:
              - checkout
      properties:
        groups:
          type: array
          items:
            $ref: '#/components/schemas/VolumeSplitGroup'
    VolumeSplit:
      type: object
      example:
        split: 70
        output: stripe
      properties:
        split:
          type: integer
        output:
          type: string
    VolumeSplitGroup:
      type: object
      example:
        split: 50
        output:
          - adyen
          - checkout
      properties:
        split:
          type: integer
        output:
          type: array
          items:
            type: string

````