Skip to main content
PUT /api/v2/storefront/signals/{signalId} Updates a signal’s metadata and access records. You can change name, description, and isLive, and add, update, or archive access records. signalId, keyType, regions, and metadata cannot change after creation.
Immutable fields are ignored, not rejected. This endpoint accepts a closed set of fields. Send keyType, regions, or metadata and they are dropped before the write — the response is still 200 with the unchanged stored values, so a request that tried to change them looks like it succeeded. Send signalId in the body and it is overwritten by the id in the path, so it can never rename the signal or redirect the write to another one; the safest thing to send is the same id you addressed, or nothing.Read the response back and compare, rather than assuming a 200 means every field you sent was applied. To change a fixed field, archive the signal and register a replacement.
The in-chat signal tool guards this for you: it reads the stored signal first, lets an unchanged round-trip echo of the fixed fields through, and refuses a request that would actually change one — rather than reporting a save the API did not make.

Request

Parameters

Response

Errors

  • 400 VALIDATION_ERROR — a malformed signalId (it must match ^[\w\-:.]+$ and be 1–255 characters), a field that breaks a length or enum constraint, or a body carrying no updatable field at all.
  • 404 NOT_FOUND — no signal with that signalId is visible to the authenticated account.
These are not validation errors. Sending keyType, regions or metadata does not fail — the fields are dropped before the write and the response is 200 with the unchanged stored values. A body signalId that differs from the path is not rejected either; it is overwritten by the path value. Both cases look like a successful update, which is why the Warning above tells you to read the response back and compare rather than trusting the status code.
See Errors for the full error contract.

Signal tasks

All signal operations

Get signal

One signal with access records

Delete signal

Archive a signal

Signal overview

Fields, lifecycle, and concepts