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
@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
@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.
@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
@spec retrieve(Plug.Conn.t(), String.t()) :: Plug.Conn.t()
Retrieves a subscription item by ID.
@spec update(Plug.Conn.t(), String.t()) :: Plug.Conn.t()
Updates a subscription item.
Updatable Fields
- price
- quantity
- metadata