# Method: apps.services.patch

- [HTTP request](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#body.PATH_PARAMETERS)
- [Query parameters](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#body.QUERY_PARAMETERS)
- [Request body](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#body.request_body)
- [Response body](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#body.response_body)
- [Authorization Scopes](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#body.aspect)
- [Try it!](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services/patch#try-it)

Updates the configuration of the specified service.

### HTTP request

`PATCH https://appengine.googleapis.com/v1/{name=apps/*/services/*}`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `name` | `string` Name of the resource to update. Example: `apps/myapp/services/default`. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `name`: - `appengine.services.update` |

### Query parameters

| Parameters ||
|---|---|
| `updateMask` | ``string (`https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask` format)`` Required. Standard field mask for the set of fields to be updated. This is a comma-separated list of fully qualified names of fields. Example: `"user.displayName,photo"`. |
| `migrateTraffic` | `boolean` Set to `true` to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) and [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). You must specify the [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic). |

### Request body

The request body contains an instance of `https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#Service`.

### Response body

If successful, the response body contains an instance of `https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/Shared.Types/ListOperationsResponse#Operation`.

### Authorization Scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/cloud-platform`

For more information, see the [Authentication Overview](https://cloud.google.com/docs/authentication/).