Profile - Update

Update a business profile.

Endpoint POST /account/{account_id}/business_profile/{profile_id}

Try it

cURL example

curl
curl --request POST \
  --url https://sandbox.hyperswitch.io/account/{account_id}/business_profile/{profile_id} \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '
{
  "enable_payment_response_hash": true,
  "redirect_to_merchant_with_http_post": false,
  "payment_link_config": {
    "display_sdk_only": false,
    "enabled_saved_payment_method": false,
    "hide_card_nickname_field": false,
    "show_card_form_by_default": true,
    "business_specific_configs": {
      "display_sdk_only": false,
      "enabled_saved_payment_method": false,
      "hide_card_nickname_field": false,
      "show_card_form_by_default": true
    }
  },
  "collect_shipping_details_from_wallet_connector": false,
  "collect_billing_details_from_wallet_connector": false,
  "always_collect_shipping_details_from_wallet_connector": false,
  "always_collect_billing_details_from_wallet_connector": false,
  "payout_link_config": {
    "payout_test_mode": false
  }
}
'

Successful response (200)

Authorizations

  • api-key (string, header) — required Use the API key created under your merchant account from the HyperSwitch dashboard. API key is used to authenticate API requests from your merchant server only. Don't expose this key on a website or embed it in a mobile application.

Path parameters

  • account_id (string) — required The unique identifier for the merchant account.

  • profile_id (string) — required The unique identifier for the profile.

Request body (application/json)

Supported fields (selection of notable fields shown; nested objects have their own child attributes in the API reference):

  • profile_name — string | null The name of profile. Maximum length: 64.

  • return_url — string | null The URL to redirect after the completion of the operation. Maximum length: 255. Example: "https://www.example.com/success"

  • enable_payment_response_hash — boolean | null (default: true) Enable payment response hash. Example: true

  • payment_response_hash_key — string | null Hash key used for calculating signature for webhooks and redirect response. If not provided, it is generated automatically.

  • redirect_to_merchant_with_http_post — boolean | null (default: false) Redirect to merchant with HTTP POST. Example: true

  • webhook_details — object Webhook configuration (payment/refund statuses enabled, webhook URL, username/password, etc.)

  • metadata — object Additional unstructured information.

  • routing_algorithm — object Routing algorithm used for routing payments to desired connectors.

  • intent_fulfillment_time — integer | null Time (seconds) a payment will be active after session start. Required range: x >= 0. Example: 900

  • frm_routing_algorithm — object FRM routing algorithm.

  • payout_routing_algorithm — object Payout routing configuration.

  • applepay_verified_domains — string[] | null Verified Apple Pay domains for the profile.

  • session_expiry — integer | null Client Secret default expiry for all payments under this profile. Required range: x >= 0. Example: 900

  • payment_link_config — object UI and behavior customization for payment links (theme, logo, seller_name, sdk_layout, transaction_details, allowed_domains, etc.)

  • authentication_connector_details — object Authentication connector settings (3DS connectors, requestor URL/app URL).

  • use_billing_as_payment_method_billing — boolean | null Whether to use billing details passed when creating the intent as payment method billing.

  • collect_shipping_details_from_wallet_connector — boolean | null (default: false) Collect shipping details from wallet connector only if required by connector (e.g., Apple/Google Pay). Example: false

  • collect_billing_details_from_wallet_connector — boolean | null (default: false) Collect billing details from wallet connector only if required by connector. Example: false

  • always_collect_shipping_details_from_wallet_connector — boolean | null (default: false) Always collect shipping details from wallet connector. Example: false

  • always_collect_billing_details_from_wallet_connector — boolean | null (default: false) Always collect billing details from wallet connector. Example: false

  • is_connector_agnostic_mit_enabled — boolean | null If true, MITs (merchant initiated transactions) may be processed through a different connector than the CIT (customer initiated transaction) based on routing rules. If false, MITs use same connector as CIT.

  • payout_link_config — object Generic link UI config for payouts (allowed_domains, logo, merchant_name, theme, form_layout, payout_test_mode, etc.)

  • outgoing_webhook_custom_http_headers — object Additional key-value headers sent with outgoing webhook requests (recommended <= 4 pairs).

  • tax_connector_id — string | null Merchant connector id for tax_calculator connector.

  • is_tax_connector_enabled — boolean Whether tax_calculator connector is enabled (tax_connector_id checked when true).

  • is_network_tokenization_enabled — boolean Whether network tokenization is enabled.

  • is_auto_retries_enabled — boolean | null Whether auto retries are enabled.

  • max_auto_retries_enabled — integer | null Maximum number of auto retries allowed for a payment. Required range: x >= 0.

  • always_request_extended_authorization — boolean | null Request extended authentication for all payments.

  • is_click_to_pay_enabled — boolean Whether click-to-pay is enabled.

  • authentication_product_ids — object Product authentication ids.

  • card_testing_guard_config — object Card testing guard configuration (IP/customer thresholds, expiry, etc.)

  • is_clear_pan_retries_enabled — boolean | null Clear PAN retries enabled.

  • force_3ds_challenge — boolean | null Force 3DS challenge.

  • is_debit_routing_enabled — boolean | null Debit routing enabled.

  • merchant_business_country — enum Country code of merchant business. (See full list below.)

  • is_iframe_redirection_enabled — boolean | null Whether redirection should open in an iframe. Example: false

  • is_pre_network_tokenization_enabled — boolean | null Pre-network tokenization enabled.

  • merchant_category_code — string Example: "5411"

  • merchant_country_code — string Merchant country code wrapper type.

  • dispute_polling_interval — integer | null Interval (in hours) for polling disputes. Example: 2

  • is_manual_retry_enabled — boolean | null Manual retry enabled.

  • always_enable_overcapture — boolean | null Overcapture requested for all payments.

  • is_external_vault_enabled — enum ("enable" | "skip") External vault behavior.

  • external_vault_connector_details — object External vault connector settings.

  • billing_processor_id — string | null Merchant connector id for billing_processor connector.

  • is_l2_l3_enabled — boolean | null Enable Level 2 and Level 3 data for card transactions.

