Skip to content
Back to skills

194 Active 29af22a7

ASecurity

``` create → active → [pause] → [resume] → [upgrade] → cancel ```

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
content-marketingjavascriptjava

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 194-active_29af22a7 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 194 Active 29af22a7?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 194 Active 29af22a7
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-194-active-29af22a7/badge)](https://www.skillsdirectory.com/skills/tools-only-194-active-29af22a7)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Creem.io Subscriptions

## Subscription Lifecycle

```
create → active → [pause] → [resume] → [upgrade] → cancel
```

## Create Subscription

Via checkout session with recurring product:

```javascript
const session = await creem.checkout.sessions.create({
  product_id: 'prod_recurring_xxx',
  success_url: 'https://example.com/success',
  customer_email: 'user@example.com'
});
```

## Retrieve Subscription

```javascript
// GET /v1/subscriptions/:id
const subscription = await creem.subscriptions.retrieve('sub_xxx');
// Returns: { id, status, product_id, current_period_end, ... }
```

## Modify Subscription

### Update Seats/Units

```javascript
// PATCH /v1/subscriptions/:id
const updated = await creem.subscriptions.update('sub_xxx', {
  quantity: 10,           // Seat count
  prorate: true,          // Prorate charges
  billing_immediately: false
});
```

### Upgrade/Downgrade

```javascript
const updated = await creem.subscriptions.update('sub_xxx', {
  product_id: 'prod_higher_tier',
  prorate: true
});
```

## Pause Subscription

```javascript
// POST /v1/subscriptions/:id/pause
const paused = await creem.subscriptions.pause('sub_xxx', {
  resume_at: '2024-02-01T00:00:00Z'  // Optional auto-resume date
});
```

## Resume Subscription

```javascript
// POST /v1/subscriptions/:id/resume
const resumed = await creem.subscriptions.resume('sub_xxx');
```

## Cancel Subscription

```javascript
// POST /v1/subscriptions/:id/cancel
const cancelled = await creem.subscriptions.cancel('sub_xxx', {
  at_period_end: true    // false = immediate cancellation
});
```

## Free Trials

Configure on product level:

```javascript
const product = await creem.products.create({
  name: 'Pro Plan',
  price: 2900,
  currency: 'usd',
  recurring: { interval: 'month' },
  trial_period_days: 14
});
```

## Seat-Based Billing

```javascript
const product = await creem.products.create({
  name: 'Team Plan',
  price: 1000,           // Per seat price
  currency: 'usd',
  recurring: { interval: 'month' },
  billing_scheme: 'per_unit'
});

// Checkout with quantity
const session = await creem.checkout.sessions.create({
  product_id: 'prod_xxx',
  quantity: 5,           // 5 seats
  success_url: '...'
});
```

## Product Bundles

Group related tiers for upsells:

```javascript
const bundle = await creem.bundles.create({
  name: 'Growth Plans',
  products: ['prod_starter', 'prod_pro', 'prod_enterprise']
});
```

## Subscription Events (Webhooks)

- `subscription.created` - New subscription started
- `subscription.updated` - Quantity, product, or status changed
- `subscription.paused` - Subscription paused
- `subscription.resumed` - Subscription resumed
- `subscription.cancelled` - Cancellation scheduled or completed
- `subscription.renewed` - Successful renewal charge

See `references/creem/webhooks.md` for webhook handling.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.