---
title: "Gsm - Update"
method: POST
path: "/gsm/update"
tags: ["Gsm"]
---

# Gsm - Update

`POST /gsm/update`

Updates a Gsm Rule

## Request body

- GsmUpdateRequest
  - `connector` string, required — The connector through which payment has gone through
  - `flow` string, required — The flow in which the code and message occurred for a connector
  - `sub_flow` string, required — The sub_flow in which the code and message occurred for a connector
  - `code` string, required — code received from the connector
  - `message` string, required — message received from the connector
  - `status` string, nullable — status provided by the router
  - `router_error` string, nullable — optional error provided by the router
  - `decision` 'retry' | 'do_default'
  - `step_up_possible` boolean, nullable — indicates if step_up retry is possible **Deprecated**: This field is now included as part of `feature_data` under the `Retry` variant.
  - `unified_code` string, nullable — error code unified across the connectors
  - `unified_message` string, nullable — error message unified across the connectors
  - `error_category` 'frm_decline' | 'processor_downtime' | 'processor_decline_unauthorized' | 'issue_with_payment_method' | 'processor_decline_incorrect_data' | 'hard_decline' | 'soft_decline'
  - `clear_pan_possible` boolean, nullable — indicates if retry with pan is possible **Deprecated**: This field is now included as part of `feature_data` under the `Retry` variant.
  - `feature` 'retry'
  - `feature_data` GsmFeatureData — Contains the data relevant to the specified GSM feature, if applicable. For example, if the `feature` is `Retry`, this will include configuration details specific to the retry behavior.
    - `retry` RetryFeatureData, required — Represents the data associated with a retry feature in GSM.
      - `step_up_possible` boolean, required — indicates if step_up retry is possible
      - `clear_pan_possible` boolean, required — indicates if retry with pan is possible
      - `alternate_network_possible` boolean, required — indicates if retry with alternate network possible
      - `decision` 'retry' | 'do_default', required
  - `standardised_code` 'account_closed_or_invalid' | 'authentication_failed' | 'authentication_required' | 'authorization_missing_or_revoked' | 'card_lost_or_stolen' | 'card_not_supported_restricted' | 'cfg_pm_not_enabled_or_misconfigured' | 'compliance_or_sanctions_restriction' | 'configuration_issue' | 'credit_limit_exceeded' | 'currency_or_corridor_not_enabled' | 'do_not_honor' | 'downstream_technical_issue' | 'duplicate_request' | 'generic_unknown_error' | 'incorrect_authentication_code' | 'insufficient_funds' | 'integ_cryptographic_issue' | 'integration_issue' | 'invalid_card_number' | 'invalid_credentials' | 'invalid_cvv' | 'invalid_expiry_date' | 'invalid_state' | 'issuer_unavailable' | 'merchant_inactive' | 'missing_or_invalid_param' | 'operation_not_allowed' | 'payment_cancelled_by_user' | 'payment_method_issue' | 'payment_session_timeout' | 'pm_address_mismatch' | 'psp_acquirer_error' | 'psp_fraud_engine_decline' | 'rate_limit' | 'stored_credential_or_mit_not_enabled' | 'subscription_plan_inactive' | 'suspected_fraud' | 'three_ds_authentication_service_issue' | 'three_ds_configuration_issue' | 'three_ds_data_or_protocol_invalid' | 'transaction_not_permitted' | 'transaction_timed_out' | 'velocity_limit_exceeded' | 'wallet_or_token_config_issue'
  - `description` string, nullable — A detailed description of the error intended for debugging, analytics, and support teams.
  - `user_guidance_message` string, nullable — A user-friendly message that can be safely displayed to the customer. This message provides guidance on what the user should do to resolve the issue.

## Response `200`

Gsm updated

- GsmResponse
  - `connector` string, required — The connector through which payment has gone through
  - `flow` string, required — The flow in which the code and message occurred for a connector
  - `sub_flow` string, required — The sub_flow in which the code and message occurred for a connector
  - `code` string, required — code received from the connector
  - `message` string, required — message received from the connector
  - `status` string, required — status provided by the router
  - `router_error` string, nullable — optional error provided by the router
  - `decision` 'retry' | 'do_default', required
  - `step_up_possible` boolean, required — indicates if step_up retry is possible **Deprecated**: This field is now included as part of `feature_data` under the `Retry` variant.
  - `unified_code` string, nullable — error code unified across the connectors
  - `unified_message` string, nullable — error message unified across the connectors
  - `error_category` 'frm_decline' | 'processor_downtime' | 'processor_decline_unauthorized' | 'issue_with_payment_method' | 'processor_decline_incorrect_data' | 'hard_decline' | 'soft_decline'
  - `clear_pan_possible` boolean, required — indicates if retry with pan is possible **Deprecated**: This field is now included as part of `feature_data` under the `Retry` variant.
  - `feature` 'retry', required
  - `feature_data` GsmFeatureData, required — Contains the data relevant to the specified GSM feature, if applicable. For example, if the `feature` is `Retry`, this will include configuration details specific to the retry behavior.
    - `retry` RetryFeatureData, required — Represents the data associated with a retry feature in GSM.
      - `step_up_possible` boolean, required — indicates if step_up retry is possible
      - `clear_pan_possible` boolean, required — indicates if retry with pan is possible
      - `alternate_network_possible` boolean, required — indicates if retry with alternate network possible
      - `decision` 'retry' | 'do_default', required
  - `standardised_code` 'account_closed_or_invalid' | 'authentication_failed' | 'authentication_required' | 'authorization_missing_or_revoked' | 'card_lost_or_stolen' | 'card_not_supported_restricted' | 'cfg_pm_not_enabled_or_misconfigured' | 'compliance_or_sanctions_restriction' | 'configuration_issue' | 'credit_limit_exceeded' | 'currency_or_corridor_not_enabled' | 'do_not_honor' | 'downstream_technical_issue' | 'duplicate_request' | 'generic_unknown_error' | 'incorrect_authentication_code' | 'insufficient_funds' | 'integ_cryptographic_issue' | 'integration_issue' | 'invalid_card_number' | 'invalid_credentials' | 'invalid_cvv' | 'invalid_expiry_date' | 'invalid_state' | 'issuer_unavailable' | 'merchant_inactive' | 'missing_or_invalid_param' | 'operation_not_allowed' | 'payment_cancelled_by_user' | 'payment_method_issue' | 'payment_session_timeout' | 'pm_address_mismatch' | 'psp_acquirer_error' | 'psp_fraud_engine_decline' | 'rate_limit' | 'stored_credential_or_mit_not_enabled' | 'subscription_plan_inactive' | 'suspected_fraud' | 'three_ds_authentication_service_issue' | 'three_ds_configuration_issue' | 'three_ds_data_or_protocol_invalid' | 'transaction_not_permitted' | 'transaction_timed_out' | 'velocity_limit_exceeded' | 'wallet_or_token_config_issue'
  - `description` string, nullable — A detailed description of the error intended for debugging, analytics, and support teams.
  - `user_guidance_message` string, nullable — A user-friendly message that can be safely displayed to the customer. This message provides guidance on what the user should do to resolve the issue.

## Other responses

- `400` — Missing Mandatory fields

---

[API](https://skmtc.net/hyperswitch/apis/dynamic-routing-openapi-3-0.md) · [All operations](https://skmtc.net/hyperswitch/apis/dynamic-routing-openapi-3-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hyperswitch/dynamic-routing-openapi-3-0/revisions/8fbf69ab2597/schema)
