PUT /fulfillment_policy/{fulfillmentPolicyId}

This method updates an existing fulfillment policy. Specify the policy you want to update using the fulfillment_policy_id path parameter. Supply a complete policy payload with the updates you want to make; this call overwrites the existing policy with the new details specified in the payload.

Servers

Path parameters

Name Type Required Description
fulfillmentPolicyId String Yes

This path parameter specifies the ID of the fulfillment policy you want to update.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
name String No

A seller-defined name for this fulfillment policy. Names must be unique for policies assigned to the same marketplace.

Max length: 64

description String No

A seller-defined description of the fulfillment policy. This description is only for the seller's use, and is not exposed on any eBay pages.

Max length: 250

pickupDropOff Boolean No

This field should be included and set to true if the seller offers the "Click and Collect" feature for an item.

To enable "Click and Collect" on a listing, a seller must be eligible for Click and Collect. Currently, Click and Collect is available to only large retail merchants selling in the eBay AU and UK marketplaces.

In addition to setting this field to true, the merchant must also do the following to enable the "Click and Collect" option on a listing:

  • Have inventory for the product at one or more physical stores tied to the merchant's account.

    Sellers can use the createInventoryLocaion method in the Inventory API to associate physical stores to their account and they can then can add inventory to specific store locations.

  • Set an immediate payment requirement on the item. The immediate payment feature requires the seller to:
    • Set the immediatePay flag in the payment policy to 'true'.
    • Have a valid store location with a complete street address.

When a merchant successfully lists an item with Click and Collect, prospective buyers within a reasonable distance from one of the merchant's stores (that has stock available) will see the "Available for Click and Collect" option on the listing, along with information on the closest store that has the item.

Default: false
handlingTime Object No

A type used to specify a period of time using a specified time-measurement unit. Payment, return, and fulfillment business policies all use this type to specify time windows.

Whenever a container that uses this type is used in a request, both of these fields are required. Similarly, whenever a container that uses this type is returned in a response, both of these fields are always returned.

handlingTime.value Integer No

An integer that represents an amount of time, as measured by the time-measurement unit specified in the unit field.

handlingTime.unit String No

These enum values represent the time measurement unit, such as DAY. A span of time is defined when you apply the value specified in the value field to the value specified for unit.

See TimeDurationUnitEnum for a complete list of possible time-measurement units. For implementation help, refer to eBay API documentation

shipToLocations Object No

This type consists of the regionIncluded and regionExcluded arrays, which indicate the areas to where the seller does and doesn't ship.

shipToLocations.regionExcluded[] Array No

An array of one or more regionName values that specify the areas to where a seller does not ship. A regionExcluded list should only be set in the top-level shipToLocations container and not within the shippingServices.shipToLocations container used to specify which shipping regions are serviced by each available shipping service option.

Many sellers are willing to ship to many international locations, but they may want to exclude some world regions or some countries as places they are willing to ship to.

This array will be returned as empty if no shipping regions are excluded with the fulfillment business policy.

Note: The regionExcluded array is not applicable for motor vehicle business policies on the US, CA, or UK marketplaces. If this array is used in a createFulfillmentPolicy or updateFulfillmentPolicy request, it will be ignored.

shipToLocations.regionExcluded[].regionType String No

Reserved for future use. For implementation help, refer to eBay API documentation

shipToLocations.regionExcluded[].regionName String No

A string that indicates the name of a region, as defined by eBay. A "region" can be either a 'world region' (e.g., the "Middle East" or "Southeast Asia"), a country (represented with a two-letter country code), a state or province (represented with a two-letter code), or a special domestic region within a country.

The GeteBayDetails call in the Trading API can be used to retrieve the world regions and special domestic regions within a specific country. To get these enumeration values, call GeteBayDetails with the DetailName value set to ExcludeShippingLocationDetails.

shipToLocations.regionIncluded[] Array No

An array of one or more regionName fields that specify the areas to where a seller ships.
Each eBay marketplace supports its own set of allowable shipping locations.

