---
title: "Replace program configuration"
method: PUT
path: "/payment-methods-configs/v1/configs/programs/{programId}"
tags: ["Payment method configurations"]
---

# Replace program configuration

`PUT /payment-methods-configs/v1/configs/programs/{programId}`

Update a payment methods configuration at the program level. This operation updates the entire configuration, so all fields must be passed to avoid data loss.

## Request body

- UpdatePaymentMethodsRequest — Update payment methods configuration record request
  - `authorization` AuthorizationConfig — Group of configurations related to the authorization flow.
    - `networks` object[] — List of configurations related to a network that is processed by the Payment methods API.
      - `identifier` string — Network identifier. This field is used to find the configuration based on the network name received in the payment methods authorization call. This field is not case-sensitive.
      - `hsm_keys_id` string — HSM keys ID. This field is used to find the HSM keys for performing PIN validation. This value should be provided by the Pismo representative during HSM keys creation.
    - `cancellation_threshold` integer — Time in minutes after which to cancel the operation that has been approved but hasn't received a confirmation.
    - `confirmation_verification_endpoint` string — External endpoint to call to verify whether an authorization is confirmed. If this endpoint is not configured, there is no external verification and the payment method endpoint performs a direct confirmation call.
    - `confirmation_verification_mtls` boolean — Should the confirmation verification endpoint be called using Mutual Transport Layer Security (mTLS)? This can only be `true` if `confirmation_verification_endpoint` and `confirmation_verification_mtls_prefix` are passed. Default is `false`.
    - `confirmation_verification_mtls_prefix` string — Prefix to be used when the verification endpoint is called using mTLS. This prefix is appended to the host configured in the confirmation verification endpoint when using mTLS. The prefix can be set and is **REQUIRED** only if `confirmation_verification_mtls` is `true` and the `confirmation_verification_endpoint` is configured.
    - `confirmation_verification_rate` integer — Time in minutes for the platform to call the external endpoint to verify whether the authorization is confirmed. This verification takes place until either the authorization is confirmed or until the number of minutes specified in this field is reached. If this field is present, the `confirmation_verification_endpoint` is required.
    - `allow_authorization_by_document_number` boolean — Is org/program/account allowed to be authorized using document number as the account holder verification method? Default is `false`.
    - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
    - `update_balance_after_discharge` boolean — If set to `true`, the platform updates account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates account balances during the authorization process. This field applies to credit authorizations only.
    - `rules` Rules — Validation rules performed in the payment methods flow.
  - `payment` PaymentConfig — Group of configurations related to the payment methods flow.
    - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
    - `update_balance_after_discharge` boolean — If set to `true`, the platform updates account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates account balances during the authorization process. This field applies to credit authorizations only.
    - `rules` Rules — Validation rules performed in the payment methods flow.
  - `transfer` TransferConfig — Group of configurations related to the transfer flow.
    - `from` object — Group of configurations related to the source account.
      - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
      - `rules` Rules — Validation rules performed in the payment methods flow.
    - `to` object — Group of configurations related to the target account.
      - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
      - `rules` Rules — Validation rules performed in the payment methods flow.

## Response `200`

Updated successfully

- UpdatePaymentMethodsResponse — Update payment methods configuration record response
  - `authorization` AuthorizationConfig — Group of configurations related to the authorization flow.
    - `networks` object[] — List of configurations related to a network that is processed by the Payment methods API.
      - `identifier` string — Network identifier. This field is used to find the configuration based on the network name received in the payment methods authorization call. This field is not case-sensitive.
      - `hsm_keys_id` string — HSM keys ID. This field is used to find the HSM keys for performing PIN validation. This value should be provided by the Pismo representative during HSM keys creation.
    - `cancellation_threshold` integer — Time in minutes after which to cancel the operation that has been approved but hasn't received a confirmation.
    - `confirmation_verification_endpoint` string — External endpoint to call to verify whether an authorization is confirmed. If this endpoint is not configured, there is no external verification and the payment method endpoint performs a direct confirmation call.
    - `confirmation_verification_mtls` boolean — Should the confirmation verification endpoint be called using Mutual Transport Layer Security (mTLS)? This can only be `true` if `confirmation_verification_endpoint` and `confirmation_verification_mtls_prefix` are passed. Default is `false`.
    - `confirmation_verification_mtls_prefix` string — Prefix to be used when the verification endpoint is called using mTLS. This prefix is appended to the host configured in the confirmation verification endpoint when using mTLS. The prefix can be set and is **REQUIRED** only if `confirmation_verification_mtls` is `true` and the `confirmation_verification_endpoint` is configured.
    - `confirmation_verification_rate` integer — Time in minutes for the platform to call the external endpoint to verify whether the authorization is confirmed. This verification takes place until either the authorization is confirmed or until the number of minutes specified in this field is reached. If this field is present, the `confirmation_verification_endpoint` is required.
    - `allow_authorization_by_document_number` boolean — Is org/program/account allowed to be authorized using document number as the account holder verification method? Default is `false`.
    - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
    - `update_balance_after_discharge` boolean — If set to `true`, the platform updates account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates account balances during the authorization process. This field applies to credit authorizations only.
    - `rules` Rules — Validation rules performed in the payment methods flow.
  - `payment` PaymentConfig — Group of configurations related to the payment methods flow.
    - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
    - `update_balance_after_discharge` boolean — If set to `true`, the platform updates account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates account balances during the authorization process. This field applies to credit authorizations only.
    - `rules` Rules — Validation rules performed in the payment methods flow.
  - `transfer` TransferConfig — Group of configurations related to the transfer flow.
    - `from` object — Group of configurations related to the source account.
      - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
      - `rules` Rules — Validation rules performed in the payment methods flow.
    - `to` object — Group of configurations related to the target account.
      - `require_external_authentication` boolean — Does this org/program/account require a call to an external authentication entity? Default is `false`.
      - `rules` Rules — Validation rules performed in the payment methods flow.

## Other responses

- `400` — Bad request
- `401` — Access token is missing or invalid
- `403` — The request has been lost
- `404` — Not Found
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/versions/935b62e16de4/schema)
