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? |
|---|---|---|---|
| Paid subscription in good standing. | ✅ Yes | ✅ Yes |
| Marketplace free trial in progress. | ✅ Yes | ✅ Yes |
| Paid subscription just lapsed — within the grace window (3 days monthly, 14 days annual). | ❌ No | ✅ Yes |
| Lapsed and the grace window is over. Trial endings and never-licensed installs land here directly with no grace. | ❌ No | ❌ No |
| No licence has ever been issued for this site (typical for dev / staging). | ❌ No | ❌ No |
Three non-obvious choices to call out:
EVALUATIONis treated identically toACTIVEfor every gate. The whole point of a trial is no artificial limits.GRACEis 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.GRACElength scales with billing period: 3 days on monthly, 14 days on annual. The asymmetry is deliberate — see Grace period and paywall behavior.
State transitions
Two distinctions to notice on the diagram:
From
EVALUATIONtoEXPIREDis a direct jump — noGRACEstop. A trial that ends without conversion blocks delivery immediately.From
ACTIVEtoEXPIREDgoes throughGRACE— 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 |
|---|---|---|---|
Free trial | Blue (amber when ≤ 7 days left) |
| Buy now |
Subscription ending soon | Amber |
| Renew |
Grace period | Amber |
| Renew subscription |
Expired | Red |
| Renew subscription |
Not licensed | Amber |
| 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 |
|---|---|
Status | One of the five lozenges from above. A second |
Days remaining / Grace days remaining | Countdown to the next state change. Hidden when not applicable. |
Type |
|
Billing |
|
Next renewal / Grace ends / Expired on / Expires | Per-status date label: |
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
How the Webhooks Pro trial works — the entry path:
EVALUATION.Grace period and paywall behavior — the cushion after a paid subscription lapses (3 days monthly, 14 days annual).
Talk to the Webhooks Pro team — for billing questions, trial extensions, SEN-related help.