Note: The regionIncluded array is not applicable for motor vehicle business policies on the US, CA, or UK marketplaces. If this array is used in a createFulfillmentPolicy or updateFulfillmentPolicy request, it will be ignored.

shipToLocations.regionIncluded[].regionType String No

Reserved for future use. For implementation help, refer to eBay API documentation

shipToLocations.regionIncluded[].regionName String No

A string that indicates the name of a region, as defined by eBay. A "region" can be either a 'world region' (e.g., the "Middle East" or "Southeast Asia"), a country (represented with a two-letter country code), a state or province (represented with a two-letter code), or a special domestic region within a country.

The GeteBayDetails call in the Trading API can be used to retrieve the world regions and special domestic regions within a specific country. To get these enumeration values, call GeteBayDetails with the DetailName value set to ExcludeShippingLocationDetails.

freightShipping Boolean No

This field is included and set to true if freight shipping is available for the item. Freight shipping can be used for large items over 150 lbs.

Default: false

categoryTypes[] Array No

This container is used to specify whether the fulfillment business policy applies to motor vehicle listings, or if it applies to non-motor vehicle listings.

categoryTypes[].name String No

The category type to which the policy applies (motor vehicles or non-motor vehicles).

The MOTORS_VEHICLES category type is not valid for return policies. eBay flows do not support the return of motor vehicles. For implementation help, refer to eBay API documentation

categoryTypes[].default Boolean No

Note: This field has been deprecated and is no longer used.

  • Do not include this field in any create or update method.
  • This field may be returned within the payload of a get method, but it can be ignored.

globalShipping Boolean No

This field is included and set to true if the seller wants to use the Global Shipping Program for international shipments. See the Global Shipping Program help topic for more details and requirements on the Global Shipping Program.

It is possible for a seller to use a combination of the Global Shipping Program and other international shipping services.

If this value is set to false or if the field is omitted, the seller is responsible for manually specifying individual international shipping services (if the seller ships internationally)., as described in Setting up worldwide shipping.

Sellers can opt in or out of the Global Shipping Program through the Shipping preferences in My eBay.

Note: On the US marketplace, the Global Shipping Program is scheduled to be replaced by a new intermediated international shipping program called eBay International Shipping. US sellers who are opted in to the Global Shipping Program will be automatically opted in to eBay International Shipping when it becomes available to them. All US sellers will be migrated by March 31, 2023.

eBay International Shipping is an account level setting, and no field needs to be set in a Fulfillment business policy to enable it. As long as the US seller's account is opted in to eBay International Shipping, this shipping option will be enabled automatically for all listings where international shipping is available.

A US seller who is opted in to eBay International Shipping can also specify individual international shipping service options for a Fulfillment business policy.

Default: false

localPickup Boolean No

This field should be included and set to true if local pickup is one of the fulfillment options available to the buyer. It is possible for the seller to make local pickup and some shipping service options available to the buyer.

With local pickup, the buyer and seller make arrangements for pickup time and location.

Default: false

shippingOptions[] Array No

This array is used to provide detailed information on the domestic and international shipping options available for the policy.

A separate ShippingOption object is required for domestic shipping service options and for international shipping service options (if the seller ships to international locations).

  • The optionType field is used to indicate whether the ShippingOption object applies to domestic or international shipping, and the costType field is used to indicate whether flat-rate shipping or calculated shipping will be used.
  • The rateTableId field can be used to associate a defined shipping rate table to the policy, and the packageHandlingCost container can be used to set a handling charge for the policy.

A separate ShippingServices object will be used to specify cost and other details for every available domestic and international shipping service option.

shippingOptions[].insuranceOffered Boolean No

This field has been deprecated.

Shipping insurance is offered only via a shipping carrier's shipping services and is no longer available via eBay shipping policies.

shippingOptions[].shippingServices[] Array No

This array consists of the domestic or international shipping services options that are defined for the policy. The shipping service options defined under this array should match what is set in the corresponding shippingOptions.optionType field (which controls whether domestic or international shipping service options are being defined). If a shipping rate table is being used, the specified shipping service options should also match the shipping rate table settings (domestic or international, shipping speed/level of service, etc.)

