# Manage a Service

Once a service is live, you keep working on it: ship a new pipeline version, wire it into your app, watch how it runs, and control its cost. Callers keep using the same endpoint while you make these changes. You find and manage all your services in Gateway.

***

## Prerequisites

- You must have read and write permissions to services to update services. For details, see [User Roles and Permissions](/docs/concepts/user-roles-and-permissions.mdx).
- You must have a service created and a pipeline published to it. For details, see [Create a Service](/docs/how-to-guides/productionizing-your-pipeline/working-with-services/create-service.mdx) and [Publish a Pipeline to a Service](/docs/how-to-guides/productionizing-your-pipeline/working-with-services/publish-pipeline-to-service.mdx).

## View Service Details

Every task below starts here.

1. In <ProductName />, click **Gateway** in the navigation.
2. Click the name of the service you want to work on.

## What Do You Want to Do?

- [Publish a new pipeline version](#publish-a-new-pipeline-version)
- [Rename a service or edit its description](#rename-a-service-or-edit-its-description)
- [Let others try the service](#let-others-try-the-service)
- [Deactivate a service to save resources](#deactivate-a-service-to-save-resources)
- [Delete a service you no longer need](#delete-a-service)
- [Call the service from your app](#call-the-service-from-your-app)
- [Test the service before you integrate](#test-the-service-before-you-integrate)
- [Trace and debug queries](#trace-and-debug-queries)
- [Scale the service and control cost](#scale-the-service-and-control-cost)
- [Make the service available as an MCP tool](#make-the-service-available-as-an-mcp-tool)

## Publish a New Pipeline Version

When you improve a pipeline, publish the new version to the service so callers get it. The endpoint stays the same, so nothing breaks on their side.

1. On **Overview**, in the *Pipeline* card, click **Switch source**.
2. Choose the pipeline or version you want to serve.
3. Describe what changed. Your note appears in the service deployment history.
4. Confirm the change.

To check what's running now or what you served before, use the *Deployment history* list on **Overview**. The version marked **Serving** is the one handling requests.

## Rename a Service or Edit Its Description

Keep the service easy to recognize as your setup grows.

1. On **Overview**, in the *About* card, click **Edit**.
2. Update the name and description.
3. Save your changes.

## Let Others Try the Service

Share a link so teammates or stakeholders can try the service in a playground-style page, with your own branding and access rules.

1. On **Overview**, in the *Pipeline* card, click **Share**.
2. Configure the link settings and style.
3. Click **Generate Link**, then copy and share it.

For every share option, see [Share a Pipeline Prototype](/docs/how-to-guides/evaluating-your-pipeline/share-a-pipeline-prototype.mdx).

## Deactivate a Service to Save Resources

Stop a service from handling requests when you don't need it. Deactivating stops active-hour metering. The service record and the published pipeline version stay in place, so you can bring it back anytime.

:::info Service statuses
- **Active**: The service is deployed and handling requests.
- **Standby**: The service is idle after the idle timeout in hosting settings. It wakes automatically on a request, or you can wake it manually.
- **Inactive**: You deactivated the service. It does not handle requests.
:::

1. On **Overview**, in the *Pipeline* card, click **More Actions**.
2. Choose **Deactivate service** and confirm. For a production service, type the service name to confirm.

The status changes to **Inactive**.

If a service is in standby, you can wake it up by clicking **More Actions>Wake service**. A service goes on standby after it reaches the idle timeout configured in the hosting settings.

To activate an inactive service:

1. On **Overview**, in the *Pipeline* card, click **More Actions**.
2. Choose **Wake service** if the service is on standby, or **Activate service** if it is inactive.

## Delete a Service

Remove a service you don't plan to use again. This removes the endpoint but keeps the underlying pipeline. Deactivate the service first.

:::warning
Deleting a service cannot be undone.
:::

1. On **Overview**, in the *Pipeline* card, click **More Actions**.
2. If the service is active, click **Deactivate service** first.
2. Open *More Actions** again and choose **Delete service** and confirm. For a production service, type the service name to confirm.

The service is removed and you return to Gateway.

## Call the Service from Your App

Point your application at the service endpoint to send it real traffic.

1. Click **Connect**.
2. Under *Add the endpoint*, copy the request URL. This URL stays the same when you publish a new pipeline version.
3. Authenticate with a workspace API key as a Bearer token in the `Authorization` header. To create or manage keys, click **Manage API keys**.

Keep API keys secret. Store them in a secrets manager and never expose them in client-side code. For more information, see [Generate API Keys](/docs/how-to-guides/managing-access/generate-api-key.mdx).

## Test the Service Before You Integrate

Send a request straight from the browser to confirm the service responds as you expect.

1. Click **Connect**.
2. Under *Try it*, edit the sample request if needed.
3. Click **Send request** and check the response.

Test requests hit the live service, use the currently serving revision, and count against your quota.

## Trace and Debug Queries

Find slow or failing runs and see how a query moved through the pipeline.

1. Click **Traces**.
2. Open a trace to inspect its steps.

Tracing works the same as for pipelines. To read and use traces, see [Trace with Built-In Traces](/docs/how-to-guides/productionizing-your-pipeline/trace-your-pipelines-ui.mdx).

## Scale the Service and Control Cost

Tune how many replicas run and how long the service stays active to balance responsiveness against cost. These settings apply only to this service. If the same pipeline is also deployed on its own, configure that separately in the pipeline deployment settings.

1. Click **Settings** and go to the *Hosting* section.
2. Choose a preset, or select *Custom* to set your own values:
   - *High demand*: For production traffic that needs high availability and scaling.
   - *Low demand*: For testing or services that are used rarely.
   - *Custom*: Set *Min replicas*, *Max replicas*, and *Idle timeout* yourself.
3. Confirm your changes.

You can change these settings at any time. 

## Make the Service Available as an MCP Tool

Expose this service to your workspace MCP server so AI assistants — Claude Desktop, Cursor, VS Code, and more — can call it as a tool. Using a service as an MCP tool is recommended for production use because the service endpoint stays stable when you publish a new pipeline version.

1. Click **Settings**.
2. In the **MCP tool** section, turn on **Use as MCP tool**.

The service is immediately available to AI assistants connected to the workspace MCP server.

## What To Do Next

- [Call the endpoint from your app](#call-the-service-from-your-app) with an [API key](/docs/how-to-guides/managing-access/generate-api-key.mdx).
- [Trace with Built-In Traces](/docs/how-to-guides/productionizing-your-pipeline/trace-your-pipelines-ui.mdx) when you need to debug a run.

## Related Information

- [Gateway](/docs/concepts/gateway/gateway.mdx)
- [Create a Service](/docs/how-to-guides/productionizing-your-pipeline/working-with-services/create-service.mdx)
- [Publish a Pipeline to a Service](/docs/how-to-guides/productionizing-your-pipeline/working-with-services/publish-pipeline-to-service.mdx)
- [Share a Pipeline Prototype](/docs/how-to-guides/evaluating-your-pipeline/share-a-pipeline-prototype.mdx)
- [Generate API Keys](/docs/how-to-guides/managing-access/generate-api-key.mdx)
- [Trace with Built-In Traces](/docs/how-to-guides/productionizing-your-pipeline/trace-your-pipelines-ui.mdx)
- [Use Your Pipelines as MCP Tools](/docs/how-to-guides/productionizing-your-pipeline/expose-pipeline-as-mcp-tool.mdx)
- [User Roles and Permissions](/docs/concepts/user-roles-and-permissions.mdx)
