> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # UpdateDeliveryCarrier # Package: shippingDelivery # Namespace: DeliveryProfiles # Method link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/update-delivery-carrier.md ## Permission Scopes: Manage eCommerce - all permissions: SCOPE.DC-ECOM-MEGA.MANAGE-ECOM ## Introduction Updates a delivery carrier's settings in a delivery region. This method updates an existing carrier's settings (such as backup rate and additional charges) using a partial update. Only the fields you provide are updated; other carrier settings remain unchanged. To add a new carrier to a region, use [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md). --- ## REST API ### Schema ``` Method: updateDeliveryCarrier Description: Updates a delivery carrier's settings in a delivery region. This method updates an existing carrier's settings (such as backup rate and additional charges) using a partial update. Only the fields you provide are updated; other carrier settings remain unchanged. To add a new carrier to a region, use [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md). URL: https://www.wixapis.com/ecom/v1/delivery-profiles/update-delivery-carrier Method: PATCH # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: deliveryRegionId, deliveryCarrier.appId Method parameters: param name: deliveryCarrier | type: DeliveryCarrier - name: appId | type: string | description: Carrier app GUID. Get app GUIDs from the [app dashboard](https://dev.wix.com/dc3/my-apps/), or by calling [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers.md). | required: true - name: backupRate | type: BackupRate | description: Backup rate to use when the carrier doesn't return a rate for a specific shipping option. When `active` is `false` and the carrier doesn't return a rate, the carrier's shipping options aren't shown to customers. - name: title | type: string | description: Title displayed for the backup rate. For example, `"Standard Shipping"`. - name: amount | type: string | description: Backup rate amount. - name: active | type: boolean | description: Whether the backup rate is active. The backup rate is used in the following situations: + When `active` is `true`. + When the carrier does not return a cost for any reason. If active, and no cost is returned by the carrier, the backup rate will be displayed to customers as the shipping option. Default: `false` - name: additionalCharges | type: array | description: Additional charges to add to the delivery rate. These charges are combined with the carrier's rate into a single shipping cost and itemized in order details. - name: description | type: string | description: Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. - name: amount | type: string | description: Additional fixed charge amount to add to the delivery rate. For example, `"12.50"`. param name: deliveryRegionId | type: deliveryRegionId | description: Delivery region GUID. | required: true Return type: UpdateDeliveryCarrierResponse - name: deliveryProfile | type: DeliveryProfile | description: Updated delivery profile with the updated delivery carrier. - name: id | type: string | description: Delivery profile GUID. - name: name | type: string | description: Delivery profile name. - name: default | type: boolean | description: Whether this is the default delivery profile. > **Notes:** > > - The first delivery profile is automatically created and marked as default when the Wix Stores, Wix Bookings, Wix Events, or Wix Restaurants business solutions are installed on a site. > - Default status can't be changed or transferred to another profile. > - The default profile can't be deleted because every site requires one for core delivery functionality. - name: deliveryRegions | type: array | description: Delivery regions in this profile. - name: id | type: string | description: Delivery region GUID. - name: name | type: string | description: Delivery region name. For example, `"Domestic"` or `"International"`. - name: active | type: boolean | description: Whether this delivery region is active and available during checkout. Default: `true` - name: deliveryCarriers | type: array | description: Delivery carriers assigned to this region. Carriers are managed using the [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md), [Update Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/update-delivery-carrier.md), and [Remove Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/remove-delivery-carrier.md) methods. - name: appId | type: string | description: Carrier app GUID. Get app GUIDs from the [app dashboard](https://dev.wix.com/dc3/my-apps/), or by calling [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers.md). - name: backupRate | type: BackupRate | description: Backup rate to use when the carrier doesn't return a rate for a specific shipping option. When `active` is `false` and the carrier doesn't return a rate, the carrier's shipping options aren't shown to customers. - name: title | type: string | description: Title displayed for the backup rate. For example, `"Standard Shipping"`. - name: amount | type: string | description: Backup rate amount. - name: active | type: boolean | description: Whether the backup rate is active. The backup rate is used in the following situations: + When `active` is `true`. + When the carrier does not return a cost for any reason. If active, and no cost is returned by the carrier, the backup rate will be displayed to customers as the shipping option. Default: `false` - name: additionalCharges | type: array | description: Additional charges to add to the delivery rate. These charges are combined with the carrier's rate into a single shipping cost and itemized in order details. - name: description | type: string | description: Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. - name: amount | type: string | description: Additional fixed charge amount to add to the delivery rate. For example, `"12.50"`. - name: destinations | type: array | description: Geographic destinations covered by this region. If empty, the region applies globally (Rest of World). A site can have up to 250 destinations across all delivery profiles. - name: countryCode | type: string | description: 2-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. - name: subdivisions | type: array | description: Subdivision codes in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. For example, `"US-CA"` for California. If empty, the delivery region applies to the entire country. The following countries don't support subdivision-level delivery and require an empty `subdivisions` list. Sending subdivisions for these countries fails with `SUBDIVISIONS_UNSUPPORTED_FOR_COUNTRY`: `AT`, `BE`, `BS`, `CH`, `CI`, `CZ`, `DO`, `GR`, `NO`, `PL`, `RS`, `SD`, `SI`, `SK`, `SN`. - name: createdDate | type: string | description: Date and time the delivery region was created. - name: createdBy | type: CreatedBy | description: Information about who created the delivery profile. Currently only for use with Wix Restaurants. - ONE-OF: - name: appId | type: string | description: App GUID, when the delivery profile was created by an external application or Wix service. - name: userId | type: string | description: Wix user GUID, when the delivery profile was created by a Wix user using the dashboard or an API call. - name: revision | type: string | description: Revision number, which increments by 1 each time the delivery profile is updated. To prevent conflicting changes, the current revision must be passed when updating the delivery profile. Ignored when creating a delivery profile. - name: createdDate | type: string | description: Date and time the delivery profile was created. - name: updatedDate | type: string | description: Date and time the delivery profile was last updated. - name: extendedFields | type: ExtendedFields | description: Custom field data for the delivery profile object. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: APP_ID_CANNOT_BE_UPDATED | Description: The `appId` can't be changed. To use a different carrier, remove this one and add a new one. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: DELIVERY_CARRIER_NOT_FOUND | Description: Couldn't find the delivery carrier, or it isn't assigned to this delivery region. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: DELIVERY_REGION_NOT_FOUND | Description: Couldn't find the delivery region. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: UNKNOWN_DELIVERY_CARRIER | Description: The specified `appId` doesn't exist. ``` ### Examples ### Update delivery carrier Updates a delivery carrier in an existing delivery region ```curl curl -X PATCH \ 'https://www.wixapis.com/ecom/v1/delivery-profiles/update-delivery-carrier' \ -H 'Authorization: ' \ -H 'Content-Type: application/json' \ -d '{ "deliveryRegionId": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "deliveryCarrier": { "appId": "45c44b27-ca7b-4891-8c0d-1747d588b835", "backupRate": { "title": "Updated Express Shipping", "amount": "15.99", "active": true }, "additionalCharges": [ { "description": "Updated handling fee for fragile items", "amount": "3.50" }, { "description": "Insurance coverage fee", "amount": "1.99" } ] } }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.shippingDelivery.DeliveryProfiles.updateDeliveryCarrier(deliveryRegionId, options) Description: Updates a delivery carrier's settings in a delivery region. This method updates an existing carrier's settings (such as backup rate and additional charges) using a partial update. Only the fields you provide are updated; other carrier settings remain unchanged. To add a new carrier to a region, use [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md). # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: deliveryRegionId, options.deliveryCarrier.appId Method parameters: param name: deliveryRegionId | type: string | description: Delivery region GUID. | required: true param name: options | type: UpdateDeliveryCarrierOptions none - name: deliveryCarrier | type: DeliveryCarrier | description: Delivery carrier to update. - name: appId | type: string | description: Carrier app GUID. Get app GUIDs from the [app dashboard](https://dev.wix.com/dc3/my-apps/), or by calling [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers.md). | required: true - name: backupRate | type: BackupRate | description: Backup rate to use when the carrier doesn't return a rate for a specific shipping option. When `active` is `false` and the carrier doesn't return a rate, the carrier's shipping options aren't shown to customers. - name: title | type: string | description: Title displayed for the backup rate. For example, `"Standard Shipping"`. - name: amount | type: string | description: Backup rate amount. - name: active | type: boolean | description: Whether the backup rate is active. The backup rate is used in the following situations: + When `active` is `true`. + When the carrier does not return a cost for any reason. If active, and no cost is returned by the carrier, the backup rate will be displayed to customers as the shipping option. Default: `false` - name: additionalCharges | type: array | description: Additional charges to add to the delivery rate. These charges are combined with the carrier's rate into a single shipping cost and itemized in order details. - name: description | type: string | description: Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. - name: amount | type: string | description: Additional fixed charge amount to add to the delivery rate. For example, `"12.50"`. Return type: PROMISE - name: deliveryProfile | type: DeliveryProfile | description: Updated delivery profile with the updated delivery carrier. - name: _id | type: string | description: Delivery profile GUID. - name: name | type: string | description: Delivery profile name. - name: default | type: boolean | description: Whether this is the default delivery profile. > **Notes:** > > - The first delivery profile is automatically created and marked as default when the Wix Stores, Wix Bookings, Wix Events, or Wix Restaurants business solutions are installed on a site. > - Default status can't be changed or transferred to another profile. > - The default profile can't be deleted because every site requires one for core delivery functionality. - name: deliveryRegions | type: array | description: Delivery regions in this profile. - name: _id | type: string | description: Delivery region GUID. - name: name | type: string | description: Delivery region name. For example, `"Domestic"` or `"International"`. - name: active | type: boolean | description: Whether this delivery region is active and available during checkout. Default: `true` - name: deliveryCarriers | type: array | description: Delivery carriers assigned to this region. Carriers are managed using the [Add Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/add-delivery-carrier.md), [Update Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/update-delivery-carrier.md), and [Remove Delivery Carrier](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/remove-delivery-carrier.md) methods. - name: appId | type: string | description: Carrier app GUID. Get app GUIDs from the [app dashboard](https://dev.wix.com/dc3/my-apps/), or by calling [List Installed Delivery Carriers](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/shipping-delivery/delivery-profiles/list-installed-delivery-carriers.md). - name: backupRate | type: BackupRate | description: Backup rate to use when the carrier doesn't return a rate for a specific shipping option. When `active` is `false` and the carrier doesn't return a rate, the carrier's shipping options aren't shown to customers. - name: title | type: string | description: Title displayed for the backup rate. For example, `"Standard Shipping"`. - name: amount | type: string | description: Backup rate amount. - name: active | type: boolean | description: Whether the backup rate is active. The backup rate is used in the following situations: + When `active` is `true`. + When the carrier does not return a cost for any reason. If active, and no cost is returned by the carrier, the backup rate will be displayed to customers as the shipping option. Default: `false` - name: additionalCharges | type: array | description: Additional charges to add to the delivery rate. These charges are combined with the carrier's rate into a single shipping cost and itemized in order details. - name: description | type: string | description: Description of the additional charge. For example, `"Handling fee of $5 applied for gift wrapping"`. - name: amount | type: string | description: Additional fixed charge amount to add to the delivery rate. For example, `"12.50"`. - name: destinations | type: array | description: Geographic destinations covered by this region. If empty, the region applies globally (Rest of World). A site can have up to 250 destinations across all delivery profiles. - name: countryCode | type: string | description: 2-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format. - name: subdivisions | type: array | description: Subdivision codes in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) format. For example, `"US-CA"` for California. If empty, the delivery region applies to the entire country. The following countries don't support subdivision-level delivery and require an empty `subdivisions` list. Sending subdivisions for these countries fails with `SUBDIVISIONS_UNSUPPORTED_FOR_COUNTRY`: `AT`, `BE`, `BS`, `CH`, `CI`, `CZ`, `DO`, `GR`, `NO`, `PL`, `RS`, `SD`, `SI`, `SK`, `SN`. - name: _createdDate | type: Date | description: Date and time the delivery region was created. - name: createdBy | type: CreatedBy | description: Information about who created the delivery profile. Currently only for use with Wix Restaurants. - ONE-OF: - name: appId | type: string | description: App GUID, when the delivery profile was created by an external application or Wix service. - name: userId | type: string | description: Wix user GUID, when the delivery profile was created by a Wix user using the dashboard or an API call. - name: revision | type: string | description: Revision number, which increments by 1 each time the delivery profile is updated. To prevent conflicting changes, the current revision must be passed when updating the delivery profile. Ignored when creating a delivery profile. - name: _createdDate | type: Date | description: Date and time the delivery profile was created. - name: _updatedDate | type: Date | description: Date and time the delivery profile was last updated. - name: extendedFields | type: ExtendedFields | description: Custom field data for the delivery profile object. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls. - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured. You can only access fields for which you have the appropriate permissions. Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md). Possible Errors: HTTP Code: 400 | Status Code: INVALID_ARGUMENT | Application Code: APP_ID_CANNOT_BE_UPDATED | Description: The `appId` can't be changed. To use a different carrier, remove this one and add a new one. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: DELIVERY_CARRIER_NOT_FOUND | Description: Couldn't find the delivery carrier, or it isn't assigned to this delivery region. HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: DELIVERY_REGION_NOT_FOUND | Description: Couldn't find the delivery region. HTTP Code: 428 | Status Code: FAILED_PRECONDITION | Application Code: UNKNOWN_DELIVERY_CARRIER | Description: The specified `appId` doesn't exist. ``` ### Examples ### updateDeliveryCarrier ```javascript import { deliveryProfile } from '@wix/ecom'; async function updateDeliveryCarrier(deliveryRegionId,options) { const response = await deliveryProfile.updateDeliveryCarrier(deliveryRegionId,options); }; ``` ### updateDeliveryCarrier (with elevated permissions) ```javascript import { deliveryProfile } from '@wix/ecom'; import { auth } from '@wix/essentials'; async function myUpdateDeliveryCarrierMethod(deliveryRegionId,options) { const elevatedUpdateDeliveryCarrier = auth.elevate(deliveryProfile.updateDeliveryCarrier); const response = await elevatedUpdateDeliveryCarrier(deliveryRegionId,options); } ``` ### updateDeliveryCarrier (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { deliveryProfile } from '@wix/ecom'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { deliveryProfile }, // Include the auth strategy and host as relevant }); async function updateDeliveryCarrier(deliveryRegionId,options) { const response = await myWixClient.deliveryProfile.updateDeliveryCarrier(deliveryRegionId,options); }; ``` ---