Response (200 — Profile Updated)

The response returns the updated profile object. Notable response fields mirror the request fields, for example:

  • merchant_id — string (required)

  • profile_id — string (required)

  • profile_name — string

  • enable_payment_response_hash — boolean

  • redirect_to_merchant_with_http_post — boolean

  • is_tax_connector_enabled — boolean

  • is_network_tokenization_enabled — boolean

  • is_auto_retries_enabled — boolean

  • force_3ds_challenge — boolean

  • return_url — string | null

  • payment_response_hash_key — string | null

  • webhook_details — object

  • intent_fulfillment_time — integer | null

  • payout_routing_algorithm — object

  • payment_link_config — object

  • authentication_connector_details — object

  • collect_shipping_details_from_wallet_connector — boolean | null

  • payout_link_config — object

  • outgoing_webhook_custom_http_headers — object

  • max_auto_retries_enabled — integer | null

  • card_testing_guard_config — object

  • merchant_business_country — enum

  • acquirer_configs — object[] | null

  • is_iframe_redirection_enabled — boolean | null

  • merchant_category_code — string

  • dispute_polling_interval — integer | null

  • is_manual_retry_enabled — boolean | null

  • is_external_vault_enabled — enum

  • external_vault_connector_details — object

  • billing_processor_id — string | null

  • is_l2_l3_enabled — boolean | null

merchant_business_country (enum)

Click to expand full list of country codes

AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW, US

Notes

  • Many nested objects (e.g., webhook_details, payment_link_config, payout_routing_algorithm, authentication_connector_details, card_testing_guard_config, acquirer_configs, external_vault_connector_details) have child attributes — see the API reference for complete schemas.

  • Keep your api-key secret and use it only on trusted back-end servers.

  • Fields not provided in the request will either remain unchanged or be set to defaults as noted (see field descriptions).

Edit or raise issues

  • Suggest edits: https://github.com/juspay/hyperswitch/edit/main/api-reference/v1/business-profile/business-profile--update.mdx

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