---
title: "Update signal settings"
method: PATCH
path: "/api/signal-settings"
tags: ["signal_settings"]
---

# Update signal settings

`PATCH /api/signal-settings`

## Request

- Base URL: `https://beta.getsales.io/signals/v1`
- URL: `https://beta.getsales.io/signals/v1/api/signal-settings`
- Auth: HTTP bearer and API key in header `Team-SID`

Flip the team's switches. website_link_codes false stops coding every link of the team whatever the sites say, true lets a verified site with link_codes_enabled code again (one site's codes: update_website_site). profile_views_enabled false stops reading every sender profile's Who viewed your profile list (a queued run finishes); profile_views_excluded_sender_profiles replaces the excluded set. Nothing changed is 422 nothing_to_update.

Contract:
- MCP tool `update_signal_settings`, registry package `mcp.signals/signal_settings`, mount `signals.website`.
- Operation `update`, response envelope `update`.
- Flags: none.

## Request body

- UpdateSignalSettingsRequest: Request body of `update_signal_settings`.
  - `website_link_codes` boolean: false stops coding every link of the team at once; true lets a verified site with link_codes_enabled code again. The send paths follow within five minutes.
  - `profile_views_enabled` boolean: false stops reading every sender profile's "Who viewed your profile" list (a run already queued finishes); true reads them again from the next hourly scan.
  - `profile_views_excluded_sender_profiles` string[]: The sender profiles to keep out of the profile view collection (unibox sender profile sids, ub_sp_...). Replaces the stored list as a set; [] clears it; a sid outside ub_sp_ is a 422.

## Response `200`

`update` success envelope.

- UpdateSignalSettingsResponse
  - `success` true, required
  - `operation` 'update', required
  - `item` object, required
    - `sid` string, required: Signal setting sid (sg_st_...). Stable for the life of the team.
    - `team_sid` string, required: Owning team (ts_tm_..., external: gs.service.id). Exactly one row per team.
    - `website_link_codes` boolean, required: The master switch for the code in the links the send paths emit (the company's or the person's, by the site's identification). Off: no link of the team is coded, whatever the sites say. On (default): a link is coded when its site is verified, its identification_confirmation covers its level and the site's own link_codes_enabled is on.
    - `profile_views_enabled` boolean, required: The P0 switch of the LinkedIn leg. On (default): every live sender profile with a LinkedIn account and a premium plan has its "Who viewed your profile" list read once a day, but the sender profiles in profile_views_excluded_sender_profiles. Off: no sender profile's list is read.
    - `profile_views_excluded_sender_profiles` string[], required: The sender profiles kept out of the profile view collection (sender profile sids, ub_sp_...); [] by default, at most 500.
    - `created_at` string, required: ISO 8601 UTC, the first read.
    - `updated_at` string, required: ISO 8601 UTC.
  - `updated_fields` string[], required
  - `previous_values` object, required
  - `kept_fields` string[]: The fields this write did not change because the person's own value stands on them (stamped person); read the item for what landed.
  - `meta` object, required
    - `trace_id` string, required: UUID v7; same 128-bit value as the X-Trace-Id header.
    - `span_id` string, required: 16 hex chars, root span of this request.
    - `timestamp` string, required: ISO 8601 UTC (Y-m-dTH:i:sZ), response time.
    - `duration_ms` integer, required: Server-side wall clock.
    - `team_sid` string, nullable: The team this call ran in (the token team, or the team_sid override). Null when unauthenticated; absent from pre-2026-08-20 backends.
    - `actor_type` string, nullable: user | agent | api_key | system. Null when unauthenticated; absent from pre-2026-08-20 backends.

## Other responses

- `4XX`: MCP error envelope. `error.code` is one of validation_failed, nothing_to_update, not_found, relation_not_found, invalid_transition, limit_exceeded, payment_required, duplicate_rejected, conflict, delete_blocked, unauthorized, forbidden, rate_limited, not_implemented.
- `5XX`: MCP error envelope with `error.code` internal_error or service_unavailable.

---

[API](https://skmtc.dev/getsales/apis/getsales-public-contract-gs-service-signals.md) - [All operations](https://skmtc.dev/getsales/apis/getsales-public-contract-gs-service-signals/llms.txt) - [OpenAPI document](https://skmtc.dev/getsales/apis/getsales-public-contract-gs-service-signals/revisions/310ca5d2219d?raw)
