Skip to content

The entry announced to this person now

GET
/v1/changelog/widget/announcement

The one announced entry (Indie and up; a downgrade stops it) before its until, visible to this person, or null. A signed-in person who has been shown it (/seen) never gets it again. An anonymous browser keeps that itself: store once_key and do not show the same announcement twice.

Auth: Publishable key from the browser, or a secret key. To act as a signed-in person send user_id and user_hash = HMAC-SHA256(signing secret, user_id) as lowercase hex (the same signing secret as the notification bell; header X-Nordva-User-Hash, or user_hash in the query or body). A user_id with a missing or wrong hash answers USER_HASH_INVALID (403); it is never quietly treated as anonymous. A secret key may name any user_id without a hash, to preview what that person sees. client_id is the widget’s random id for one browser (16 to 64 letters, digits, - or _) and is used only for reactions.

Rate limits: browser calls count against 120 requests a minute per IP address, not the key’s budget.

CORS: Access-Control-Allow-Origin: *.

user_id
string
<= 256 characters
user_hash
string
client_id
string
/^[A-Za-z0-9_-]{16,64}$/
X-Nordva-User-Hash
string

The announcement or null

object
data
object
announcement
One of:
object
id
string
title
string
body_markdown

Render it with a safe Markdown renderer: escape HTML, show images with referrerpolicy=“no-referrer” and loading=“lazy”.

string
version
string | null
category
string
Allowed values: feature fix improvement security breaking
labels
Array<object>
object
slug
string
name
string
colour
string
cover_image_url

An https link the customer hosts.

string | null
cta_label
string | null
cta_url

An http(s) URL or a path on the customer’s own site.

string | null
pinned
boolean
published_at
string | null format: date-time
audience
string
Allowed values: public signed_in segment
public_url

The hosted page’s URL; null for entries only signed-in people see.

string | null
reactions

Count per reaction in the project’s reaction set, in its order.

object
key
additional properties
integer
Example
{
"like": 24,
"celebrate": 9,
"dislike": 1
}
my_reaction

This person’s reaction (with user_id or client_id).

string | null
seen

Whether this signed-in person has been shown it; null without a user id.

boolean | null
style
string
Allowed values: modal banner toast
until
string format: date-time
active
boolean
once_key
string
Example
nv_ann_ce_01J...
error
null
meta
object

Error envelope. See error.code for the discriminator.

object
data
required
null
error
required
object
code
required
string
message
required
string
remediation
required
string
doc_url
string format: uri
param
string
request_id
string
meta
object
key
additional properties

Error envelope. See error.code for the discriminator.

object
data
required
null
error
required
object
code
required
string
message
required
string
remediation
required
string
doc_url
string format: uri
param
string
request_id
string
meta
object
key
additional properties

Error envelope. See error.code for the discriminator.

object
data
required
null
error
required
object
code
required
string
message
required
string
remediation
required
string
doc_url
string format: uri
param
string
request_id
string
meta
object
key
additional properties

Error envelope. See error.code for the discriminator.

object
data
required
null
error
required
object
code
required
string
message
required
string
remediation
required
string
doc_url
string format: uri
param
string
request_id
string
meta
object
key
additional properties