---
title: "Update required fields"
method: PUT
path: "/assistedSales/v1/opportunities/{opportunityId}/items/requiredFields"
tags: ["AppResellerOpportunities"]
---

# Update required fields

`PUT /assistedSales/v1/opportunities/{opportunityId}/items/requiredFields`

## Request

- Base URL: `https://marketplace.appdirect.com/api`
- URL: `https://marketplace.appdirect.com/api/assistedSales/v1/opportunities/{opportunityId}/items/requiredFields`
- Auth: none declared
- TypeScript: <https://skmtc.dev/appdirect/apis/companies/docs/assistedSales/v1/opportunities/:opportunityId/items/requiredFields/put.ts> (a function with typed inputs; its response is checked against the schema)

Update required fields for all products from the same vendor on an opportunity, with identical required field values.

When a vendor requires the same required fields for all products (also known as vendor 'cart level' required fields), the required field values must be identical for all the vendor's products on an opportunity. To ensure all values remain identical, always include the itemIds for all the vendor's products on the opportunity in the array, even if required field values are already saved for some items.

Warning: Previously saved required field values for the items in the array will be removed.

Required: Accept-Language header with Locale format. For example: en-US

## Path parameters

- `opportunityId` string, required

## Request body

- RequiredFieldsUpdate: One or more items from the same vendor on an opportunity; and, the required fields and identical required field values to apply to all the items in the array.
  - `itemIds` string[], required: IDs of the items to be updated
  - `requiredFields` object, required: The required fields and required field values, listed as custom attribute key-value pairs. Values must be a string array.

## Response `200`

Required fields updated successfully

- OpportunityItem[]
  - `id` string: Item ID
  - `parentItemId` string: The parent product's Product ID. Only relevant to and required for add-on products.
  - `pricingPlanId` string: Pricing plan ID
  - `units` BillingConfiguration[]: List of units (quantity and type) associated with the item
    - `date` number: Custom billing activation date in UNIX Epoch milliseconds. This date is required when the billing strategy is CUSTOM. Do not set the date when the strategy is UPON_SERVICE_ACTIVATION or NEXT_BILLING_CYCLE.
    - `strategy` 'CUSTOM' | 'NEXT_BILLING_CYCLE' | 'UPON_SERVICE_ACTIVATION'
  - `productId` string: Product ID
  - `subscriptionCustomAttributes` object: Custom attributes related to the subscription
  - `vendorRequiredFields` object: Custom attributes related to vendor required fields for the subscription
  - `provisioningConfiguration` object: Custom service activation dates
    - `date` number: Custom service activation date in UNIX Epoch milliseconds. This date is required when the provisioning strategy is CUSTOM. Do not set the date when the strategy is IMMEDIATELY.
    - `strategy` 'CUSTOM' | 'IMMEDIATELY'
  - `billingConfiguration` object: Custom billing dates
    - `date` number: Custom billing activation date in UNIX Epoch milliseconds. This date is required when the billing strategy is CUSTOM. Do not set the date when the strategy is UPON_SERVICE_ACTIVATION or NEXT_BILLING_CYCLE.
    - `strategy` 'CUSTOM' | 'NEXT_BILLING_CYCLE' | 'UPON_SERVICE_ACTIVATION'

## Other responses

- `400`: Missing or invalid data, or one or more items not found
- `401`: Unauthorized
- `403`: The user does not have access to the opportunity, or the user does not have permission to execute the action, or the opportunity status does not allow the action
- `404`: Invalid opportunity ID

## Changes

- **2026-11-06** `1fc240f06971`: 8 breaking, 25 info
  - added the new required request property `itemIds`
  - added the new required request property `requiredFields`
  - the request's body type changed from no type to `object`
  - the response's body type changed from no type to `object` for status `400`
  - …29 more

[Operation history](https://skmtc.dev/appdirect/apis/companies/changes/assistedSales/v1/opportunities/:opportunityId/items/requiredFields/put.md)

---

[API](https://skmtc.dev/appdirect/apis/companies.md) - [All operations](https://skmtc.dev/appdirect/apis/companies/llms.txt) - [OpenAPI document](https://skmtc.dev/appdirect/apis/companies/revisions/1fc240f06971?raw)
