Gsm - Create

POST /gsm

Create a Global Status Mapping (GSM) entry.

Example — cURL

Create GSM (cURL)
curl --request POST \
  --url https://sandbox.hyperswitch.io/gsm \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '
{
  "connector": "authipay",
  "flow": "<string>",
  "sub_flow": "<string>",
  "code": "<string>",
  "message": "<string>",
  "status": "<string>",
  "decision": "retry",
  "step_up_possible": true,
  "clear_pan_possible": true,
  "router_error": "<string>",
  "unified_code": "<string>",
  "unified_message": "<string>",
  "error_category": "frm_decline",
  "feature": "retry",
  "feature_data": {
    "retry": {
      "step_up_possible": true,
      "clear_pan_possible": true,
      "alternate_network_possible": true,
      "decision": "retry"
    }
  },
  "standardised_code": "account_closed_or_invalid",
  "description": "<string>",
  "user_guidance_message": "<string>"
}
'

Response (200):


Authorization

Header: api-key (string, required)

Admin API keys allow privileged actions such as creating a merchant account and Merchant Connector account.


Request body (application/json)

Fields

  • connector (string, required)

    • Enum: authipay, adyenplatform, stripe_billing_test, phonypay, fauxpay, pretendpay, stripe_test, adyen_test, checkout_test, paypal_test, aci, adyen, affirm, airwallex, amazonpay, archipel, authorizedotnet, bambora, bamboraapac, bankofamerica, barclaycard, billwerk, bitpay, bluesnap, blackhawknetwork, calida, boku, braintree, breadpay, cardinal, cashtocode, celero, chargebee, checkbook, checkout, coinbase, coingate, custombilling, cryptopay, ctp_mastercard, ctp_visa, cybersource, datatrans, deutschebank, digitalvirgo, dlocal, dwolla, ebanx, elavon, facilitapay, finix, fiserv, fiservemea, fiuu, flexiti, forte, getnet, gigadat, globalpay, globepay, gocardless, gpayments, hipay, helcim, hyperswitch_vault, inespay, iatapay, itaubank, jpmorgan, juspaythreedsserver, klarna, loonio, mifinity, mollie, moneris, multisafepay, netcetera, nexinets, nexixpay, nmi, nomupay, noon, nordea, novalnet, nuvei, opennode, paybox, payload, payme, payone, paypal, paysafe, paystack, paytm, payu, peachpayments, payjustnow, payjustnowinstore, phonepe, placetopay, powertranz, prophetpay, rapyd, razorpay, recurly, redsys, santander, shift4, silverflow, square, stax, stripe, stripebilling, taxjar, threedsecureio, tesouro, tokenex, tokenio, trustpay, trustpayments, tsys, vgs, volt, wellsfargo, wise, worldline, worldpay, worldpayvantiv, worldpayxml, worldpaymodular, signifyd, plaid, riskified, xendit, zen, zift, zsl

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

  • decision (string, required)

    • Enum: retry, do_default

  • step_up_possible (boolean, required) — deprecated Indicates if step_up retry is possible. Deprecated: This field is now included as part of feature_data under the Retry variant.

  • clear_pan_possible (boolean, required) — deprecated Indicates if retry with PAN is possible. Deprecated: This field is now included as part of feature_data under the Retry variant.

  • router_error (string | null, optional) Error provided by the router.

  • unified_code (string | null, optional) Error code unified across the connectors.

  • unified_message (string | null, optional) Error message unified across the connectors.

  • error_category (string, optional)

    • Enum: frm_decline, processor_downtime, processor_decline_unauthorized, issue_with_payment_method, processor_decline_incorrect_data, hard_decline, soft_decline

  • feature (string, optional)

    • Enum: retry

  • feature_data (object, optional) Contains the data relevant to the specified GSM feature. For example, if feature is retry, this includes retry-specific configuration (see example in the request body).

  • standardised_code (string, optional)

    • Enum includes (not exhaustive here; full list in original): 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 | null, optional) Detailed description intended for debugging, analytics, and support teams.

  • user_guidance_message (string | null, optional) A user-friendly message safe to display to customers, guiding them to resolve the issue.

Hint: step_up_possible and clear_pan_possible are deprecated — include retry-related data inside feature_data instead.


Response (200) — application/json

GSM created. Returns the created GSM object with the same fields as in the request:

  • connector (string, required)

  • flow (string, required)

  • sub_flow (string, required)

  • code (string, required)

  • message (string, required)

  • status (string, required)

  • decision (string, required) — Enum: retry, do_default

  • step_up_possible (boolean, required) — deprecated

  • clear_pan_possible (boolean, required) — deprecated

  • feature (string, required) — Enum: retry

  • feature_data (object, required) — Contains data relevant to the specified GSM feature

  • router_error (string | null, optional)

  • unified_code (string | null, optional)

  • unified_message (string | null, optional)

  • error_category (string, optional) — same enum as request

  • standardised_code (string, optional) — same enum list as request

  • description (string | null, optional)

  • user_guidance_message (string | null, optional)


Related links:

  • Documentation: https://api-reference.hyperswitch.io/introduction

  • Locker API Reference: https://api-reference.hyperswitch.io/locker-api-reference/overview

  • Intelligent Router API Reference: https://api-reference.hyperswitch.io/intelligent-router-api-reference/overview

  • Try it (original page): https://api-reference.hyperswitch.io/v1/gsm/gsm--create

  • Suggest edits: https://github.com/juspay/hyperswitch/edit/main/api-reference/v1/gsm/gsm--create.mdx

  • Raise issue: https://github.com/juspay/hyperswitch/issues/new?title=Issue%20on%20docs&body=Path:%20/v1/gsm/gsm--create

See also:

  • Merchant Connector - List: https://api-reference.hyperswitch.io/v1/merchant-connector-account/merchant-connector--list

  • Gsm - Get: https://api-reference.hyperswitch.io/v1/gsm/gsm--get