{"files":{"SKILL.md":"---\nname: checkout-api\ndescription: \"Checkout API skill. Use when working with Checkout for api, checkout. Covers 44 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Checkout API\nAPI version: 1.0\n\n## Auth\nApiKey X-VTEX-API-AppKey in header | ApiKey X-VTEX-API-AppToken in header | ApiKey VtexIdclientAutCookie in header\n\n## Base URL\nhttps://apiexamples.vtexcommercestable.com.br\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /api/checkout/pub/orderForm -- verify access\n3. POST /api/checkout/pub/orderForms/simulation -- create first simulation\n\n## Endpoints\n\n44 endpoints across 2 groups. See references/api-spec.lap for full details.\n\n### api\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /api/checkout/pub/orderForms/simulation | Cart simulation |\n| GET | /api/checkout/pub/orderForm | Get current or create a new cart |\n| GET | /api/checkout/pub/orderForm/{orderFormId} | Get cart information by ID |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/items/removeAll | Remove all items from shopping cart |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/items/update | Update cart items |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/items | Add cart items |\n| PATCH | /api/checkout/pub/orderForm/{orderFormId}/items | Handle cart items |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/price | Change price of an SKU in a cart |\n| DELETE | /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/price | Delete manual price of an SKU in a cart |\n| PATCH | /api/checkout/pub/orderForm/{orderFormId}/profile | Ignore profile data on checkout |\n| GET | /api/checkout/pub/profiles | Get client profile by email |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/clientProfileData | Add client profile |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/shippingData | Add shipping address and select delivery option |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/clientPreferencesData | Add client preferences |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/marketingData | Add marketing data |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/paymentData | Add payment data |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/attachments/{attachmentName} | Add item attachment |\n| DELETE | /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/attachments/{attachmentName} | Remove item attachment |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/subscriptionData | Add item subscription attachment |\n| DELETE | /api/checkout/pub/orderForm/{orderFormId}/attachments/subscriptionData | Remove item subscription attachment |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/merchantContextData | Add merchant context data |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/attachments/invoiceData | Attach invoice data |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/customData/{appId} | Set multiple custom field values |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName} | Set single custom field value |\n| DELETE | /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName} | Remove single custom field value |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/customFields | Batch add custom fields |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/customFields/order | Add order custom field |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/customFields/item/{itemId} | Add item custom field |\n| DELETE | /api/checkout/pub/orderForm/{orderFormId}/customFields/item/{itemId} | Remove item custom field |\n| PUT | /api/checkout/pub/orderForm/{orderFormId}/customFields/address/{addressId} | Add address custom field |\n| GET | /api/checkout/pvt/configuration/orderForm | Get order form configuration |\n| POST | /api/checkout/pvt/configuration/orderForm | Update order form configuration |\n| GET | /api/checkout/pvt/configuration/window-to-change-seller | Get window to change seller |\n| POST | /api/checkout/pvt/configuration/window-to-change-seller | Update window to change seller |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/messages/clear | Clear order form messages |\n| GET | /api/checkout/pub/orderForm/{orderFormId}/installments | Cart installments |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/coupons | Add coupons to the cart |\n| GET | /api/checkout/pub/pickup-points | List pickup points by location |\n| GET | /api/checkout/pub/postal-code/{countryCode}/{postalCode} | Get address by postal code |\n| POST | /api/checkout/pub/orderForm/{orderFormId}/transaction | Place order from an existing cart |\n| PUT | /api/checkout/pub/orders | Place order |\n| POST | /api/checkout/pub/gatewayCallback/{orderGroup} | Process order |\n| GET | /api/checkout/pub/regions/{regionId} | Get sellers by region or address |\n\n### checkout\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /checkout/changeToAnonymousUser/{orderFormId} | Remove all personal data from shopping cart |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a simulation?\" -> POST /api/checkout/pub/orderForms/simulation\n- \"List all orderForm?\" -> GET /api/checkout/pub/orderForm\n- \"Get orderForm details?\" -> GET /api/checkout/pub/orderForm/{orderFormId}\n- \"Create a removeAll?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/items/removeAll\n- \"Get changeToAnonymousUser details?\" -> GET /checkout/changeToAnonymousUser/{orderFormId}\n- \"Create a update?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/items/update\n- \"Create a item?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/items\n- \"List all profiles?\" -> GET /api/checkout/pub/profiles\n- \"Create a clientProfileData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/clientProfileData\n- \"Create a shippingData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/shippingData\n- \"Create a clientPreferencesData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/clientPreferencesData\n- \"Create a marketingData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/marketingData\n- \"Create a paymentData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/paymentData\n- \"Delete a attachment?\" -> DELETE /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/attachments/{attachmentName}\n- \"Create a subscriptionData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/subscriptionData\n- \"Create a merchantContextData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/merchantContextData\n- \"Create a invoiceData?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/attachments/invoiceData\n- \"Update a customData?\" -> PUT /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}\n- \"Update a customData?\" -> PUT /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName}\n- \"Delete a customData?\" -> DELETE /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName}\n- \"Update a item?\" -> PUT /api/checkout/pub/orderForm/{orderFormId}/customFields/item/{itemId}\n- \"Delete a item?\" -> DELETE /api/checkout/pub/orderForm/{orderFormId}/customFields/item/{itemId}\n- \"Update a address?\" -> PUT /api/checkout/pub/orderForm/{orderFormId}/customFields/address/{addressId}\n- \"List all orderForm?\" -> GET /api/checkout/pvt/configuration/orderForm\n- \"Create a orderForm?\" -> POST /api/checkout/pvt/configuration/orderForm\n- \"List all window-to-change-seller?\" -> GET /api/checkout/pvt/configuration/window-to-change-seller\n- \"Create a window-to-change-seller?\" -> POST /api/checkout/pvt/configuration/window-to-change-seller\n- \"Create a clear?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/messages/clear\n- \"List all installments?\" -> GET /api/checkout/pub/orderForm/{orderFormId}/installments\n- \"Create a coupon?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/coupons\n- \"List all pickup-points?\" -> GET /api/checkout/pub/pickup-points\n- \"Get postal-code details?\" -> GET /api/checkout/pub/postal-code/{countryCode}/{postalCode}\n- \"Create a transaction?\" -> POST /api/checkout/pub/orderForm/{orderFormId}/transaction\n- \"Get region details?\" -> GET /api/checkout/pub/regions/{regionId}\n- \"How to authenticate?\" -> See Auth section\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints typically return the created/updated object\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get checkout-api -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search checkout-api\n```\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Checkout API\n@base https://apiexamples.vtexcommercestable.com.br\n@version 1.0\n@auth ApiKey X-VTEX-API-AppKey in header | ApiKey X-VTEX-API-AppToken in header | ApiKey VtexIdclientAutCookie in header\n@common_fields {Content-Type: str=application/json # Type of the content being sent., Accept: str=application/json # HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand., individualShippingEstimates: bool # Shows the product's estimated shipping date in the `shippingEstimate` field from the `orderForm`.}\n@endpoints 44\n@hint download_for_search\n@toc api(43), checkout(1)\n\n@group api\n@endpoint POST /api/checkout/pub/orderForms/simulation\n@desc Cart simulation\n@optional {RnbBehavior: int # This parameter defines which promotions apply to the simulation. Use `0` for simulations at cart stage, which means all promotions apply. In case of window simulation use `1`, which indicates promotions that apply nominal discounts over the total purchase value shouldn't be considered on the simulation. \r \rNote that if this not sent, the parameter is `1`., sc: int # Trade Policy (Sales Channel) identification., items: [map{id!: str, quantity!: int(int32), seller!: str}] # Array containing information about the SKUs inside the cart to be simulated., country: str # Three letter ISO code of the country of the shipping address. This value must be sent along with the `postalCode` or `geoCoordinates` values., postalCode: str # Postal code., geoCoordinates: [num] # Array containing two floats with geocoordinates, first longitude, then latitude., allowedOutdatedData: [str] # Array of allowed data that can be skipped in the cart simulation.}\n@returns(200) {items: [map], ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, paymentData: map{installmentOptions: [map], paymentSystems: [map], payments: [map], giftCards: [str], giftCardMessages: [str], availableAccounts: [str], availableTokens: [str], availableAssociations: map}, selectableGifts: [str], marketingData: map?, postalCode: str?, country: str, logisticsInfo: [map]} # OK\n@example_request {\"items\":[{\"id\":\"12345\",\"quantity\":2,\"seller\":\"1\"},{\"id\":\"67890\",\"quantity\":1,\"seller\":\"2\"}],\"country\":\"BRA\",\"postalCode\":\"12345-000\",\"geoCoordinates\":[-47.924747,-15.832582],\"allowedOutdatedData\":[\"inventoryData\",\"promotionData\",\"paymentData\"]}\n\n@endpoint GET /api/checkout/pub/orderForm\n@desc Get current or create a new cart\n@optional {forceNewCart: bool # Use this query parameter to create a new empty shopping cart.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n\n@endpoint GET /api/checkout/pub/orderForm/{orderFormId}\n@desc Get cart information by ID\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose information you want to retrieve.}\n@optional {refreshOutdatedData: bool # It is possible to use the [Update cart items request](https://developers.vtex.com/vtex-rest-api/reference/cart-update#itemsupdate) so as to allow outdated information in the `orderForm`, which may improve performance in some cases. To guarantee that all cart information is updated, send this request with this parameter as `true`. We recommend doing this in the final stages of the shopping experience, starting from the checkout page.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/items/removeAll\n@desc Remove all items from shopping cart\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose items you want to remove.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {}\n\n@endgroup\n\n@group checkout\n@endpoint GET /checkout/changeToAnonymousUser/{orderFormId}\n@desc Remove all personal data from shopping cart\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose user's personal data you want to remove.}\n@returns(200) OK\n\n@endgroup\n\n@group api\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/items/update\n@desc Update cart items\n@required {orderFormId: str # ID of the `orderForm` corresponding to the cart whose items you want to update.}\n@optional {allowedOutdatedData: [str] # In order to optimize performance, this parameter allows some information to not be updated when there are changes in the minicart. For instance, if a shopper adds another unit of a given SKU to the cart, it may not be necessary to recalculate payment information, which could impact performance. \r \rThis array accepts strings and currently the only possible value is `”paymentData”`., orderItems: [map{quantity: int(int32), index: int}] # Array containing the cart items. Each object inside this array corresponds to a different item.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"orderItems\":[{\"quantity\":3,\"index\":0},{\"quantity\":1,\"index\":1},{\"quantity\":2,\"index\":2}]}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/items\n@desc Add cart items\n@required {orderFormId: str # ID of the orderForm corresponding to the cart in which the new item will be added.}\n@optional {allowedOutdatedData: [str] # In order to optimize performance, this parameter allows some information to not be updated when there are changes in the minicart. For instance, if a shopper adds another unit of a given SKU to the cart, it may not be necessary to recalculate payment information, which could impact performance. \r \rThis array accepts strings and currently the only possible value is `”paymentData”`., orderItems: [map{quantity!: int(int32), seller!: str, id!: str, index!: int, price: int}] # Array containing the cart items. Each object inside this array corresponds to a different item.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"orderItems\":[{\"quantity\":3,\"seller\":\"1\",\"id\":\"2005\",\"index\":0,\"price\":1099}]}\n\n@endpoint PATCH /api/checkout/pub/orderForm/{orderFormId}/items\n@desc Handle cart items\n@required {orderFormId: str # ID of the orderForm corresponding to the cart in which items will be handled.}\n@optional {orderItems: [map{id!: str, quantity!: int(int32), seller!: str, index: int, price: int, attachments: [map], noSplitItem: bool, allowedOutdatedData: [str]}] # Array containing the cart items. Each object inside this array corresponds to a different item.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"orderItems\":[{\"id\":\"2005\",\"quantity\":3,\"seller\":\"1\",\"index\":0,\"price\":1099,\"attachments\":[{\"name\":\"Packages\",\"content\":{\"content\":\"content-example\"}}],\"noSplitItem\":false,\"allowedOutdatedData\":[\"paymentData\"]}]}\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/price\n@desc Change price of an SKU in a cart\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose items will have the price changed., itemIndex: str # The index of the item in the cart. Each cart item is identified by an index, starting in 0., price: int(int32) # The new price of the item.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"price\":10000}\n\n@endpoint DELETE /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/price\n@desc Delete manual price of an SKU in a cart\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose item will have the manual price deleted., itemIndex: str # The index of the item in the cart. Each cart item is identified by an index, starting in 0.}\n@returns(200) OK\n\n@endpoint PATCH /api/checkout/pub/orderForm/{orderFormId}/profile\n@desc Ignore profile data on checkout\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose items will have the price changed.}\n@optional {ignoreProfileData: bool # Indicates whether profile data should be ignored.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"ignoreProfileData\":true}\n\n@endpoint GET /api/checkout/pub/profiles\n@desc Get client profile by email\n@required {email: str # Client's email address to be searched.}\n@optional {ensureComplete: bool # Indicates whether the returned profiles must be complete or not.}\n@returns(200) {userProfileId: str, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userProfile: map{email: str?, firstName: str?, lastName: str, document: str, documentType: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool?, profileErrorOnLoading: bool?, customerClass: str?}, isComplete: bool} # OK\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/clientProfileData\n@desc Add client profile\n@required {orderFormId: str # ID of the orderForm that will receive client profile information., email: str # Customer's email address., firstName: str # Customer's first name., lastName: str # Customer's last name., documentType: str # Type of the document informed by the customer., document: str # Document number informed by the customer.}\n@optional {phone: str # Customer's phone number., corporateName: str # Company name, if the customer is a legal entity., tradeName: str # Trade name, if the customer is a legal entity., corporateDocument: str # Corporate document, if the customer is a legal entity., stateInscription: str # State inscription, if the customer is a legal entity., corporatePhone: str # Corporate phone number, if the customer is a legal entity., isCorporate: bool # Set `true` if the customer is a legal entity.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"email\":\"orders@acmecorp.com\",\"firstName\":\"Jane\",\"lastName\":\"Smith\",\"documentType\":\"cnpj\",\"document\":\"12345678000199\",\"phone\":\"+5511987654321\",\"corporateName\":\"Acme Corporation Ltda\",\"tradeName\":\"Acme Corp\",\"corporateDocument\":\"12345678000199\",\"stateInscription\":\"123456789\",\"corporatePhone\":\"+551122334455\",\"isCorporate\":true}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/shippingData\n@desc Add shipping address and select delivery option\n@required {orderFormId: str # ID of the orderForm that will receive client profile information.}\n@optional {clearAddressIfPostalCodeNotFound: bool # This field should be sent as `false` to prevent the address information from being filled in automatically based on the `postalCode` information., selectedAddresses: [map{addressType: str, receiverName: str, addressId: str, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}] # List of objects with addresses information., logisticsInfo: [map{itemIndex: int, selectedDeliveryChannel: str, selectedSla: str}] # Array with logistics information on each item of the `items` array in the `orderForm`.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"clearAddressIfPostalCodeNotFound\":false,\"selectedAddresses\":[{\"addressType\":\"residential\",\"receiverName\":\"Clark Kent\",\"addressId\":\"c3701fc4c61b4d1b91f67e81415db44d\",\"isDisposable\":true,\"postalCode\":\"12345000\",\"city\":\"Rio de Janeiro\",\"state\":\"ST\",\"country\":\"BRA\",\"street\":\"My street\",\"number\":\"1091\",\"neighborhood\":\"My neighborhood\",\"complement\":\"\",\"reference\":\"\",\"geoCoordinates\":[]}],\"logisticsInfo\":[{\"itemIndex\":0,\"selectedSla\":null,\"selectedDeliveryChannel\":null}]}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/clientPreferencesData\n@desc Add client preferences\n@required {orderFormId: str # ID of the orderForm that will receive client profile information.}\n@optional {locale: str # Locale chosen by the shopper. Determines website language., optinNewsLetter: bool # Indicates whether the shopper opted in to receive the store's news letter.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"locale\":\"pt-BR\",\"optinNewsLetter\":false}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/marketingData\n@desc Add marketing data\n@required {orderFormId: str # ID of the orderForm that will receive client profile information.}\n@optional {coupon: str # Sending an existing coupon code in this field will return the corresponding discount in the purchase. Use the [cart simulation](https://developers.vtex.com/vtex-rest-api/reference/orderform#orderformsimulation) request to check which coupons might apply before placing the order. \r \rTo send more than one coupon code to the same cart, use commas. E.g.`\"sales25, blackfriday30\"`., marketingTags: [str] # Marketing tags. Limited to a maximum of 50 items., utmSource: str # UTM source., utmMedium: str # UTM medium., utmCampaign: str # UTM campaign., utmiPage: str # UTMI page (internal utm)., utmiPart: str # UTMI part (internal utm)., utmiCampaign: str # UTMI campaign (internal utm).}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"utmSource\":\"app\",\"utmMedium\":\"CPC\",\"utmCampaign\":\"Black friday\",\"utmiPage\":\"\",\"utmiPart\":\"\",\"utmiCampaign\":\"\",\"coupon\":\"free-shipping\",\"marketingTags\":[\"tag1\",\"tag2\"]}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/paymentData\n@desc Add payment data\n@required {orderFormId: str # ID of the orderForm that will receive client profile information.}\n@optional {payments: [map{paymentSystem: int, paymentSystemName: str, group: str, installments: int, installmentsInterestRate: num, installmentsValue: int, value: int, referenceValue: int, hasDefaultBillingAddress: bool}] # Array with information on each payment chosen by the shopper.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"payments\":[{\"paymentSystem\":6,\"paymentSystemName\":\"Boleto Bancário\",\"group\":\"bankInvoicePaymentGroup\",\"installments\":1,\"installmentsInterestRate\":0,\"installmentsValue\":34390,\"value\":34390,\"referenceValue\":34390,\"hasDefaultBillingAddress\":false}]}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/attachments/{attachmentName}\n@desc Add item attachment\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose item will receive the attachment., itemIndex: str # The index of the item in the cart that will receive the attachment. Each cart item is identified by an index, starting in 0., attachmentName: str # Name of the attachment that will be added to the item. It must match one of the attachment schemas available for the item, listed in the `attachmentOfferings` field of the orderForm., content: map # Object containing the attachment's key-value pairs, where each key is a field defined by the attachment schema and each value is the content to be set for that field.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"content\":{\"vtex.subscription.key.frequency\":\"1 month\"}}\n\n@endpoint DELETE /api/checkout/pub/orderForm/{orderFormId}/items/{itemIndex}/attachments/{attachmentName}\n@desc Remove item attachment\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose item will have the attachment removed., itemIndex: str # The index of the item in the cart that will have the attachment removed. Each cart item is identified by an index, starting in 0., attachmentName: str # Name of the attachment that will be removed from the item. It must match one of the attachment schemas available for the item, listed in the `attachmentOfferings` field of the orderForm.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/subscriptionData\n@desc Add item subscription attachment\n@required {orderFormId: str # ID of the orderForm corresponding to the cart that will receive the subscription information., subscriptions: [map{itemIndex!: int, plan!: map}] # List of the item subscriptions to be attached to the cart.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"subscriptions\":[{\"itemIndex\":0,\"plan\":{\"frequency\":{\"interval\":4,\"periodicity\":\"WEEK\"},\"validity\":{\"begin\":\"2020-12-22\",\"end\":\"2023-10-21\"},\"type\":\"RECURRING_PAYMENT\"}}]}\n\n@endpoint DELETE /api/checkout/pub/orderForm/{orderFormId}/attachments/subscriptionData\n@desc Remove item subscription attachment\n@required {orderFormId: str # ID of the orderForm corresponding to the cart that will have the subscription information removed., subscriptions: [map] # List of the item subscriptions in the cart. To remove all subscription information from the cart, send an empty array.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"subscriptions\":[]}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/merchantContextData\n@desc Add merchant context data\n@required {orderFormId: str # ID of the orderForm that will receive the relevant information added by the merchant., salesAssociateData: map{salesAssociateId: str} # Sales Associate information.}\n@returns(200) {salesAssociateId: str} # OK\n@example_request {\"salesAssociateData\":{\"salesAssociateId\":\"seller123\"}}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/attachments/invoiceData\n@desc Attach invoice data\n@required {orderFormId: str # ID of the `orderForm` that will receive the invoice data., address: map{addressType: str, city: str, complement: str, country: str, geoCoordinates!: [num], neighborhood: str, number: str, postalCode!: str, reference: str, state: str, street: str} # Invoice address information.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"address\":{\"addressType\":\"residential\",\"city\":\"New York\",\"complement\":\"101\",\"country\":\"USA\",\"geoCoordinates\":[40.7986877,-73.9534529],\"neighborhood\":\"Manhattan\",\"number\":\"52\",\"postalCode\":\"10019\",\"reference\":\"Between the Upper West Side and Upper East Side\",\"state\":\"NY\",\"street\":\"North 110th Street\"}}\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}\n@desc Set multiple custom field values\n@required {orderFormId: str # ID of the orderForm that will receive the new custom field values., appId: str # ID of the app created with the configuration API.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"fieldName\":\"fieldValue\"}\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName}\n@desc Set single custom field value\n@required {orderFormId: str # The ID of the orderForm whose custom field's value you want to change., appId: str # ID of the app created through the Update orderForm Configuration endpoint., appFieldName: str # Name of the app's field created through the Update orderForm Configuration endpoint., value: str # The value you want to set to the specified field.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"value\":\"{appFieldValue}\"}\n\n@endpoint DELETE /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName}\n@desc Remove single custom field value\n@required {orderFormId: str # The ID of the orderForm from which you want to remove the custom field value., appId: str # ID of the app created through the Update orderForm Configuration endpoint., appFieldName: str # Name of the app's field created through the Update orderForm Configuration endpoint and which will be deleted.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/customFields\n@desc Batch add custom fields\n@required {orderFormId: str # ID of the orderForm that will receive the new custom fields.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request [{\"linkedEntity\":{\"type\":\"address\",\"id\":\"12345678-1234-1234-1234-123456789012\"},\"fields\":[{\"name\":\"desktop\",\"value\":\"DK1\",\"refId\":\"DK1\"}]},{\"linkedEntity\":{\"type\":\"item\",\"id\":\"E0F2B7AF5CD74D668F1E27537206912C\"},\"fields\":[{\"name\":\"costCenter\",\"value\":\"CC1\",\"refId\":\"CC1\"}]}]\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/customFields/order\n@desc Add order custom field\n@required {orderFormId: str # ID of the orderForm., name: str # Name of the custom field., value: str # Value of the custom field.}\n@optional {refId: str # Reference identifier for this custom field, typically used for internal tracking within the store.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"name\":\"poNumber\",\"value\":\"PO2\",\"refId\":\"PO2\"}\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/customFields/item/{itemId}\n@desc Add item custom field\n@required {orderFormId: str # ID of the orderForm., itemId: str # Unique ID of the item in the cart. This ID is generated by VTEX and is used to identify the item in the cart., name: str # Name of the custom field., value: str # Value of the custom field.}\n@optional {refId: str # Reference identifier for this custom field, typically used for internal tracking within the store.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"name\":\"costCenter\",\"value\":\"CC1\",\"refId\":\"CC1\"}\n\n@endpoint DELETE /api/checkout/pub/orderForm/{orderFormId}/customFields/item/{itemId}\n@desc Remove item custom field\n@required {orderFormId: str # ID of the orderForm., itemId: str # Unique ID of the item in the cart. This ID is generated by VTEX and is used to identify the item in the cart., fieldName: str # Name of the custom field to remove.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n\n@endpoint PUT /api/checkout/pub/orderForm/{orderFormId}/customFields/address/{addressId}\n@desc Add address custom field\n@required {orderFormId: str # ID of the orderForm., addressId: str # ID of the address., name: str # Name of the custom field., value: str # Value of the custom field.}\n@optional {refId: str # Reference identifier for this custom field, typically used for internal tracking within the store.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"name\":\"desktop\",\"value\":\"DK1\",\"refId\":\"DK1\"}\n\n@endpoint GET /api/checkout/pvt/configuration/orderForm\n@desc Get order form configuration\n@returns(200) {paymentConfiguration: map{requiresAuthenticationForPreAuthorizedPaymentOption: bool, allowInstallmentsMerge: bool}, taxConfiguration: map?{url: str?, authorizationHeader: str?, appId: str, isMarketplaceResponsibleForTaxes: bool}, minimumQuantityAccumulatedForItems: int, decimalDigitsPrecision: int, minimumValueAccumulated: int?, apps: [map]?, allowMultipleDeliveries: bool?, allowManualPrice: bool?, savePersonalDataAsOptIn: bool?, maxNumberOfWhiteLabelSellers: int?, maskFirstPurchaseData: bool?, recaptchaValidation: str} # OK\n\n@endpoint POST /api/checkout/pvt/configuration/orderForm\n@desc Update order form configuration\n@required {paymentConfiguration: map{requiresAuthenticationForPreAuthorizedPaymentOption!: bool, allowInstallmentsMerge: bool, blockPaymentSession: bool} # Payment Configuration object., taxConfiguration: map{url: str, authorizationHeader: str, appId: str, isMarketplaceResponsibleForTaxes: any} # External tax service configuration., minimumQuantityAccumulatedForItems: int(int32) # Minimum SKU quantity by cart., decimalDigitsPrecision: int(int32) # Number of price digits., minimumValueAccumulated: int # Minimum cart value., apps: [map{id: str, fields: [str], major: int}] # Array of objects containing Apps configuration information., allowMultipleDeliveries: bool # On the same purchase, allows the selection of items from multiple delivery channels., allowManualPrice: bool # Allows the editing of SKU prices right in the cart.}\n@optional {maxNumberOfWhiteLabelSellers: int # Allows the input of a limit of white label sellers involved on the cart., maskFirstPurchaseData: bool # 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: bool=true # 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: str # 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)\r \r Possible values are:\r \r - `\"never\"`: no purchases are validated with reCAPTCHA.\r - `null`: no purchases are validated with reCAPTCHA. The same as `never`.\r - `\"always\"`: every purchase is validated with reCAPTCHA.\r - `\"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: str # 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).}\n@returns(204) No Content\n@example_request {\"paymentConfiguration\":{\"requiresAuthenticationForPreAuthorizedPaymentOption\":false},\"taxConfiguration\":null,\"minimumQuantityAccumulatedForItems\":1,\"decimalDigitsPrecision\":2,\"minimumValueAccumulated\":null,\"apps\":null,\"allowMultipleDeliveries\":null,\"allowManualPrice\":null}\n\n@endpoint GET /api/checkout/pvt/configuration/window-to-change-seller\n@desc Get window to change seller\n@returns(200) OK\n\n@endpoint POST /api/checkout/pvt/configuration/window-to-change-seller\n@desc Update window to change seller\n@required {waitingTime: int # Number of days after order cancelation by a seller, during which another seller may be assigned to fulfill the order.}\n@returns(201) Created\n@example_request {\"waitingTime\":4}\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/messages/clear\n@desc Clear order form messages\n@required {orderFormId: str # ID of the orderForm corresponding to the cart whose messages you want to remove.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?, customData: map?, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map{criteria: str, ascending: bool}} # OK\n@example_request {}\n\n@endpoint GET /api/checkout/pub/orderForm/{orderFormId}/installments\n@desc Cart installments\n@required {orderFormId: str # ID of the `orderForm` to be consulted for installments., paymentSystem: int # ID of the payment method to be consulted for installments.}\n@returns(200) {bin: str?, installments: [map], paymentSystem: int, value: int, paymentName: str?, paymentGroupName: str?} # OK\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/coupons\n@desc Add coupons to the cart\n@required {orderFormId: str # ID of the orderForm that will receive coupon information.}\n@optional {text: str # Sending an existing coupon code in this field will return the corresponding discount in the purchase.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map{addressType: str, receiverName: str, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str?, utmMedium: str?, utmCampaign: str?, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map{criteria: str, ascending: bool}} # OK\n@example_request {\"text\":\"freeshipping\"}\n\n@endpoint GET /api/checkout/pub/pickup-points\n@desc List pickup points by location\n@optional {geoCoordinates: str # Geocoordinates (first longitude, then latitude) around which to search for pickup points. If you use this type of search, do not pass postal and country codes., postalCode: str # Postal code around which to search for pickup points. If you use this type of search, make sure to pass a `countryCode` and do not pass `geoCoordinates`., countryCode: str # Three letter country code refering to the `postalCode` field. Pass the country code only if you are searching pickup points by postal code.}\n@returns(200) {paging: map{page: int, pageSize: int, total: int, pages: int}, items: [map]} # OK\n\n@endpoint GET /api/checkout/pub/postal-code/{countryCode}/{postalCode}\n@desc Get address by postal code\n@required {countryCode: str # Three letter country code refering to the `postalCode` field., postalCode: str # Postal code.}\n@returns(200) {postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str, geoCoordinates: [int]} # OK\n\n@endpoint POST /api/checkout/pub/orderForm/{orderFormId}/transaction\n@desc Place order from an existing cart\n@required {orderFormId: str # ID of the `orderForm` corresponding to the cart from which to place the order., referenceId: str # ID of the `orderForm` corresponding to the cart from which to place the order. This is the same as the `orderFormId` parameter., value: int # Total value of the order without separating cents. For example, $24.99 is represented `2499`., referenceValue: int # Reference value of the order for calculating interest if that is the case. Can be equal to the total value and does not separate cents. For example, $24.99 is represented `2499`., interestValue: int # Interest rate to be used in case it applies.}\n@optional {savePersonalData: bool # `true` if the shopper's data provided during checkout should be saved for future reference., optinNewsLetter: bool # True if the shopper opted to receive the newsletter.}\n@returns(200) {orderFormId: str, salesChannel: str, loggedIn: bool, isCheckedIn: bool, storeId: str?, allowManualPrice: bool, canEditData: bool, userProfileId: str?, profileProvider: str, availableAccounts: [str], availableAddresses: [map], userType: str?, ignoreProfileData: bool, value: int, messages: [str], items: [map], selectableGifts: [str], totalizers: [map], shippingData: map?{address: map?{addressType: str, receiverName: str?, addressId: str?, isDisposable: bool, postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str?, reference: str?, geoCoordinates: [num]}, logisticsInfo: [map], selectedAddresses: [map], availableAddresses: [map]}, clientProfileData: map?{email: str?, firstName: str?, lastName: str, documentType: str, document: str, phone: str, corporateName: str?, tradeName: str?, corporateDocument: str?, stateInscription: str?, corporatePhone: str?, isCorporate: bool, profileCompleteOnLoading: bool, profileErrorOnLoading: bool?, customerClass: str?}, paymentData: map{giftCards: [map], transactions: [map]}, marketingData: map?{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str?, utmiPart: str?, utmiCampaign: str?}, sellers: [map], clientPreferencesData: map{locale: str, optinNewsLetter: bool?}, commercialConditionData: map?, storePreferencesData: map, giftRegistryData: map?, openTextField: str?, invoiceData: map?{address: map{postalCode: str, city: str, state: str, country: str, street: str, number: str, neighborhood: str, complement: str, reference: str, geoCoordinates: [num]}}, customData: map?{customApps: [map]?, customFields: [map]?}, itemMetadata: map{items: [map]}, hooksData: map?, ratesAndBenefitsData: map{rateAndBenefitsIdentifiers: [str], teaser: [str]}, subscriptionData: map?, itemsOrdination: map?{criteria: str, ascending: bool}} # OK\n@example_request {\"referenceId\":\"41a22925298a4ddca95318131a25b000\",\"savePersonalData\":false,\"optinNewsLetter\":false,\"value\":6800,\"referenceValue\":6800,\"interestValue\":0}\n\n@endpoint PUT /api/checkout/pub/orders\n@desc Place order\n@required {items: [map{id!: str, quantity!: int(int32), seller!: str, commission: int, freightCommission: int, price: int, bundleItems: [map], itemAttachment: map, attachments: [str], priceTags: [map], measurementUnit: str, unitMultiplier: int, isGift: bool}] # Array of objects containing information on each of the order's items., clientProfileData: map{email!: str, firstName: str, lastName: str, documentType: str, document: str, phone: str, corporateName: str, tradeName: str, corporateDocument: str, stateInscription: str, corporatePhone: str, isCorporate: bool} # Customer's profile information. The `email` functions as a customer's ID. \r \rFor customers already in your database, sending only the email address is enough to register the order to the shopper’s existing account. \r \r> If the shopper exists in you database but is not logged in, sending other profile information along with the email will cause the platform to fail placing the order. This happens because this action is interpreted as an attempt to edit profile data, which is not possible unless the customer is logged in to the store., shippingData: map{address: map, logisticsInfo: [map], updateStatus: str} # Shipping information., paymentData: map{giftCards: [map], giftCardMessages: [str], paymentSystems: [map], payments!: [map], updateStatus: str} # Payment infomation.}\n@optional {sc: int # Trade Policy (Sales Channel) identification. This query can be used to create an order for a specific sales channel., marketingData: map{coupon: str, utmSource: str, utmMedium: str, utmCampaign: str, utmiPage: str, utmiPart: str, utmiCampaign: str} # Coupon information., openTextField: str # Optional field meant to hold additional information about the order. We recommend using this field for text, not data formats such as `JSON` even if escaped. For that purpose, see [Creating customizable fields](https://developers.vtex.com/docs/guides/customizable-fields-with-checkout-api)., salesAssociateData: map{salesAssociateId: str} # Sales Associate information.}\n@returns(200) {orderForm: str?, transactionData: map{merchantTransactions: [map], receiverUri: str, gatewayCallbackTemplatePath: str}, orders: [map]} # OK\n@example_request {\"items\":[{\"id\":\"123456789\",\"quantity\":1,\"seller\":\"1\",\"price\":2499,\"commission\":10,\"freightCommission\":5,\"measurementUnit\":\"g\",\"unitMultiplier\":1,\"isGift\":false,\"bundleItems\":[{\"type\":\"gift-wrap\",\"id\":\"gift-123\",\"name\":\"Gift Wrapping\",\"price\":199}],\"priceTags\":[{\"identifier\":\"discount-123\",\"isPercentual\":false,\"name\":\"Promotional Discount\",\"rawValue\":-10,\"value\":-1000}]}],\"clientProfileData\":{\"email\":\"customer@example.com\",\"firstName\":\"John\",\"lastName\":\"Doe\",\"documentType\":\"cpf\",\"document\":\"12345678900\",\"phone\":\"+5511999999999\",\"isCorporate\":false},\"shippingData\":{\"address\":{\"addressType\":\"residential\",\"receiverName\":\"John Doe\",\"postalCode\":\"12345-000\",\"city\":\"São Paulo\",\"state\":\"SP\",\"country\":\"BRA\",\"street\":\"Avenida Paulista\",\"number\":\"1000\",\"neighborhood\":\"Bela Vista\",\"complement\":\"Apt 101\",\"reference\":\"Next to the park\"},\"logisticsInfo\":[{\"itemIndex\":0,\"selectedSla\":\"Express\",\"selectedDeliveryChannel\":\"delivery\",\"shippingEstimate\":\"2d\",\"price\":1099}],\"updateStatus\":\"updated\"},\"paymentData\":{\"payments\":[{\"paymentSystem\":1,\"referenceValue\":2499,\"value\":2499,\"installments\":1}],\"giftCards\":[{\"redemptionCode\":\"GIFT-1234-5678\",\"value\":500,\"balance\":500,\"name\":\"Birthday Gift Card\",\"id\":\"gift123\",\"inUse\":true,\"isSpecialCard\":false}],\"updateStatus\":\"updated\"},\"marketingData\":{\"coupon\":\"SUMMER10\",\"utmSource\":\"Google\",\"utmMedium\":\"CPC\",\"utmCampaign\":\"Summer_Sale\"},\"openTextField\":\"Please deliver after 5 PM.\",\"salesAssociateData\":{\"salesAssociateId\":\"seller123\"}}\n\n@endpoint POST /api/checkout/pub/gatewayCallback/{orderGroup}\n@desc Process order\n@required {orderGroup: str # Order group. It is the part of the `orderId` that comes before the `-`. For example, the `orderGroup` of the order `123456789-01` is `123456789`., Cookie: str # VTEX Chekout cookie associated with a specific order. Use the `Vtex_CHKO_Auth` and the `CheckoutDataAccess` cookies returned by the [Place order](https://developers.vtex.com/vtex-rest-api/reference/order-placement-1#placeorder) or [Place order from existing cart](https://developers.vtex.com/vtex-rest-api/reference/order-placement-1#placeorderfromexistingorderform) API requests, like a browser would.}\n@returns(200) OK\n@errors {428: Precondition Required\r \r Used to indicate that a payment redirection flow is required to complete the order., 500: Internal Server Error}\n\n@endpoint GET /api/checkout/pub/regions/{regionId}\n@desc Get sellers by region or address\n@required {regionId: str # ID of the region corresponding to the shopper's location., country: str # Three letter country code refering to the `postalCode` field.}\n@optional {postalCode: str # Postal code corresponding to the shopper's location., geoCoordinates: [num] # Geocoordinates (first longitude, semicolon, then latitude) corresponding to the shopper's location.}\n@returns(200) {id: str, sellers: [map]} # OK\n\n@endgroup\n\n@end\n"}}