Sellers can specify up to four domestic shipping services and up to five international shipping service options by using separate shippingService containers for each. If the seller is using the Global Shipping Program as an international option, only a total of four international shipping service options (including GSP) can be offered.

See How to set up shipping carrier and shipping service values.

To use the eBay standard envelope service (eSE), see Using eBay standard envelope (eSE) service.

This array is conditionally required if the seller is offering one or more domestic and/or international shipping service options.

shippingOptions[].shippingServices[].additionalShippingCost Object No

A complex type that describes the value of a monetary amount as represented by a global currency. When passing in an amount in a request payload, both currency and value fields are required, and both fields are also always returned for an amount in a response field.

shippingOptions[].shippingServices[].additionalShippingCost.value String No

The monetary amount in the specified currency.

shippingOptions[].shippingServices[].additionalShippingCost.currency String No

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing. For implementation help, refer to eBay API documentation

shippingOptions[].shippingServices[].freeShipping Boolean No

This field is included and set to true if the seller offers a free shipping option to the buyer.

This field can only be included and set to true for the first domestic shipping service option specified in the shippingServices container (it is ignored if set for subsequent shipping services or for any international shipping service option).

The first specified shipping service option has a sortOrder value of 1 or if the sortOrderId field is not used, it is the shipping service option that's specified first in the shippingServices container.

This container is returned if set.

shippingOptions[].shippingServices[].shippingServiceCode String No

This field sets/indicates the domestic or international shipping service option, such as USPSPriority, FedEx2Day, or UPS3rdDay. Although this field uses the string type, the seller must pass in a pre-defined enumeration value here.

For a full list of shipping service option enum values for a specified eBay marketplace, the GeteBayDetails call of the Trading API can be used, and the DetailName field's value should be set to ShippingServiceDetails.

The enum values for each shipping service option can be found in each ShippingServiceDetails.ShippingService field in the response payload. The seller must make sure that the shipping service option is still valid, which is indicated by a true value in the corresponding ValidForSellingFlow boolean field. International shipping service options are typically returned at the top of the response payload, and are indicated by an InternationalService boolean field that reads true.

The InternationalService boolean field is not returned at all for domestic shipping service options.

This field is required for every specified shipping service option.

This field is returned if set.

shippingOptions[].shippingServices[].sortOrder Integer No

The integer value set in this field controls the order of the corresponding domestic or international shipping service option in the View Item and Checkout pages.

Sellers can specify up to four domestic shipping services (in four separate shippingService containers), so valid values are 1, 2, 3, and 4. A shipping service option with a sortOrder value of 1 appears at the top of View Item and Checkout pages. Conversely, a shipping service option with a sortOrder value of 1 appears at the bottom of the list.

Sellers can specify up to five international shipping services (in five separate shippingService containers), so valid values for international shipping services are 1, 2, 3, 4, and 5. Similarly to domestic shipping service options, the sortOrder value of a international shipping service option controls the placement of that shipping service option in the View Item and Checkout pages.

If the sortOrder field is not supplied, the order of domestic and international shipping service options is determined by the order in which they are listed in the API call.

Min: 1. Max: 4 (for domestic shipping service) or 5 (for international shipping service).

shippingOptions[].shippingServices[].buyerResponsibleForPickup Boolean No

This field should be included and set to true for a motor vehicle listing if it will be the buyer's responsibility to pick up the purchased motor vehicle after full payment is made.

This field is only applicable to motor vehicle listings. In the majority of motor vehicle listings, the seller does make the buyer responsible for pickup or shipment of the vehicle.

This field is returned if set.

Default: false

shippingOptions[].shippingServices[].shipToLocations Object No

This type consists of the regionIncluded and regionExcluded arrays, which indicate the areas to where the seller does and doesn't ship.

shippingOptions[].shippingServices[].shipToLocations.regionExcluded[] Array No

An array of one or more regionName values that specify the areas to where a seller does not ship. A regionExcluded list should only be set in the top-level shipToLocations container and not within the shippingServices.shipToLocations container used to specify which shipping regions are serviced by each available shipping service option.

