---
title: "Update order form configuration"
method: PATCH
path: "/api/checkout/pvt/configuration/orderForm"
tags: ["Configuration"]
---

# Update order form configuration

`PATCH /api/checkout/pvt/configuration/orderForm`

Determines settings that will apply to every orderForm in the account.

For example, if you create an app using this request, every orderForm of this account will have the custom fields created though it.

>ℹ️ Always retrieve the current configuration before performing an update to ensure that you are modifying only the properties you want. Otherwise, old values can be overwritten. To retrieve the current configuration, use the request [Get orderForm configuration](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pvt/configuration/orderForm).

## Permissions

Any user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:

| **Product** | **Category** | **Resource** |
| --------------- | ----------------- | ----------------- |
| Checkout | CheckoutResources | **Save OrderForm Configuration** |

There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).

>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.

## Query parameters

- `individualShippingEstimates` boolean

## Headers

- `Content-Type` string, required
- `Accept` string, required

## Request body

- UpdateorderFormconfigurationRequest — Request body for updating order form configuration.
  - `paymentConfiguration` PaymentConfiguration, required — Payment Configuration object.
    - `requiresAuthenticationForPreAuthorizedPaymentOption` boolean, required — Determines whether pre-authorized payments require authentication.
    - `allowInstallmentsMerge` boolean — By default (when `false`), on a multi-seller purchase is on the run, a simple intersection with installments options configured by every seller will be available. When `true`, this option allows a more complex but flexible installment option, since it considers max installments of every seller configuration, even if those don't match. Installment values ​​may not be equal in this case.
    - `blockPaymentSession` boolean — Indicates whether shoppers can add credit cards in your store's `My Account` section.
  - `taxConfiguration` object, nullable, required — External tax service configuration.
    - `url` string, nullable — Endpoint URL.
    - `authorizationHeader` string, nullable — Authorization header.
    - `appId` string — Custom data ID sent to the tax system.
    - `isMarketplaceResponsibleForTaxes` unknown
  - `minimumQuantityAccumulatedForItems` integer, required — Minimum SKU quantity by cart.
  - `decimalDigitsPrecision` integer, required — Number of price digits.
  - `minimumValueAccumulated` integer, nullable, required — Minimum cart value.
  - `apps` object[], nullable, required — Array of objects containing Apps configuration information.
    - `id` string — App ID.
    - `fields` string[] — Array of fields available to the app.
    - `major` integer — App major version.
  - `allowMultipleDeliveries` boolean, nullable, required — On the same purchase, allows the selection of items from multiple delivery channels.
  - `allowManualPrice` boolean, nullable, required — Allows the editing of SKU prices right in the cart.
  - `maxNumberOfWhiteLabelSellers` integer — Allows the input of a limit of white label sellers involved on the cart.
  - `maskFirstPurchaseData` boolean — Allows, on a first purchase, masking client's data. It could be useful when a shared cart is used and the client doesn't want to share its data.
  - `maskStateOnAddress` boolean — If the response body is masked, on a first purchase, this flag causes the state (UF) to be masked. The default behavior is to be masked.
  - `recaptchaValidation` string, nullable — Configures reCAPTCHA validation for the account, defining in which situations the shopper will be prompted to validate a purchase with reCAPTCHA. Learn more about [reCAPTCHA validation for VTEX stores](https://help.vtex.com/tutorial/recaptcha-no-checkout--18Te3oDd7f4qcjKu9jhNzP) Possible values are: - `"never"`: no purchases are validated with reCAPTCHA. - `null`: no purchases are validated with reCAPTCHA. The same as `never`. - `"always"`: every purchase is validated with reCAPTCHA. - `"vtexCriteria"`: only some purchases are validated with reCAPTCHA in order to minimize friction and improve shopping experience. VTEX’s algorithm determines which sessions are trustworthy and which should be validated with reCAPTCHA. This is the recommended option.
  - `paymentSystemToCheckFirstInstallment` string — If you want to apply a first installment discount to a particular payment system, set this field to that payment system's ID. Learn more: [Configuring a discount for orders prepaid in full](https://help.vtex.com/en/tutorial/configurar-desconto-de-preco-a-vista--7Lfcj9Wb5dpYfA2gKkACIt).

## Response `204`

No Content

---

[API](https://skmtc.net/vtex/apis/checkout-api.md) · [All operations](https://skmtc.net/vtex/apis/checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vtex/checkout-api/versions/fc777477b318/schema)
