---
title: "Update a service"
method: POST
path: "/v1/{organization}/service/{service_id}/"
tags: ["Service"]
---

# Update a service

`POST /v1/{organization}/service/{service_id}/`

Update fields about a service.

#### Permissions
This endpoint requires the following permissions:
* `Service:UpdateService` for the service.

## Path parameters

- `service_id` string, required — The identifier of the service to update.
- `organization` string, required

## Headers

- `x-mongo-cluster-name` string, nullable — The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.
- `Sec-WebSocket-Protocol` string[]

## Request body

- SrcAppEndpointsServiceUpdateServiceRequest
  - `name` string
  - `description` string
  - `is_active` boolean, nullable — The activeness of the service. Only updated if not-null. If set to `True` and the service is currently inactive, no other service with the same name can be active. If set to `False` and the service is currently active, it is deactivated. This will error if the service is used in a simulation unit test.
  - `agent_id` string, nullable — The ID of the agent that this service uses. Only updated if not-null.
  - `service_hierarchical_state_machine_id` string, nullable — The ID of the service hierarchical state machine that this service uses. Only updated if not-null.
  - `tags` object, nullable — The tags of this service. Only updated if not-null.
  - `keyterms` StrippedNonemptyStringAZAZ02[], nullable — A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service. Only updated if not-null.

## Response `200`

Succeeded.

- unknown

## Other responses

- `400` — This may occur for the following reasons: * The request intends to activate a service that uses a deprecated agent, state machine, or LLM, or it uses an invalid agent or state machine. * The request intends to deactivate a service that is used in a simulation unit test.
- `401` — Invalid authorization credentials.
- `403` — Missing required permissions.
- `404` — The specified organization or service do not exist.
- `409` — The request intends to activate a service that has an active service with the same name.
- `422` — Invalid request path parameter or request body failed validation.
- `429` — The user has exceeded the rate limit of 20 requests per minute for this endpoint.
- `503` — The service is going through temporary maintenance.

---

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