Many sellers are willing to ship to many international locations, but they may want to exclude some world regions or some countries as places they are willing to ship to.

This array will be returned as empty if no shipping regions are excluded with the fulfillment business policy.

Note: The regionExcluded array is not applicable for motor vehicle business policies on the US, CA, or UK marketplaces. If this array is used in a createFulfillmentPolicy or updateFulfillmentPolicy request, it will be ignored.

shippingOptions[].shippingServices[].shipToLocations.regionExcluded[].regionType String No

Reserved for future use. For implementation help, refer to eBay API documentation

shippingOptions[].shippingServices[].shipToLocations.regionExcluded[].regionName String No

A string that indicates the name of a region, as defined by eBay. A "region" can be either a 'world region' (e.g., the "Middle East" or "Southeast Asia"), a country (represented with a two-letter country code), a state or province (represented with a two-letter code), or a special domestic region within a country.

The GeteBayDetails call in the Trading API can be used to retrieve the world regions and special domestic regions within a specific country. To get these enumeration values, call GeteBayDetails with the DetailName value set to ExcludeShippingLocationDetails.

shippingOptions[].shippingServices[].shipToLocations.regionIncluded[] Array No

An array of one or more regionName fields that specify the areas to where a seller ships.
Each eBay marketplace supports its own set of allowable shipping locations.

Note: The regionIncluded array is not applicable for motor vehicle business policies on the US, CA, or UK marketplaces. If this array is used in a createFulfillmentPolicy or updateFulfillmentPolicy request, it will be ignored.

shippingOptions[].shippingServices[].shipToLocations.regionIncluded[].regionType String No

Reserved for future use. For implementation help, refer to eBay API documentation

shippingOptions[].shippingServices[].shipToLocations.regionIncluded[].regionName String No

A string that indicates the name of a region, as defined by eBay. A "region" can be either a 'world region' (e.g., the "Middle East" or "Southeast Asia"), a country (represented with a two-letter country code), a state or province (represented with a two-letter code), or a special domestic region within a country.

The GeteBayDetails call in the Trading API can be used to retrieve the world regions and special domestic regions within a specific country. To get these enumeration values, call GeteBayDetails with the DetailName value set to ExcludeShippingLocationDetails.

shippingOptions[].shippingServices[].shippingCost Object No

A complex type that describes the value of a monetary amount as represented by a global currency. When passing in an amount in a request payload, both currency and value fields are required, and both fields are also always returned for an amount in a response field.

shippingOptions[].shippingServices[].shippingCost.value String No

The monetary amount in the specified currency.

shippingOptions[].shippingServices[].shippingCost.currency String No

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing. For implementation help, refer to eBay API documentation

shippingOptions[].shippingServices[].cashOnDeliveryFee Object No

A complex type that describes the value of a monetary amount as represented by a global currency. When passing in an amount in a request payload, both currency and value fields are required, and both fields are also always returned for an amount in a response field.

shippingOptions[].shippingServices[].cashOnDeliveryFee.value String No

The monetary amount in the specified currency.

shippingOptions[].shippingServices[].cashOnDeliveryFee.currency String No

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing. For implementation help, refer to eBay API documentation

shippingOptions[].shippingServices[].surcharge Object No

A complex type that describes the value of a monetary amount as represented by a global currency. When passing in an amount in a request payload, both currency and value fields are required, and both fields are also always returned for an amount in a response field.

shippingOptions[].shippingServices[].surcharge.value String No

The monetary amount in the specified currency.

shippingOptions[].shippingServices[].surcharge.currency String No

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing. For implementation help, refer to eBay API documentation

shippingOptions[].shippingServices[].buyerResponsibleForShipping Boolean No

This field should be included and set to true for a motor vehicle listing if it will be the buyer's responsibility to arrange for shipment of a purchased motor vehicle after full payment is made.

This field is only applicable to motor vehicle listings. In the majority of motor vehicle listings, the seller does make the buyer responsible for pickup or shipment of the vehicle.

