---
title: "Replace a live service on a sandbox"
method: PUT
path: "/api/v0beta1/rigs/{id}/services/{ref}"
tags: ["Sandboxes"]
---

# Replace a live service on a sandbox

`PUT /api/v0beta1/rigs/{id}/services/{ref}`

## Request

- Base URL: `https://app.amika.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://app.amika.dev/api/v0beta1/rigs/{id}/services/{ref}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `wos-session`

## Path parameters

- `id` string, required
- `ref` string, required: Service reference: its name (default) or row id. Use `by` to choose.

## Query parameters

- `sandbox_by` 'name' | 'id' | 'ref' | 'name_or_id': How to interpret the sandbox `{id}` path param: ref/name_or_id (default; matches an id or a name and rejects an ambiguous match with 409 `resource_ref_ambiguous`), name, or id.
- `by` 'name' | 'id' | 'ref' | 'name_or_id': How to interpret the service `{ref}`: name (default), id, or ref/name_or_id (matches either; rejects ambiguity).

## Request body

- SandboxServiceInput
  - `name` string, required: Service name: a single DNS label, unique per sandbox.
  - `port` integer, required: Container port the service listens on.
  - `url_scheme` 'http' | 'https', required: URL scheme the gateway serves the service over.

## Response `200`

Service replaced.

- SandboxService
  - `id` string, nullable, required
  - `sandbox_id` string, required
  - `name` string, required
  - `port` integer, required
  - `url_scheme` 'http' | 'https' | 'null', nullable, required
  - `protocol` string, required
  - `url` string, nullable, required
  - `host_port` integer, nullable, required
  - `source` 'table' | 'legacy', required
  - `kind` 'system' | 'user', required
  - `created_at` union, required
    - string
    - string, date-time
    - unknown
  - `updated_at` union, required
    - string
    - string, date-time
    - unknown

## Other responses

- `400`: Error
- `401`: Error
- `403`: Error
- `404`: Error
- `409`: Error

## Changes

- **2026-09-16** `25ba06b40ead`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/amika/apis/amika-api/changes/api/v0beta1/rigs/:id/services/:ref/put.md)

---

[API](https://skmtc.dev/amika/apis/amika-api.md) - [All operations](https://skmtc.dev/amika/apis/amika-api/llms.txt) - [OpenAPI document](https://skmtc.dev/amika/apis/amika-api/revisions/86f031a957c1?raw)
