---
title: "Update carrier settings"
method: PUT
path: "/v2/connections/carriers/{carrier_name}/{carrier_id}/settings"
tags: ["connections"]
---

# Update carrier settings

`PUT /v2/connections/carriers/{carrier_name}/{carrier_id}/settings`

## Request

- Base URL: `https://api.shipstation.com`
- URL: `https://api.shipstation.com/v2/connections/carriers/{carrier_name}/{carrier_id}/settings`
- Auth: API key in header `api-key`

<aside class="access" aria-label="Endpoint access">
      <table class="access__table">
        <thead>
          <tr>
            <th class="access__table-header">Products</th>
            <th class="access__table-header">Plans</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="access__table-cell access__product">
              <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/>
              <div class="access__sub">Formerly ShipEngine</div>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a>
            </td>
          </tr>
          <tr>
            <td class="access__table-cell">
              <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan access__plan--off">Standard</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan access__plan--off">Premium</a>
            </td>
          </tr>
        </tbody>
      </table>
      <footer class="access__footer">
        <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md">
          Learn about products and plans
          <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/>
        </a>
      </footer>
    </aside>

Update carrier settings

## Request body

- union
  - UpdateDhlExpressSettingsRequestBody: A DHL Express account settings
    - `nickname` string: Account nickname
    - `should_hide_account_number_on_archive_doc` boolean: Indicates if the account number should be hidden on the archive documentation
    - `is_primary_account` boolean: Indicates if this is primary account
  - UpdateFedexSettingsRequestBody: A Fedex account settings request body
    - `nickname` string: Account nickname
    - `pickup_type` 'none' | 'regular_pickup' | 'request_courier' | 'drop_box' | 'business_service_center' | 'station': Tax identifier type for customs declaration |Pickup Type |Description |--------------------------|----------------------------------------- |`none` | Not specified |`regular_pickup` | You already have a daily pickup scheduled with FedEx |`request_courier` | You will call FedEx to request a courier |`drop_box` | You will drop-off packages in a FedEx drop box |`business_service_center` | You will drop-off packages at an authorized FedEx business service center |`station` | You will drop-off the package at a FedEx Station
    - `smart_post_hub` 'none' | 'allentown_pa' | 'atlanta_ga' | 'baltimore_md' | 'charlotte_nc' | 'chino_ca' | 'dallas_tx' | 'denver_co' | 'detroit_mi' | 'edison_nj' | 'grove_city_oh' | 'groveport_oh' | 'houston_tx' | 'indianapolis_in' | 'kansas_city_ks' | 'los_angeles_ca' | 'martinsburg_wv' | 'memphis_tn' | 'minneapolis_mn' | 'new_berlin_wi' | 'northborough_ma' | 'orlando_fl' | 'phoneix_az' | 'pittsburgh_pa' | 'reno_nv' | 'sacramento_ca' | 'salt_lake_city_ut' | 'seattle_wa' | 'st_louis_mo' | 'windsor_ct' | 'newark_ny' | 'south_brunswick_nj' | 'scranton_pa' | 'wheeling_il' | 'middletown_ct' | 'portland_or': The possible smart post hub values
    - `smart_post_endorsement` 'none' | 'return_service_requested' | 'forwarding_service_requested' | 'address_service_requested' | 'change_service_requested' | 'leave_if_no_response': [Ancillary service endorsements](https://pe.usps.com/text/qsg300/Q507.htm) are used by mailers to request an addressee's new address and to provide the carrier with instructions on how to handle packages that are undeliverable as addressed. | Ancillary Service Endorsement | Description |--------------------------------|----------------------------------------------------- | `none` | No ancillary service is requested. Depending on the carrier servive, the package may be forwarded, returned, or discarded. | `return_service_requested` | The package is returned to the sender. If possible, notification of the new address is is included with the returned package. | `forwarding_service_requested` | Forward the package to the new address, if possible; otherwise, return it to the sender. | `address_service_requested` | Forward the package to the new address, if possible; otherwise, return it to the sender. This is similar to `forwarding_service_requested`, but different restrictions and charges may apply. | `change_service_requested` | The package is discarded. If possible, notification of the new address is sent to the sender. | `leave_if_no_response` |
    - `is_primary_account` boolean
    - `signature_image` string
    - `letterhead_image` string
  - UpdateNewgisticsSettingsRequestBody: A newgistics account settings request body
    - `include_barcode_with_order_number` boolean
    - `receive_email_on_manifest_processing` boolean
  - UpdateUpsSettingsRequestBody: UPS account settings
    - `nickname` string: nickname
    - `is_primary_account` boolean: Indicates if this is the primary UPS account
    - `pickup_type` 'daily_pickup' | 'occasional_pickup' | 'customer_counter': The possible ups pickup type values
    - `use_carbon_neutral_shipping_program` boolean: The use carbon neutral shipping program
    - `use_ground_freight_pricing` boolean: The use ground freight pricing
    - `use_consolidation_services` boolean: The use consolidation services
    - `use_order_number_on_mail_innovations_labels` boolean: The use order number on mail innovations labels
    - `mail_innovations_endorsement` 'none' | 'return_service_requested' | 'forwarding_service_requested' | 'address_service_requested' | 'change_service_requested' | 'leave_if_no_response': [Ancillary service endorsements](https://pe.usps.com/text/qsg300/Q507.htm) are used by mailers to request an addressee's new address and to provide the carrier with instructions on how to handle packages that are undeliverable as addressed. | Ancillary Service Endorsement | Description |--------------------------------|----------------------------------------------------- | `none` | No ancillary service is requested. Depending on the carrier servive, the package may be forwarded, returned, or discarded. | `return_service_requested` | The package is returned to the sender. If possible, notification of the new address is is included with the returned package. | `forwarding_service_requested` | Forward the package to the new address, if possible; otherwise, return it to the sender. | `address_service_requested` | Forward the package to the new address, if possible; otherwise, return it to the sender. This is similar to `forwarding_service_requested`, but different restrictions and charges may apply. | `change_service_requested` | The package is discarded. If possible, notification of the new address is sent to the sender. | `leave_if_no_response` |
    - `mail_innovations_cost_center` string: mail innovations cost center
    - `use_negotiated_rates` boolean: The use negotiated rates
    - `account_postal_code` string: account postal code
    - `invoice` UpsInvoice: UPS invoice
      - `invoice_date` string, date-time: invoice date
      - `invoice_number` string: invoice number
      - `control_id` string: A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
      - `invoice_amount` number
      - `invoice_currency_code` string
  - UpdateAmazonBuyShippingRequestBody: An amazon buy shipping account settings request body
    - `email` string: Email

## Response `204`

The request was successful.

- string

## Other responses

- `404`: The specified resource does not exist.
- `500`: An error occurred on ShipStation API's side.

## Changes

- **2026-10-22** `4e29670aa28d`: 3 warning
  - added the new `bring_your_own_label_not_supported` enum value to the `errors/items/error_code` response property for the response status `404`
  - added the new `multiple_sales_orders` enum value to the `errors/items/error_code` response property for the response status `404`
  - added the new `sales_order_link_required` enum value to the `errors/items/error_code` response property for the response status `404`
- **2026-10-09** `934f5935dbea`: 2 breaking, 8 info
  - removed `#/components/schemas/update_dhl_express_settings_request_body, #/components/schemas/update_fedex_settings_request_body, #/components/schemas/update_newgistics_settings_request_body, #/components/schemas/update_ups_settings_request_body, #/components/schemas/update_amazon_buy_shipping_request_body` from the request body `oneOf` list
  - the `errors/items/` response's property type changed from no type to `object` for status `404`
  - added `#/components/schemas/update_dhl_express_settings_request_body, #/components/schemas/update_fedex_settings_request_body, #/components/schemas/update_newgistics_settings_request_body, #/components/schemas/update_ups_settings_request_body, #/components/schemas/update_amazon_buy_shipping_request_body` to the request body `anyOf` list
  - added the optional property `errors/items/field_name` to the response with the `404` status
  - …6 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/shipstation/apis/shipstation-api-v2/changes/v2/connections/carriers/:carrier_name/:carrier_id/settings/put.md)

---

[API](https://skmtc.dev/shipstation/apis/shipstation-api-v2.md) - [All operations](https://skmtc.dev/shipstation/apis/shipstation-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/shipstation/apis/shipstation-api-v2/revisions/43d0f3c948ca?raw)