This field is returned if set.

Default: false

shippingOptions[].shippingServices[].shippingCarrierCode String No

This field sets/indicates the shipping carrier, such as USPS, FedEx, or UPS. Although this field uses the string type, the seller must pass in a pre-defined enumeration value here.

For a full list of shipping carrier enum values for a specified eBay marketplace, the GeteBayDetails call of the Trading API can be used, and the DetailName field's value should be set to ShippingCarrierDetails. The enum values for each shipping carriers can be found in each ShippingCarrierDetails.ShippingCarrier field in the response payload.

This field is actually optional, as the shipping carrier is also tied into the shippingServiceCode enum value, and that field is required for every specified shipping service option.

This field is returned if set.

shippingOptions[].rateTableId String No

This field is used if the seller wants to associate a domestic or international shipping rate table to the fulfillment business policy. The getRateTables method can be used to retrieve shipping rate table IDs.

With domestic and international shipping rate tables, the seller can set different shipping costs based on shipping regions and shipping speed/level of service (one-day, expedited, standard, economy). There are also options to additional per-weight and handling charges.

Sellers need to be careful that shipping rate tables match the corresponding shipping service options. In other words, a domestic shipping rate table must not be specified in the same container where international shipping service options are being specified, and vice versa, and the shipping speed/level of service of the provided shipping service options should match the shipping speed/level of service options that are defined in the shipping rate tables.

For example, if the corresponding shipping rate table defines costs for one-day shipping services, there should be at least one one-day shipping service option specified under the shippingServices array.

This field is returned if set.

shippingOptions[].shippingDiscountProfileId String No

This field is the unique identifier of a seller's domestic or international shipping discount profile. If a buyer satisfies the requirements of the discount rule, this buyer will receive a shipping discount for the order.

The seller can create and manage shipping discount profiles using (Get/Set) ShippingDiscountProfiles calls in the Trading API or through the Shipping Preferences in My eBay.

Note: Initially, shipping discount profiles in the Account API will not be available to all sellers.

shippingOptions[].optionType String No

This field is used to indicate if the corresponding shipping service options (under shippingServices array) are domestic or international shipping service options. This field is conditionally required if any shipping service options are specified (domestic and/or international). For implementation help, refer to eBay API documentation

shippingOptions[].shippingPromotionOffered Boolean No

This boolean indicates whether or not the seller has set up a promotional shipping discount that will be available to buyers who satisfy the requirements of the shipping discount rule.

The seller can create and manage shipping promotional discounts using (Get/Set) ShippingDiscountProfiles calls in the Trading API or through the Shipping Preferences in My eBay.

Note: Initially, shipping discount profiles in the Account API will not be available to all sellers.

shippingOptions[].costType String No

This field defines whether the shipping cost model is FLAT_RATE (the same rate for all buyers, or buyers within a region if shipping rate tables are used) or CALCULATED (the shipping rate varies by the ship-to location and size and weight of the package).

This field is conditionally required if any shipping service options are specified (domestic and/or international). For implementation help, refer to eBay API documentation

shippingOptions[].packageHandlingCost Object No

A complex type that describes the value of a monetary amount as represented by a global currency. When passing in an amount in a request payload, both currency and value fields are required, and both fields are also always returned for an amount in a response field.

shippingOptions[].packageHandlingCost.value String No

The monetary amount in the specified currency.

shippingOptions[].packageHandlingCost.currency String No

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing. For implementation help, refer to eBay API documentation

shippingOptions[].insuranceFee Object No

A complex type that describes the value of a monetary amount as represented by a global currency. When passing in an amount in a request payload, both currency and value fields are required, and both fields are also always returned for an amount in a response field.

shippingOptions[].insuranceFee.value String No

The monetary amount in the specified currency.

shippingOptions[].insuranceFee.currency String No

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD.

Default: The default currency of the eBay marketplace that hosts the listing. For implementation help, refer to eBay API documentation

marketplaceId String No

The ID of the eBay marketplace to which this fulfillment policy applies. For implementation help, refer to eBay API documentation

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.