Skip to content

Entitlements API

Endpoints for checking feature access, retrieving the entitlement manifest, and managing trials.

Get Entitlement Manifest

Returns the full list of features available for the authenticated user's subscription tier.

http
GET /v1/entitlements/manifest
Authorization: Bearer <jwt>

Response: 200 OK

json
{
  "data": {
    "tier": "pro",
    "features": [
      "encrypted_sync",
      "skills_hub_publish",
      "skills_hub_private",
      "cloud_model_brokering",
      "priority_support",
      "premium_themes",
      "premium_addons"
    ],
    "quotas": {
      "sync_storage_bytes": 104857600,
      "skills_publish_limit": 50,
      "rate_limit_per_minute": 300
    }
  }
}

TIP

Clients should cache the entitlement manifest with a 5-minute TTL to reduce API calls while staying responsive to tier changes.

Feature Map by Tier

FeatureCoreProStudio
core_tools
swarm_mode
skills_local
mcp_support
plugins
checkpoints
memory
byom
encrypted_sync
skills_hub_publish
skills_hub_private
cloud_model_brokering
priority_support
premium_themes
premium_addons
team_profiles
shared_memory
sso
audit_log
private_mcp_servers
rbac
priority_cloud_brokering
dedicated_support
skills_hub_org

Check Feature Access

Check if the authenticated user has access to a specific feature.

http
GET /v1/entitlements/check/:feature
Authorization: Bearer <jwt>

Response: 200 OK

json
{
  "data": {
    "feature": "encrypted_sync",
    "allowed": true,
    "required_tier": "pro"
  }
}

When allowed is false, the required_tier field indicates the minimum tier needed. Clients should display an upgrade prompt directing to nexus-suite.dev/pricing.

Get Trial Status

http
GET /v1/entitlements/trial
Authorization: Bearer <jwt>

Response: 200 OK

json
{
  "data": {
    "eligible": true,
    "active": false,
    "trial_start": null,
    "trial_end": null,
    "days_remaining": null
  }
}

When a trial is active:

json
{
  "data": {
    "eligible": false,
    "active": true,
    "trial_start": "2024-01-15T00:00:00Z",
    "trial_end": "2024-01-29T00:00:00Z",
    "days_remaining": 10
  }
}

Start Trial

Start a 14-day Pro trial. Each account is eligible for one trial. No payment information required.

http
POST /v1/entitlements/trial/start
Authorization: Bearer <jwt>

Response: 200 OK

json
{
  "data": {
    "tier": "pro",
    "trial_start": "2024-01-15T00:00:00Z",
    "trial_end": "2024-01-29T00:00:00Z"
  }
}

Errors:

CodeCondition
FORBIDDENUser has already used their trial (trial_eligible = false)

INFO

During the trial, the user has full access to all Pro tier features. When the trial expires without a subscription, entitlements revert to the Core tier automatically.

Released under the MIT License.