# Get routing configuration version

Returns the routing configuration version with the full route tree for the provided identifier.

Endpoint: POST /routing-configs/get-version
Version: 2.0.0
Security: bearerAuth

## Request fields (application/json):

  - `id` (string, required)
    Unique routing configuration version identifier.
    Example: cfgv_01KRXP2KJ3DV2WTMQF4AJ1XCGK

  - `config_id` (string, required)
    Unique routing configuration identifier.
    Example: cfg_01KRXP28JDKPZCBGS77SWRQWMA

## Response 200 fields (application/json):

  - `id` (string, required)
    Unique routing configuration version identifier.
    Example: cfgv_01KRXP2KJ3DV2WTMQF4AJ1XCGK

  - `version` (integer, required)
    Sequential version number within the routing configuration.
    Example: 4

  - `status` (string, required)
    Routing configuration version status.
    Enum: "DRAFT", "PUBLISHED"

  - `description` (string)
    Routing configuration version description.
    Example: Initial published version

  - `is_sca_low_value_exemption_enabled` (boolean, required)
    Whether the SCA Low Value Exemption is enabled for the version.
    Example: false

  - `is_sca_regulation_management_enabled` (boolean, required)
    Whether the SCA Regulation Management is enabled for the version.
    Example: false

  - `route_sets` (array, required)
    Route sets that make up the routing configuration version.

  - `route_sets.id` (string, required)
    Unique route set identifier.
    Example: rts_01KS52NE57E3SBT4MK06SET001

  - `route_sets.title` (string, required)
    Human-readable route set title.
    Example: Block Payments

  - `route_sets.precondition_type` (string, required)
    Payment flow stage at which the route set is evaluated.
    Enum: "BLOCK_PAYMENTS", "FORCE_3DS", "GOOGLE_PAY_PAN_ONLY", "ANY"

  - `route_sets.routes` (array, required)
    Routes evaluated within the route set in priority order.

  - `route_sets.routes.id` (string, required)
    Unique route identifier.
    Example: rt_01KS52NE57E3SBT4MK06ROUTE01

  - `route_sets.routes.analytics_route_id` (string)
    Route identifier used in analytics reports.
    Example: art_01HV9Z2K3M4N5P6Q7R8S9T0U1V

  - `route_sets.routes.title` (string, required)
    Human-readable route title.
    Example: USA GP

  - `route_sets.routes.is_default` (boolean, required)
    Whether the route is the fallback default. Exactly one route per route set must be default. Default routes have no rule.
    Example: false

  - `route_sets.routes.segments` (array, required)
    Segments associated with the route. Segment traffic percentages must sum to 100.

  - `route_sets.routes.segments.analytics_segment_id` (string)
    Segment identifier used in analytics reports.
    Example: art_01KT9A226KXK9GAAMJR9JK5Q1W

  - `route_sets.routes.segments.title` (string, required)
    Human-readable segment title.
    Example: Segment A

  - `route_sets.routes.segments.traffic_percentage` (integer, required)
    Share of the route traffic routed to the segment in percent. Segments within a route must sum to 100.
    Example: 100

  - `route_sets.routes.segments.steps` (array, required)
    Cascade steps evaluated within the segment in order of `step_number`.

  - `route_sets.routes.segments.steps.id` (string, required)
    Unique step identifier.
    Example: stp_01KS52NE57E3SBT4MK06STP001

  - `route_sets.routes.segments.steps.analytics_step_id` (string)
    Step identifier used in analytics reports.
    Example: ars_01HV9Z2K3M4N5P6Q7R8S9T0U1V

  - `route_sets.routes.segments.steps.step_number` (integer, required)
    Position of the step in the cascade chain. Step number 1 is tried first.
    Example: 1

  - `route_sets.routes.segments.steps.status` (string, required)
    Step status.
    Enum: "ACTIVE", "DEACTIVATED"

  - `route_sets.routes.segments.steps.processing_method` (string, required)
    Method used to process the payment at this step.
    Enum: "CARD", "NETWORK_TOKEN", "DIGITAL_WALLET"

  - `route_sets.routes.segments.steps.descriptor` (string)
    Statement descriptor shown on the cardholder bank statement.
    Example: ACME*STORE

  - `route_sets.routes.segments.steps.is_force_3ds` (boolean)
    Whether 3-D Secure authentication is forced for this step.
    Example: false

  - `route_sets.routes.segments.steps.is_sca_tra_exemption` (boolean)
    Whether the SCA TRA exemption is enabled for this step.
    Example: false

  - `route_sets.routes.segments.steps.connector_id` (string, required)
    Identifier of the PSP or acquirer connector used for processing.
    Example: adyen

  - `route_sets.routes.segments.steps.connector_account_id` (string, required)
    Identifier of the merchant account at the connector used for processing.
    Example: ca_01HV9Z2K3M4N5P6Q7R8S9T0U1V

  - `route_sets.routes.segments.steps.created_at` (string, required)
    Date and time when the step was created.
    Example: 2026-05-18T13:58:13.317000Z

  - `route_sets.routes.segments.steps.updated_at` (string, required)
    Date and time when the step was updated.
    Example: 2026-05-18T13:58:14.874000Z

  - `route_sets.routes.created_at` (string, required)
    Date and time when the route was created.
    Example: 2026-05-18T13:58:13.317000Z

  - `route_sets.routes.updated_at` (string, required)
    Date and time when the route was updated.
    Example: 2026-05-18T13:58:14.874000Z

  - `route_sets.routes.rule` (object)
    Rule that selects the route when its condition evaluates to true.

  - `route_sets.routes.rule.condition` (object, required)
    Root node of the route rule expression tree. Selects either a leaf comparison or a top-level boolean group based on `type`. Boolean groups can nest up to three levels deep.

  - `route_sets.routes.rule.condition.type` (string, required)
    Condition kind that determines the schema of remaining fields.
    Enum: "SIMPLE", "COMPLEX"

  - `route_sets.created_at` (string, required)
    Date and time when the route set was created.
    Example: 2026-05-18T13:58:13.317000Z

  - `route_sets.updated_at` (string, required)
    Date and time when the route set was updated.
    Example: 2026-05-18T13:58:14.874000Z

  - `configuration_id` (string, required)
    Identifier of the routing configuration that the version belongs to.
    Example: cfg_01KRXP28JDKPZCBGS77SWRQWMA

  - `created_at` (string, required)
    Date and time when the version was created.
    Example: 2026-05-18T13:58:13.317000Z

  - `updated_at` (string, required)
    Date and time when the version was updated.
    Example: 2026-05-18T13:58:14.874000Z

## Response 400 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "VALIDATION"

  - `message` (string, required)
    Message describing the error.
    Example: One or more fields failed validation due to constraints

  - `context` (object, required)
    Additional context about the validation error, including specific constraints.
    Example: {"constraints":{"email":{"type":"TYPE","message":"The 'email' field must be a valid email address"},"age":{"type":"MIN","message":"The 'age' field must be a number greater than or equal to 18"}}}

## Response 401 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "UNAUTHENTICATED"

  - `message` (string, required)
    Message describing the error.
    Example: Credentials are invalid or missing

## Response 403 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "PERMISSION_DENIED"

  - `message` (string, required)
    Message describing the error.
    Example: Permission denied

## Response 404 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "NOT_FOUND"

  - `message` (string, required)
    Message describing the error. The entity varies by endpoint.
    Example: The requested resource could not be found

## Response 429 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "RATE_LIMIT"

  - `message` (string, required)
    Message describing the error.
    Example: Rate limit exhausted

  - `context` (object)
    Additional context about the error.

  - `context.next_try_at` (string)
    Timestamp indicating when to retry the request.
    Example: 2024-12-31T23:59:59.000000Z

