---
title: "Change a widget's label or config"
method: PATCH
path: "/v1/widgets/{widget_id}"
tags: ["Account"]
---

# Change a widget's label or config

`PATCH /v1/widgets/{widget_id}`

## Request

- Base URL: `https://api.puntersedge.online`
- URL: `https://api.puntersedge.online/v1/widgets/{widget_id}`
- Auth: API key in header `X-API-Key`

Cost: 0 credits. `config` is a FULL replacement, validated the same way as on create —
a merge would make it impossible to remove an allowed origin or a per-book override, and
"send it back with your change in it" is the only rule that has one meaning. The widget
id and the embed snippets do not change, so nothing on the customer's page needs redeploying.

## Path parameters

- `widget_id` string, required: wgt_… from POST /v1/widgets.

## Headers

- `X-API-Key` string
- `X-RapidAPI-Proxy-Secret` string

## Request body

- WidgetPatchIn
  - `label` string, nullable
  - `config` object, nullable: FULL replacement after validation, not a merge — send the whole config back with your change in it, or omit the field to leave the stored one alone.

## Response `200`

Successful Response

- unknown

## Other responses

- `401`: Missing or invalid API key. Send `X-API-Key`. See https://puntersedge.online/developers/errors
- `402`: Monthly credit allowance exhausted for this plan. Upgrade at https://puntersedge.online/api/pricing
- `422`: A config field is invalid; the message names it.
- `429`: Rate limit exceeded for this plan. Honour the `Retry-After` header (seconds) before retrying. See https://puntersedge.online/developers/rate-limits
- `500`: Unexpected server error. Safe to retry with backoff.

---

[API](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api.md) · [All operations](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/llms.txt) · [OpenAPI document](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/revisions/f35b6aab1946?raw)
