---
title: sip_trunk.already_exists
description: 'This workspace already has a SIP trunk, so it cannot be connected again.'
summary: >-
  Returned by POST /v1/sip-trunk when a trunk is already connected. A workspace
  has exactly one — use PUT to change it.
date: 2026-08-14T00:00:00.000Z
type: error
---


## Summary

`sip_trunk.already_exists` means `POST /v1/sip-trunk` was called on a workspace that already has a trunk connected. A workspace has exactly one.

## Cause

`POST` connects a trunk; it does not replace one. That refusal is deliberate rather than pedantic.

A create aimed at a workspace that already has a trunk is almost always a mistake about *which* workspace, not a request to swap carriers mid-flight. Had it replaced the existing trunk, two things would happen quietly: calls in progress on the old trunk would drop, and an `ip_allowlist` trunk that an operator had already approved would fall back to `pending_approval` — taking a working connection offline until someone approved it again.

Nothing is written when this is returned. The existing trunk is untouched.

## Resolution

To change the trunk you already have, use `PUT`:

```bash
curl -X PUT "https://api.sautikit.com/v1/sip-trunk" \
  -H "Authorization: Bearer $SAUTIKIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label": "Head office trunk", "auth_mode": "registration", "proxy": "sip.example-carrier.com", "transport": "udp", "auth_username": "u", "password": "…"}'
```

To see what is currently connected:

```bash
curl "https://api.sautikit.com/v1/sip-trunk" \
  -H "Authorization: Bearer $SAUTIKIT_API_KEY"
```

To genuinely start over — for instance when moving to a different carrier — disconnect first. That requires releasing any BYO numbers riding the trunk, which is what [`sip_trunk.in_use`](/developers/errors/sip_trunk.in_use) guards.

## Related

- [`sip_trunk.not_found`](/developers/errors/sip_trunk.not_found) — no trunk is connected yet.
- [`sip_trunk.in_use`](/developers/errors/sip_trunk.in_use) — numbers still ride the trunk.
