---
title: "Update a service account"
method: PATCH
path: "/admin/service-accounts/{service_account_id}"
tags: ["Service Accounts"]
---

# Update a service account

`PATCH /admin/service-accounts/{service_account_id}`

Update a service account's name; role bindings are managed through the role-binding endpoints.

## Path parameters

- `service_account_id` string, uuid, required

## Headers

- `X-Pinecone-Api-Version` string, required

## Request body

- UpdateServiceAccountRequest
  - `name` string — A new name for the service account. If omitted, the name is unchanged.

## Response `200`

Service account updated successfully.

- ServiceAccount — A service account. The OAuth `client_secret` is not included.
  - `id` string, uuid, required — The unique identifier for the service account. Use this as the path parameter on `/admin/service-accounts/{service_account_id}` endpoints and as the `principal_id` when querying or creating role bindings.
  - `name` string, required — A short human-readable label, set by the caller at creation time.
  - `client_id` string, required — The OAuth client ID used by the service account to obtain access tokens. Used only for OAuth token exchange.
  - `created_at` string, date-time, required — The date and time the service account was created.
  - `updated_at` string, date-time, required — The date and time of the service account's most recent metadata update.

## Other responses

- `400` — Bad request. The request body included invalid request parameters.
- `401` — Unauthorized. Possible causes: Invalid API key.
- `403` — Forbidden
- `404` — Not found
- `500` — Internal server error.
- `4XX` — Unexpected error on request.

---

[API](https://skmtc.dev/pinecone/apis/pinecone-admin-api.md) · [All operations](https://skmtc.dev/pinecone/apis/pinecone-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pinecone/pinecone-admin-api/revisions/8210e9d414c2/schema)
