---
title: "Update SIP endpoint"
method: PUT
path: "/api/relay/rest/endpoints/sip/{id}"
tags: ["SIP Endpoints (Legacy)"]
---

# Update SIP endpoint

`PUT /api/relay/rest/endpoints/sip/{id}`

Updates a SIP endpoint.

<Warning>This endpoint is deprecated. Use [SIP Credentials](/docs/apis/rest/sip-credentials/create-sip-credential) instead.</Warning>

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Path parameters

- `id` string, uuid, required — Universal Unique Identifier.

## Request body

- UpdateSipEndpointRequest — Request body for updating a SIP endpoint.
  - `username` string — String representing the username portion of the endpoint. Must be unique across your project and must not contain white space characters or @.
  - `password` string — A password to authenticate registrations to this endpoint.
  - `caller_id` string — Friendly Caller ID used as the CNAM when dialing a phone number or the From when dialing another SIP Endpoint.
  - `send_as` string — When dialing a PSTN phone number, you must send it From a number you have purchased or verified. send_as indicates which number this endpoint has set as its origination. random indicates it will randomly choose a purchased or verified number from within the project.
  - `ciphers` string[] — A list of encryption ciphers this endpoint will support.
  - `codecs` string[] — A list of codecs this endpoint will support.
  - `encryption` 'default' | 'required' | 'optional' — Specifies the encryption requirements for connections to this endpoint.
  - `call_handler` 'relay_context' | 'relay_topic' | 'relay_application' | 'relay_connector' | 'relay_script' | 'laml_webhooks' | 'laml_application' | 'dialogflow' | 'video_room' | 'call_flow' | 'ai_agent' — What type of handler you want to run on inbound calls.
  - `call_request_url` string — The LaML URL to access when a call is received. Required when call_handler is laml_webhooks.
  - `call_request_method` 'GET' | 'POST' — The HTTP method to use with call_request_url.
  - `call_fallback_url` string — The LaML URL to access when the call to call_request_url fails. Required when call_handler is laml_webhooks.
  - `call_fallback_method` 'GET' | 'POST' — The HTTP method to use with call_fallback_url.
  - `call_status_callback_url` string — A URL to send status change messages to. Required when call_handler is laml_webhooks.
  - `call_status_callback_method` 'GET' | 'POST' — The HTTP method to use with call_status_callback_url.
  - `call_laml_application_id` string — The ID of the LaML application to forward incoming calls to. Required when call_handler is laml_application.
  - `call_dialogflow_agent_id` string — The ID of the Dialogflow agent to forward incoming calls to. Required when call_handler is dialogflow.
  - `call_relay_topic` string — The Relay topic to forward incoming calls to. Required when call_handler is relay_topic.
  - `call_relay_topic_status_callback_url` string — A URL to send status change messages to. Required when call_handler is relay_topic.
  - `call_relay_context` string — The Relay context to forward incoming calls to. Required when call_handler is relay_context.
  - `call_relay_context_status_callback_url` string — A URL to send status change messages to. Required when call_handler is relay_context.
  - `call_relay_application` string — The Relay application to forward incoming calls to. Required when call_handler is relay_application.
  - `call_video_room_id` string, uuid — Universal Unique Identifier.
  - `call_flow_id` string, uuid — Universal Unique Identifier.
  - `call_flow_version` string — The version of the Call Flow to use. Valid values are 'working_copy' or 'current_deployed'.
  - `call_ai_agent_id` string, uuid — Universal Unique Identifier.
  - `call_relay_script_url` string — A URL of a SWML script to respond to incoming calls. Required when call_handler is relay_script.

## Response `200`

The request has succeeded.

- SipEndpointResponse — Response containing a single SIP endpoint.
  - `type` string, required — A string representation of the type of object this record is.
  - `id` string, uuid, required — Universal Unique Identifier.
  - `username` string, required — The username for the SIP endpoint.
  - `caller_id` string, nullable, required — Friendly Caller ID used as the CNAM when dialing a phone number or the From when dialing another SIP Endpoint.
  - `send_as` string, required — When dialing a PSTN phone number, you must send it From a number you have purchased or verified. send_as indicates which number this endpoint has set as its origination. random indicates it will randomly choose a purchased or verified number from within the project.
  - `ciphers` string[], required — A list of encryption ciphers this endpoint will support.
  - `codecs` string[], required — A list of codecs this endpoint will support.
  - `encryption` 'default' | 'required' | 'optional', required — Whether connections to this endpoint require encryption or if encryption is optional.
  - `call_handler` 'relay_context' | 'relay_topic' | 'relay_application' | 'relay_connector' | 'relay_script' | 'laml_webhooks' | 'laml_application' | 'dialogflow' | 'video_room' | 'call_flow' | 'ai_agent', required — Call handler type for SIP endpoints.
  - `calling_handler_resource_id` string, uuid, required — Universal Unique Identifier.
  - `call_request_url` string, nullable, required — A string representing the LaML URL to access when a call is received. This is only used (and required) when call_handler is set to laml_webhooks.
  - `call_request_method` 'GET' | 'POST', nullable, required — A string representing the HTTP method to use with call_request_url. Valid values are GET and POST.
  - `call_fallback_url` string, nullable, required — A string representing the LaML URL to access when the call to call_request_url fails. This is only used (and required) when call_handler is set to laml_webhooks.
  - `call_fallback_method` 'GET' | 'POST', nullable, required — A string representing the HTTP method to use with call_fallback_url. Valid values are GET and POST.
  - `call_status_callback_url` string, nullable, required — A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to laml_webhooks.
  - `call_status_callback_method` 'GET' | 'POST', nullable, required — A string representing the HTTP method to use with call_status_callback_url. Valid values are GET and POST.
  - `call_laml_application_id` string, nullable, required — A string representing the ID of the LaML application to forward incoming calls to. This is only used (and required) when call_handler is set to laml_application.
  - `call_dialogflow_agent_id` string, nullable, required — A string representing the ID of the Dialogflow agent to forward incoming calls to. This is only used (and required) when call_handler is set to dialogflow.
  - `call_relay_topic` string, nullable, required — A string representing the Relay topic to forward incoming calls to. This is only used (and required) when call_handler is set to relay_topic.
  - `call_relay_topic_status_callback_url` string, nullable, required — A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to relay_topic.
  - `call_relay_context` string, nullable, required — A string representing the Relay context to forward incoming calls to. This is only used (and required) when call_handler is set to relay_context.
  - `call_relay_context_status_callback_url` string, nullable, required — A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to relay_context.
  - `call_relay_application` string, nullable, required — A string representing the Relay application to forward incoming calls to. This is only used (and required) when call_handler is set to relay_application.
  - `call_video_room_id` string, uuid, required — Universal Unique Identifier.
  - `call_relay_script_url` string, nullable, required — A string representing a URL of a SWML script to respond to incoming calls. This is only used (and required) when call_handler is set to relay_script.

## Other responses

- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `422` — The request failed validation. See errors for details.
- `500` — An internal server error occurred.

---

[API](https://skmtc.net/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.net/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/versions/05c5164b85c7/schema)
