---
title: "Update web push settings"
method: PUT
path: "/push/settings/web"
tags: ["Push"]
---

# Update web push settings

`PUT /push/settings/web`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/push/settings/web`
- Auth: HTTP bearer

Enables or disables web push, or sets the default notification icon. The first enable generates the workspace's VAPID key pair; disabling keeps the keys so existing browser subscriptions remain valid when you enable again. Requires the integrations:manage scope and edit access to the workspace.

## Request body

- object
  - `enabled` boolean: Turn web push on or off. Provide enabled and/or defaultIconUrl.
  - `defaultIconUrl` string, nullable: Default https icon used when a message has no icon. null or an empty string clears it.

## Response `200`

Updated settings

- object
  - `success` boolean
  - `push` PushSettings
    - `web` object
      - `enabled` boolean
      - `vapidPublicKey` string, nullable: Public VAPID key browsers subscribe with. null while web push is off.
    - `ios` object
      - `configured` boolean
      - `keyId` string, nullable
      - `teamId` string, nullable
      - `bundleId` string, nullable
      - `environment` 'production' | 'sandbox' | 'null', nullable
      - `lastError` string, nullable: Last credential rejection from APNs, cleared by a successful send or new credentials.
      - `lastErrorAt` string, date-time, nullable
    - `android` object
      - `configured` boolean
      - `projectId` string, nullable
      - `clientEmail` string, nullable
      - `lastError` string, nullable: Last credential rejection from Firebase, cleared by a successful send or new credentials.
      - `lastErrorAt` string, date-time, nullable
    - `defaultIconUrl` string, nullable: Custom web push icon. When null, web pushes use the company logo (brandIconUrl on Get Push Settings).
  - `siteKey` object, nullable: Returned when the request sets enabled to true. The active web tracking key web push uses, created for the company website (and its www or apex twin) when the workspace had none. Null when there is no key and the company website is unknown or not a valid origin.
    - `id` string
    - `name` string
    - `publicKey` string
    - `allowedOrigins` string[]
    - `installSnippet` string
  - `siteKeyCreated` boolean: Returned when the request sets enabled to true. True when this request created the site key.
  - `message` string

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Missing scope or insufficient workspace permissions
- `500`: Server error

## Changes

- **2026-10-16** `db3873ca3d4d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/push/settings/web/put.md)

---

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