---
title: "Update an existing service group"
method: PUT
path: "/service-groups"
tags: ["Service Groups"]
---

# Update an existing service group

`PUT /service-groups`

Updates an existing service group object. The object_id cannot be updated as it is the unique identifier for the object.

## Headers

- `SHIPPO-API-VERSION` string

## Request body

- ServiceGroupUpdateRequest
  - `description` string, required — Description for the service group
  - `flat_rate` string — String representation of an amount to be returned as the flat rate if 1. The service group is of type `LIVE_RATE` and no matching rates were found; or 2. The service group is of type `FLAT_RATE`. Either integers or decimals are accepted. Required unless type is `FREE_SHIPPING`
  - `flat_rate_currency` string — required unless type is `FREE_SHIPPING`. (ISO 4217 currency)
  - `free_shipping_threshold_currency` string — optional unless type is `FREE_SHIPPING`. (ISO 4217 currency)
  - `free_shipping_threshold_min` string — For service groups of type `FREE_SHIPPING`, this field must be required to configure the minimum cart total (total cost of items in the cart) for this service group to be returned for rates at checkout. Optional unless type is `FREE_SHIPPING`
  - `name` string, required — Name for the service group that will be shown to customers in the response
  - `rate_adjustment` integer — The amount in percent (%) that the service group's returned rate should be adjusted. For example, if this field is set to 5 and the matched rate price is $5.00, the returned value of the service group will be $5.25. Negative integers are also accepted and will discount the rate price by the defined percentage amount.
  - `type` 'LIVE_RATE' | 'FLAT_RATE' | 'FREE_SHIPPING', required — The type of the service group. - `LIVE_RATE`: Shippo will make a rating request and return real-time rates for the shipping group, only falling back to the specified flat rate amount if no rates match a service level in the service group. - `FLAT_RATE`: returns a shipping option with the specified flat rate amount. - `FREE_SHIPPING`: returns a shipping option with a price of $0 only if the total cost of items exceeds the amount defined by `free_shipping_threshold_min`
  - `object_id` string, required — The unique identifier of the given Service Group object.
  - `is_active` boolean, required — True if the service group is enabled, false otherwise.
  - `service_levels` ServiceGroupAccountAndServiceLevel[], required
    - `account_object_id` string — ID of a Carrier Account object
    - `service_level_token` string — Service level token, e.g. `usps_priority` or `fedex_ground`. See [Service Levels](/shippoapi/public-api/service-levels).

## Response `200`

Service group

- ServiceGroup
  - `description` string, required — Description for the service group
  - `flat_rate` string — String representation of an amount to be returned as the flat rate if 1. The service group is of type `LIVE_RATE` and no matching rates were found; or 2. The service group is of type `FLAT_RATE`. Either integers or decimals are accepted. Required unless type is `FREE_SHIPPING`
  - `flat_rate_currency` string — required unless type is `FREE_SHIPPING`. (ISO 4217 currency)
  - `free_shipping_threshold_currency` string — optional unless type is `FREE_SHIPPING`. (ISO 4217 currency)
  - `free_shipping_threshold_min` string — For service groups of type `FREE_SHIPPING`, this field must be required to configure the minimum cart total (total cost of items in the cart) for this service group to be returned for rates at checkout. Optional unless type is `FREE_SHIPPING`
  - `name` string, required — Name for the service group that will be shown to customers in the response
  - `rate_adjustment` integer — The amount in percent (%) that the service group's returned rate should be adjusted. For example, if this field is set to 5 and the matched rate price is $5.00, the returned value of the service group will be $5.25. Negative integers are also accepted and will discount the rate price by the defined percentage amount.
  - `type` 'LIVE_RATE' | 'FLAT_RATE' | 'FREE_SHIPPING', required — The type of the service group. - `LIVE_RATE`: Shippo will make a rating request and return real-time rates for the shipping group, only falling back to the specified flat rate amount if no rates match a service level in the service group. - `FLAT_RATE`: returns a shipping option with the specified flat rate amount. - `FREE_SHIPPING`: returns a shipping option with a price of $0 only if the total cost of items exceeds the amount defined by `free_shipping_threshold_min`
  - `object_id` string, required — The unique identifier of the given Service Group object.
  - `is_active` boolean — True if the service group is enabled, false otherwise.
  - `service_levels` ServiceGroupAccountAndServiceLevel[], required
    - `account_object_id` string — ID of a Carrier Account object
    - `service_level_token` string — Service level token, e.g. `usps_priority` or `fedex_ground`. See [Service Levels](/shippoapi/public-api/service-levels).

## Other responses

- `400` — Bad request

---

[API](https://skmtc.net/goshippo/apis/shippo-external-api.md) · [All operations](https://skmtc.net/goshippo/apis/shippo-external-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/goshippo/shippo-external-api/revisions/13280a44853c/schema)
