API Endpoint

PATCH /management/slugs/{name}

Update one or more slug policy fields by slug name.

PATCH /management/slugs/{name}

Endpoint context

Use these endpoints from internal tooling or your frontend backend to inspect licenses, manage slug policy templates, provisioning API keys, webhook endpoint configuration/logs, and offline JWT signing keys. Management routes require the management bootstrap key configured via MANAGEMENT_API_KEYS or MANAGEMENT_API_KEY.

  • Requires management API key auth.
  • At least one field must be provided.
  • attributes can be replaced with a new JSON object; set attributes to {} to clear values.
  • Changing a slug only affects newly generated licenses. Existing licenses keep snapshotted policy values.
bash
curl -sS -X PATCH http://localhost:8080/management/slugs/pro-monthly \
  -H "Authorization: Bearer management_key_dev_123456" \
  -H "Content-Type: application/json" \
  -d '{
    "max_activations": 5,
    "expiration_type": "fixed_date",
    "fixed_expires_at": "2027-01-01T00:00:00Z",
    "offline_enabled": true,
    "offline_token_lifetime_hours": 48,
    "attributes": {
      "plan": "enterprise",
      "features": ["analytics", "sso", "audit"]
    }
  }'

Request body

json
{
  "max_activations": 5,
  "expiration_type": "fixed_date",
  "fixed_expires_at": "2027-01-01T00:00:00Z",
  "offline_enabled": true,
  "offline_token_lifetime_hours": 48,
  "attributes": {
    "plan": "enterprise",
    "features": ["analytics", "sso", "audit"]
  }
}

Response body

json
{
  "id": 2,
  "name": "pro-monthly",
  "max_activations": 5,
  "expiration_type": "fixed_date",
  "expiration_days": null,
  "fixed_expires_at": "2027-01-01T00:00:00Z",
  "offline_enabled": true,
  "offline_token_lifetime_hours": 48,
  "attributes": {
    "plan": "enterprise",
    "features": ["analytics", "sso", "audit"]
  },
  "is_default": false,
  "created_at": "2026-04-21T12:00:00Z",
  "updated_at": "2026-04-21T12:30:00Z"
}

Response field types

updated_at

string

RFC3339 timestamp after update.

max_activations

number

Updated seat limit for future generations.

expiration_type

"forever" | "duration" | "fixed_date"

Updated expiration policy mode.

offline_enabled

boolean

Updated offline JWT policy for this slug.

offline_token_lifetime_hours

number

Updated offline JWT lifetime for this slug, in hours.

attributes

object

Updated slug attributes for future license snapshots and offline JWT attributes claims.

Error codes

400

Invalid path slug, invalid body, missing patch fields, invalid expiration policy values, or invalid attributes shape.

401

Missing or invalid management API key.

404

Slug not found.

409

Slug name already exists.

500

Unexpected server or storage error.

Back to API overview