PaperTiger.Resources.SubscriptionItem (PaperTiger v1.0.2)

Copy Markdown View Source

Handles Subscription Item resource endpoints.

Endpoints

  • POST /v1/subscription_items - Create subscription item
  • GET /v1/subscription_items/:id - Retrieve subscription item
  • POST /v1/subscription_items/:id - Update subscription item
  • DELETE /v1/subscription_items/:id - Delete subscription item
  • GET /v1/subscription_items - List subscription items

Subscription Item Object

%{
  id: "si_...",
  object: "subscription_item",
  created: 1234567890,
  subscription: "sub_...",
  price: %{id: "price_...", object: "price", ...},
  quantity: 1,
  metadata: %{},
  # ... other fields
}

Summary

Functions

Creates a new subscription item.

Deletes a subscription item.

Lists all subscription items with pagination.

Retrieves a subscription item by ID.

Updates a subscription item.

Functions

create(conn)

@spec create(Plug.Conn.t()) :: Plug.Conn.t()

Creates a new subscription item.

Required Parameters

  • subscription - Subscription ID
  • price - Price ID

Optional Parameters

  • quantity - Item quantity (default: 1)
  • metadata - Key-value metadata

delete(conn, id)

@spec delete(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

Deletes a subscription item.

Removes the item from the subscription.

Returns a deletion confirmation object.

list(conn)

@spec list(Plug.Conn.t()) :: Plug.Conn.t()

Lists all subscription items with pagination.

Parameters

  • subscription - Filter by subscription (required)
  • limit - Number of items (default: 10, max: 100)
  • starting_after - Cursor for pagination
  • ending_before - Reverse cursor

retrieve(conn, id)

@spec retrieve(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

Retrieves a subscription item by ID.

update(conn, id)

@spec update(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

Updates a subscription item.

Updatable Fields

  • price
  • quantity
  • metadata