Subscription states and SEN

Subscription states and SEN

Webhooks Pro normalises every Atlassian Marketplace licence into one of five states. Every banner, every gate, every Skipped log row uses the same vocabulary — so the same word means the same thing everywhere in the app.

This page is the reference. For the user-journey context — trials end directly in blocked; paid subscriptions that lapse get a grace cushion first — see How the Webhooks Pro trial works and Grace period and paywall behavior.


The five states

State

Meaning

Admin UI can change config?

Webhooks deliver?

State

Meaning

Admin UI can change config?

Webhooks deliver?

ACTIVE

Paid subscription in good standing.

✅ Yes

✅ Yes

EVALUATION

Marketplace free trial in progress.

✅ Yes

✅ Yes

GRACE

Paid subscription just lapsed — within the grace window (3 days monthly, 14 days annual).

❌ No

✅ Yes

EXPIRED

Lapsed and the grace window is over. Trial endings and never-licensed installs land here directly with no grace.

❌ No

❌ No

NONE

No licence has ever been issued for this site (typical for dev / staging).

❌ No

❌ No

Three non-obvious choices to call out:

  • EVALUATION is treated identically to ACTIVE for every gate. The whole point of a trial is no artificial limits.

  • GRACE is a paid-subscription-only state. A trial ending or a never-licensed install doesn't get a grace cushion — the trial itself was the free window, and an unlicensed site has nothing to grace against. Both go straight to delivery-blocked.

  • GRACE length scales with billing period: 3 days on monthly, 14 days on annual. The asymmetry is deliberate — see Grace period and paywall behavior.


State transitions

Grace.jpg

Two distinctions to notice on the diagram:

  • From EVALUATION to EXPIRED is a direct jump — no GRACE stop. A trial that ends without conversion blocks delivery immediately.

  • From ACTIVE to EXPIRED goes through GRACE — a paid subscription that lapses gets the cushion (3 / 14 days depending on billing).

NONE is a separate branch — it's the state on a fresh install where Atlassian hasn't issued a licence at all (typically dev environments without Marketplace context). Renew / Buy / Start trial all move you out of NONE.


How state shows in the UI

The banner

A coloured strip above the navigation tabs of every Webhooks Pro page. Variants:

Variant

Colour

When

Action button

Variant

Colour

When

Action button

Free trial

Blue (amber when ≤ 7 days left)

EVALUATION

Buy now

Subscription ending soon

Amber

ACTIVE and ≤ 7 days to expiry

Renew

Grace period

Amber

GRACE

Renew subscription

Expired

Red

EXPIRED

Renew subscription

Not licensed

Amber

NONE

Start free trial

DEV override

Amber

A non-production override is set (developer environments only)

none

When the state is a clean ACTIVE with more than a week until expiry, the banner renders nothing — no visual weight in the happy path.

The buttons all open the Atlassian Marketplace listing in a new tab so you don't lose your place.

Settings → About → Subscription card

Live status detail straight from Atlassian. Rows:

Row

What it tells you

Row

What it tells you

Status

One of the five lozenges from above. A second DEV override lozenge appears alongside if a developer override is in effect.

Days remaining / Grace days remaining

Countdown to the next state change. Hidden when not applicable.

Type

commercial is shown by Atlassian for both paid AND trial commercial-listing apps; do not read it as "is paid". The distinction lives in the Status row above.

Billing

Annual or Monthly. Affects the grace window (3 days monthly, 14 days annual).

Next renewal / Grace ends / Expired on / Expires

Per-status date label: Next renewal (ACTIVE), Grace ends (GRACE), Expired on (EXPIRED), Expires (EVALUATION). Computed from our grace window for GRACE/EXPIRED, not from Atlassian's possibly-stale dates.

SEN

Your Support Entitlement Number. See below.

Buttons on the card:

  • Refresh status — clears the in-app cache and re-fetches license state immediately. Useful right after upgrading on the Marketplace.

  • Buy now / Renew / Start trial — opens the Marketplace listing. Label adapts to the current state.

Atlassian caches licence status for up to 5 minutes on their side. If you just upgraded and the new state isn't showing, wait a couple of minutes and click Refresh status.

Webhook Logs — Skipped rows

When a delivery would have fired but was suppressed by the licence gate, the row in Webhook Logs shows a neutral Skipped — license EXPIRED (or GRACE / NONE) lozenge instead of the usual HTTP status colour.

These rows:

  • Are excluded from Total / Success / Failed stats.

  • Are excluded from the auto-disable failure counter — webhooks won't be silently auto-disabled because of a tenant-wide licence problem.

  • Carry a short explanation in the response area: "License gate: delivery suppressed because license status is EXPIRED."

Once you renew, normal delivery and normal log entries resume on the next event.


SEN — Support Entitlement Number

The SEN is your unique identifier for any support ticket about Webhooks Pro on this site.

Where to find it: Settings → About → Subscription → SEN row. Displayed in monospace so it copies cleanly.

Always include it when:

  • Raising a ticket with Atlassian about a billing or licensing issue.

  • Emailing support@ux-software.com about anything Webhooks Pro-specific — it lets us match your message to your installation.

The SEN is a shared identifier — it isn't a secret in the security sense, but treat it like an account number: don't post it in public forums.


What stays available when the licence is dead

Even in EXPIRED and NONE, the following continues to work, by design:

  • Reading every page — Webhooks list, Webhook Logs, Payload Templates, Settings, Queue.

  • Deleting webhooks and payload templates — clean up without renewing first.

  • Disabling an active webhook (toggling OFF is allowed; ON is gated).

  • Removing a workflow post-function binding.

  • Settings — change retention windows, language, log refresh interval.

  • Queue management — release / purge stuck rows.

  • Schema migration — runs on schedule and on the manual button so the database doesn't drift while you're not paying.

Outbound delivery itself depends on state per the table at the top of this page.


Related