Gsm - Create
POST /gsm
Create a Global Status Mapping (GSM) entry.
Example — 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_dataunder theRetryvariant.clear_pan_possible (boolean, required) — deprecated Indicates if retry with PAN is possible. Deprecated: This field is now included as part of
feature_dataunder theRetryvariant.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
featureisretry, 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.
Deprecated fields: step_up_possible and clear_pan_possible are deprecated. Use feature_data under the Retry variant for retry capabilities.
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