---
title: "Update SIP account"
method: PATCH
path: "/api/v1/sipaccounts/{id}"
tags: ["SIP Accounts"]
---

# Update SIP account

`PATCH /api/v1/sipaccounts/{id}`

## Request

- Base URL: `https://app.didlogic.com`
- URL: `https://app.didlogic.com/api/v1/sipaccounts/{id}`
- Auth: HTTP bearer

Update SIP account settings.

## Path parameters

- `id` string, required

## Request body

- object
  - `sipaccount` object
    - `label` string: Account label/name
    - `password` string: SIP password
    - `callerid` string: Caller ID to display on outbound calls
    - `rewrite_enabled` boolean: Enable number rewriting
    - `rewrite_cond` string: Rewrite condition pattern (regular expression)
    - `rewrite_prefix` string: Prefix to add when rewriting numbers
    - `didinfo_enabled` boolean: Enable DID info in SIP headers
    - `ip_restrict` boolean: Restrict access by IP address (requires allowed IPs)
    - `call_restrict` boolean: Enable the per-call duration limit
    - `call_limit` integer: Maximum call duration in seconds
    - `channels_restrict` boolean: Enable concurrent channel limits
    - `max_channels` integer: Maximum concurrent channels allowed
    - `cost_limit` boolean: Enable maximum call cost limit
    - `max_call_cost` integer: Maximum allowed cost per call in cents
    - `spend_limit_enabled` boolean: Enable total spending limit. Switching a disabled limit back on restarts it: the full limit is available again, counted from now
    - `spend_limit` integer: Maximum total spend amount in cents
    - `reset_available_amount` integer: Amount available for spend limit reset in cents
    - `call_recording_enabled` boolean: Enable or disable recording of outbound calls made via a selected SIP account

## Response `200`

Successfully updates SIP account settings

- object
  - `sipaccount` object, required: Updated SIP account details
    - `id` integer, required: Unique SIP account identifier
    - `name` string, required: SIP account username
    - `callerid` string, required: Caller ID
    - `label` string, required: Account label
    - `host` string, required: SIP server host
    - `rewrite_enabled` boolean, required: Whether number rewriting is enabled
    - `rewrite_cond` string, required: Rewrite condition pattern (regular expression)
    - `rewrite_prefix` string, required: Prefix to add when rewriting numbers
    - `didinfo_enabled` boolean, required: Whether DID info is included in SIP headers
    - `ip_restrict` boolean, required: Whether access is restricted by IP address
    - `call_restrict` boolean, required: Whether the per-call duration limit is enabled
    - `call_limit` integer, required: Maximum call duration in seconds
    - `channels_restrict` boolean, required: Whether concurrent channel limits are enabled
    - `max_channels` integer, required: Maximum number of concurrent channels allowed
    - `cost_limit` boolean, required: Whether maximum call cost limit is enabled
    - `max_call_cost` string, required: Maximum allowed cost per call
    - `created_at` string, required: Account creation timestamp
    - `charge` string, required: Total charges accumulated on this account
    - `talk_time` integer, required: Total talk time in seconds
    - `low_balance` boolean, required: Whether account has low balance
    - `spend_limit` string, required: Maximum total spend amount
    - `spend_limit_enabled` boolean, required: Whether spending limit is enabled
    - `available_amount` string, required: Amount available for spending
    - `call_recording_enabled` boolean, required
    - `allowed_ips` unknown[], required: List of IP addresses allowed to authenticate
      - unknown
  - `warnings` Warning[]: Non-fatal notices for parts of the request that were accepted but silently skipped (e.g. an unverified caller ID). Present only when non-empty.
    - `resource` string, required: Entity kind the warning is about (e.g. "caller_id", "did").
    - `identifier` string, required: The value the client sent that was skipped.
    - `code` string, required: Stable machine-readable token for the reason.
    - `message` string, required: Human-readable explanation.

## Other responses

- `403`: Returns 403 error when API token is incorrect
- `404`: Returns the 404 error envelope {"errors":{"base":["data not found"]}} when neither the SIP account name nor id matches an account you own.

---

[API](https://skmtc.dev/didlogic/apis/get-started.md) · [All operations](https://skmtc.dev/didlogic/apis/get-started/llms.txt) · [OpenAPI document](https://skmtc.dev/didlogic/apis/get-started/revisions/dc972d592b34?raw)
