VTEX Custom Data API

The Custom Data API from VTEX — 2 operation(s) for custom data.

Operations 3

PUT /api/checkout/pub/orderForm/{orderFormId}/customData/{appId} VTex Set multiple custom field values #
PUT /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName} VTex Set single custom field value #
DELETE /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName} VTex Remove single custom field value #

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vtex-custom-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vtex-custom-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VTex Checkout Custom Data API
  description: '>ℹ️ Check the new [Checkout onboarding guide](https://developers.vtex.com/vtex-rest-api/docs/checkout-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about the Checkout and is organized by focusing on the developer''s journey.


    The Checkout API allows you to obtain and configure information about the shopping cart and its attachments, personalization of custom fields, orderForm structure, fulfillment data, order management, and identification of the sellers delivery region.


    >ℹ️ Data modification operations (`POST`, `PATCH`, `PUT` or `DELETE` endpoints) shall not be performed in parallel in the Checkout APIs. They need to be enqueued by the client/requester. Otherwise, old values ​​can be overwritten incorrectly or competition errors may occur.


    >⚠️ All endpoints that consult or edit the orderForm can change the authentication depending on the customer context. If you are handling information from a customer with a complete profile on the store, authentication will be required. You can only access or modify the customer data for these profiles with an authenticated request.


    ## Shopping cart


    Allows merchants to simulate, configure and customize shopping cart information.


    - [POST - Cart Simulation](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForms/simulation): simulate a cart in VTEX Checkout.

    - [GET - Get current or create a new cart](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/orderForm): get your current shopping cart information or to create a new cart.

    - [GET - Get cart information by ID](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/orderForm/-orderFormId-): get all information associated to a given shopping cart.

    - [POST - Add cart items](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/items): add a new item to the shopping cart.

    - [POST - Update cart items](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/items/update): change the quantity of one or more items in a specific cart or remove an item from the cart.

    - [PATCH - Handle cart items](https://developers.vtex.com/docs/api-reference/checkout-api#patch-/api/checkout/pub/orderForm/-orderFormId-/items): change the quantity or price of one or more items to the shopping cart or add a new item to the shopping cart.

    - [POST - Remove all items](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/items/removeAll): removes all items from a given cart, leaving it empty.

    - [PUT - Change price](https://developers.vtex.com/docs/api-reference/checkout-api#put-/api/checkout/pub/orderForm/-orderFormId-/items/-itemIndex-/price): changes the price of an SKU in a cart.

    - [GET - Cart installments](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/orderForm/-orderFormId-/installments): retrieves possible amount of installments and respective values for a given cart with a given payment method.


    ## Cart attachments


    Allows merchants to obtain client profiles and add information to a given shopping cart.


    - [GET - Get client profile by email](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/profiles): retrieve a client''s profile information by providing an email address.

    - [POST - Add client profile](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/attachments/clientProfileData): include client profile information to a given shopping cart.

    - [Patch - Ignore profile data](https://developers.vtex.com/docs/api-reference/checkout-api#patch-/api/checkout/pub/orderForm/-orderFormId-/profile): disable the automatic inclusion of profile information in a shopping cart when a shopper provides an email address at checkout.

    - [GET - Remove all personal data](https://developers.vtex.com/docs/api-reference/checkout-api#get-/checkout/changeToAnonymousUser/-orderFormId-): removes all user information, making a cart anonymous while leaving the items.

    - [POST - Add client preferences](https://developers.vtex.com/docs/api-reference/checkout-api#patch-/api/checkout/pub/orderForm/-orderFormId-/items): include client preferences information to a given shopping cart.

    - [POST - Add shipping address and select delivery option](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/attachments/shippingData): include shipping information and/or selected delivery option to a given shopping cart.

    - [POST - Add marketing data](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/attachments/marketingData): include marketing information to a given shopping cart.

    - [POST - Add payment data](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/attachments/paymentData): include payment information to a given shopping cart.

    - [POST - Add merchant context data](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/attachments/merchantContextData): add to the cart any relevant information that is related to the context of a specific order.

    - [POST - Add coupons to the cart](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/coupons): add coupons to a given shopping cart.


    ## Custom data


    Allows merchants to manage custom fields that were created by an app in their account.


    - [PUT - Set multiple custom field values](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/coupons): allows you to update the values of custom fields created in your account''s apps.

    - [PUT - Set single custom field value](https://developers.vtex.com/docs/api-reference/checkout-api#put-/api/checkout/pub/orderForm/-orderFormId-/customData/-appId-/-appFieldName-): allows you to update the value of a specific custom field created in your account''s apps.

    - [DELETE - Remove single custom field value](https://developers.vtex.com/docs/api-reference/checkout-api#delete-/api/checkout/pub/orderForm/-orderFormId-/customData/-appId-/-appFieldName-): allows you to remove the value of a specific custom field created in your account''s apps.


    ## Configuration


    Allows merchants to configure orderForm in the account and seller exchange on a given order.


    - [GET - Get orderForm configuration](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pvt/configuration/orderForm): retrieves the settings that are currently applied to every [`orderForm`](https://developers.vtex.com/docs/guides/orderform-fields) in the account.

    - [POST - Update orderForm configuration](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pvt/configuration/orderForm): determines settings that will apply to every [`orderForm`](https://developers.vtex.com/docs/guides/orderform-fields) in the account.

    - [GET - Get window to change seller](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pvt/configuration/window-to-change-seller): retrieves a marketplace’s window to change seller.

    - [POST - Update window to change seller](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pvt/configuration/window-to-change-seller): updates a marketplace’s window to change seller.

    - [POST - Clear orderForm messages](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/messages/clear): removes all messages from the `messages` field of the [`orderForm`](https://developers.vtex.com/docs/guides/orderform-fields).


    ## Fulfillment


    Allows merchants to obtain pickup points and address information.


    - [GET - List pickup points by location](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/pickup-points): retrieves information on pickup points close to a given location determined by geocoordinates or postal code.

    - [GET - Get address by postal code](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/postal-code/-countryCode-/-postalCode-): retrieves address information for a given postal code and country.


    ## Order placement


    Allows merchants to place and process orders by creating a new cart or using an existing cart.


    - [POST - Place order from an existing cart](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/orderForm/-orderFormId-/transaction): places an order from an existing [`orderForm`](https://developers.vtex.com/docs/guides/orderform-fields) object, meaning an existing cart.

    - [PUT - Place order](https://developers.vtex.com/docs/api-reference/checkout-api#put-/api/checkout/pub/orders): places order without having any prior cart information.

    - [POST - Process order](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pub/gatewayCallback/-orderGroup-): order processing callback request, which is made after an order''s payment is approved.


    ## Region


    Allows merchants to obtain a list of sellers serving a specific delivery region.


    - [GET - Get sellers by region or address](https://developers.vtex.com/docs/api-reference/checkout-api#get-/api/checkout/pub/regions/-regionId-)": retrieves a list of sellers that cater to a specific region or address.


    ## Common parameters in the documentation


    | Parameter name            | Description                                                                             |

    |---------------------------|-----------------------------------------------------------------------------------------|

    | `{{accountName}}`         | Store account name                                                                      |

    | `{{environment}}`         | The environment that will be called. Change for vtexcommercestable or vtexcommmercebeta |

    | `{{X-VTEX-API-AppKey}}`   | Located in the headers of the requests, user authentication key                         |

    | `{{X-VTEX-API-AppToken}}` | Located in the headers of the requests, authentication password                         |

    '
  contact: {}
  version: '1.0'
servers:
- url: https://{accountName}.{environment}.com.br
  description: VTEX server URL.
  variables:
    accountName:
      description: Name of the VTEX account. Used as part of the URL
      default: apiexamples
    environment:
      description: Environment to use. Used as part of the URL.
      enum:
      - vtexcommercestable
      default: vtexcommercestable
security:
- appKey: []
  appToken: []
- VtexIdclientAutCookie: []
tags:
- name: Custom Data
paths:
  /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}:
    put:
      tags:
      - Custom Data
      summary: VTex Set multiple custom field values
      description: 'Your account may create `apps`, which contain custom fields, through the [Update orderForm configuration](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pvt/configuration/orderForm) request. The values of these custom fields can then be updated by this request.


        To do that, you need to inform the ID of the app you created with the configuration API (`appId`).


        In the body of the request, for each field created in this app (`appFieldName`) you will inform a value (`appFieldValue`).


        The [orderForm](https://developers.vtex.com/docs/guides/orderform-fields) is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the `orderFormId` is the identification code of a given cart.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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 | **Read Shopping Cart** |


        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 app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: SetMultipleCustomFieldValues
      security: []
      parameters:
      - name: orderFormId
        in: path
        description: ID of the orderForm that will receive the new custom field values.
        required: true
        style: simple
        schema:
          type: string
          example: 29154e27383145cc8ce1f7a1df0d99c4
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - name: appId
        in: path
        description: ID of the app created with the configuration API.
        required: true
        style: simple
        schema:
          type: string
          example: appId
      requestBody:
        content:
          application/json:
            schema:
              description: Here you must add the pairs of Field Name and Field Value.
              type: object
              additionalProperties: true
              example:
                fieldName: fieldValue
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderForm'
              example:
                orderFormId: ede846222cd44046ba6c638442c3505a
                salesChannel: '1'
                loggedIn: false
                isCheckedIn: false
                storeId: '1'
                checkedInPickupPointId: '21'
                allowManualPrice: false
                canEditData: true
                userProfileId: fb542e51-5488-4c34-8d17-ed8fcf597a94
                userType: User type
                ignoreProfileData: false
                value: 10000
                messages: []
                items:
                - uniqueId: E0F2B7AF5CD74D668F1E27537206912C
                  id: '1'
                  productId: '1'
                  productRefId: '1'
                  refId: '0001'
                  ean: '123456789'
                  name: Ração Royal Canin Feline Urinary 500g
                  skuName: Ração Royal Canin Feline Urinary 500g
                  modalType: null
                  parentItemIndex: null
                  parentAssemblyBinding: null
                  assemblies: []
                  priceValidUntil: '2021-02-27T14:59:00.8288784Z'
                  tax: 0
                  price: 15000
                  listPrice: 30000
                  manualPrice: 10000
                  sellingPrice: 10000
                  rewardValue: 0
                  isGift: false
                  additionalInfo:
                    brandName: Royal Canin
                    brandId: '2000000'
                    offeringInfo: null
                    offeringType: null
                    offeringTypeId: null
                  preSaleDate: null
                  productCategoryIds: /1/10/
                  productCategories:
                    '1': Alimentação
                    '10': Ração Seca
                  quantity: 1
                  seller: '1'
                  sellerChain:
                  - '1'
                  imageUrl: http://lojadobreno.vteximg.com.br/arquivos/ids/155450-55-55/Racao-Royal-Canin-Feline-Urinary-SO.jpg?v=637139444438700000
                  detailUrl: /racao-royal-canin-feline-urinary/p
                  components: []
                  bundleItems: []
                  attachments: []
                  attachmentOfferings: []
                  offerings: []
                  priceTags:
                  - name: DISCOUNT@MANUALPRICE
                    value: -5000
                    rawValue: -50
                    isPercentual: false
                    identifier: null
                  availability: available
                  measurementUnit: un
                  unitMultiplier: 1
                  manufacturerCode: null
                selectableGifts: []
                totalizers:
                - id: Items
                  name: Total dos Itens
                  value: 15000
                - id: Discounts
                  name: Total dos Descontos
                  value: -5000
                shippingData:
                  address: null
                  logisticsInfo:
                  - itemIndex: 0
                    selectedSla: Normal
                    selectedDeliveryChannel: delivery
                    addressId: 666c2e830bd9474ab6f6cc53fb6dd2d2
                    slas: []
                    shipsTo:
                    - BRA
                    itemId: '1'
                    deliveryChannels:
                    - id: pickup-in-point
                    - id: delivery
                  selectedAddresses: []
                  availableAddresses: []
                  pickupPoints: []
                clientProfileData: null
                paymentData:
                  installmentOptions:
                  - paymentSystem: 2
                    bin: null
                    paymentName: null
                    paymentGroupName: null
                    value: 10000
                    installments:
                    - count: 1
                      hasInterestRate: false
                      interestRate: 0
                      value: 10000
                      total: 10000
                      sellerMerchantInstallments:
                      - id: LOJADOBRENO
                        count: 1
                        hasInterestRate: false
                        interestRate: 0
                        value: 10000
                        total: 10000
                    - count: 2
                      hasInterestRate: false
                      interestRate: 0
                      value: 5000
                      total: 10000
                      sellerMerchantInstallments:
                      - id: LOJADOBRENO
                        count: 2
                        hasInterestRate: false
                        interestRate: 0
                        value: 5000
                        total: 10000
                  paymentSystems:
                  - id: 2
                    name: Visa
                    groupName: creditCardPaymentGroup
                    validator:
                      regex: ^4[0-9]{15}$
                      mask: 9999 9999 9999 9999
                      cardCodeRegex: ^[0-9]{3}$
                      cardCodeMask: '999'
                      weights:
                      - 2
                      - 1
                      - 2
                      - 1
                      useCvv: true
                      useExpirationDate: true
                      useCardHolderName: true
                      useBillingAddress: true
                    stringId: '2'
                    template: creditCardPaymentGroup-template
                    requiresDocument: false
                    isCustom: false
                    description: Payment description
                    requiresAuthentication: false
                    dueDate: '2020-03-05T16:42:31.7836281Z'
                    availablePayments: null
                  payments:
                  - paymentSystem: 6
                    bin: null
                    accountId: '12'
                    tokenId: null
                    value: 34390
                    referenceValue: 34390
                    giftCardRedemptionCode: null
                    giftCardProvider: null
                    giftCardId: null
                  giftCards: []
                  giftCardMessages: []
                  availableAccounts: []
                  availableTokens: []
                marketingData: null
                sellers:
                - id: '1'
                  name: lojadobreno
                  logo: Logo
                clientPreferencesData:
                  locale: pt-BR
                  optinNewsLetter: null
                commercialConditionData: null
                storePreferencesData:
                  countryCode: BRA
                  saveUserData: true
                  timeZone: E. South America Standard Time
                  currencyCode: BRL
                  currencyLocale: 1046
                  currencySymbol: R$
                  currencyFormatInfo:
                    currencyDecimalDigits: 2
                    currencyDecimalSeparator: ','
                    currencyGroupSeparator: .
                    currencyGroupSize: 3
                    startsWithCurrencySymbol: true
                giftRegistryData: null
                openTextField: null
                invoiceData: null
                customData:
                  customApps:
                  - fields:
                      testField1: testValue1
                      testField2: testValue2
                    id: abcd
                    major: 1
                itemMetadata:
                  items:
                  - id: '1'
                    seller: '1'
                    name: Ração Royal Canin Feline Urinary 500g
                    skuName: Ração Royal Canin Feline Urinary 500g
                    productId: '1'
                    refId: '0001'
                    ean: '123456789'
                    imageUrl: http://lojadobreno.vteximg.com.br/arquivos/ids/155450-55-55/Racao-Royal-Canin-Feline-Urinary-SO.jpg?v=637139444438700000
                    detailUrl: /racao-royal-canin-feline-urinary/p
                    assemblyOptions: []
                hooksData: null
                ratesAndBenefitsData:
                  rateAndBenefitsIdentifiers: []
                  teaser: []
                subscriptionData: null
                itemsOrdination:
                  criteria: NAME
                  ascending: true
      deprecated: false
  /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName}:
    put:
      tags:
      - Custom Data
      summary: VTex Set single custom field value
      description: 'Your account may create `apps`, which contain custom fields, through the [Update orderForm configuration](https://developers.vtex.com/docs/api-reference/checkout-api#post-/api/checkout/pvt/configuration/orderForm) request. The value of a specific custom field can then be updated by this request.


        To do that, you need to inform in the URL the ID of the app you created with the configuration API (`appId`).


        In the body of the request, you will inform the new value (`appFieldValue`, passed through the body) of the specific field created in this app (identified by the `appFieldName` parameter, passed through the URL).


        The [orderForm](https://developers.vtex.com/docs/guides/orderform-fields) is the data structure which represents a shopping cart and contains all information pertaining to it. Hence, the `orderFormId` is the identification code of a given cart.


        ## Permissions


        Any user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-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 | **Read Shopping Cart** |


        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 app keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.'
      operationId: SetSingleCustomFieldValue
      security: []
      parameters:
      - name: orderFormId
        in: path
        description: The ID of the orderForm whose custom field's value you want to change.
        required: true
        style: simple
        schema:
          type: string
          example: 29154e27383145cc8ce1f7a1df0d99c4
      - name: appId
        in: path
        description: ID of the app created through the Update orderForm Configuration endpoint.
        required: true
        style: simple
        schema:
          type: string
          example: appId
      - name: appFieldName
        in: path
        description: Name of the app's field created through the Update orderForm Configuration endpoint.
        required: true
        style: simple
        schema:
          type: string
          example: appFieldName
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetsinglecustomfieldvalueRequest'
            example:
              value: '{appFieldValue}'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                orderFormId: ede846222cd44046ba6c638442c3505a
                salesChannel: '1'
                loggedIn: false
                isCheckedIn: false
                storeId: '1'
                checkedInPickupPointId: '21'
                allowManualPrice: false
                canEditData: true
                userProfileId: fb542e51-5488-4c34-8d17-ed8fcf597a94
                userType: User type
                ignoreProfileData: false
                value: 10000
                messages: []
                items:
                - uniqueId: E0F2B7AF5CD74D668F1E27537206912C
                  id: '1'
                  productId: '1'
                  productRefId: '1'
                  refId: '0001'
                  ean: '123456789'
                  name: Ração Royal Canin Feline Urinary 500g
                  skuName: Ração Royal Canin Feline Urinary 500g
                  modalType: null
                  parentItemIndex: null
                  parentAssemblyBinding: null
                  assemblies: []
                  priceValidUntil: '2021-02-27T14:59:00.8288784Z'
                  tax: 0
                  price: 15000
                  listPrice: 30000
                  manualPrice: 10000
                  sellingPrice: 10000
                  rewardValue: 0
                  isGift: false
                  additionalInfo:
                    brandName: Royal Canin
                    brandId: '2000000'
                    offeringInfo: null
                    offeringType: null
                    offeringTypeId: null
                  preSaleDate: null
                  productCategoryIds: /1/10/
                  productCategories:
                    '1': Alimentação
                    '10': Ração Seca
                  quantity: 1
                  seller: '1'
                  sellerChain:
                  - '1'
                  imageUrl: http://lojadobreno.vteximg.com.br/arquivos/ids/155450-55-55/Racao-Royal-Canin-Feline-Urinary-SO.jpg?v=637139444438700000
                  detailUrl: /racao-royal-canin-feline-urinary/p
                  components: []
                  bundleItems: []
                  attachments: []
                  attachmentOfferings: []
                  offerings: []
                  priceTags:
                  - name: DISCOUNT@MANUALPRICE
                    value: -5000
                    rawValue: -50
                    isPercentual: false
                    identifier: null
                  availability: available
                  measurementUnit: un
                  unitMultiplier: 1
                  manufacturerCode: null
                selectableGifts: []
                totalizers:
                - id: Items
                  name: Total dos Itens
                  value: 15000
                - id: Discounts
                  name: Total dos Descontos
                  value: -5000
                shippingData:
                  address: null
                  logisticsInfo:
                  - itemIndex: 0
                    selectedSla: Normal
                    selectedDeliveryChannel: delivery
                    addressId: 666c2e830bd9474ab6f6cc53fb6dd2d2
                    slas: []
                    shipsTo:
                    - BRA
                    itemId: '1'
                    deliveryChannels:
                    - id: pickup-in-point
                    - id: delivery
                  selectedAddresses: []
                  availableAddresses: []
                  pickupPoints: []
                clientProfileData: null
                paymentData:
                  installmentOptions:
                  - paymentSystem: 2
                    bin: null
                    paymentName: null
                    paymentGroupName: null
                    value: 10000
                    installments:
                    - count: 1
                      hasInterestRate: false
                      interestRate: 0
                      value: 10000
                      total: 10000
                      sellerMerchantInstallments:
                      - id: LOJADOBRENO
                        count: 1
                        hasInterestRate: false
                        interestRate: 0
                        value: 10000
                        total: 10000
                    - count: 2
                      hasInterestRate: false
                      interestRate: 0
                      value: 5000
                      total: 10000
                      sellerMerchantInstallments:
                      - id: LOJADOBRENO
                        count: 2
                        hasInterestRate: false
                        interestRate: 0
                        value: 5000
                        total: 10000
                  paymentSystems:
                  - id: 2
                    name: Visa
                    groupName: creditCardPaymentGroup
                    validator:
                      regex: ^4[0-9]{15}$
                      mask: 9999 9999 9999 9999
                      cardCodeRegex: ^[0-9]{3}$
                      cardCodeMask: '999'
                      weights:
                      - 2
                      - 1
                      - 2
                      - 1
                      - 2
                      useCvv: true
                      useExpirationDate: true
                      useCardHolderName: true
                      useBillingAddress: true
                    stringId: '2'
                    template: creditCardPay

# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vtex/refs/heads/main/openapi/vtex-custom-data-api-openapi.yml