Polarex.Subscriptions (Polarex v0.2.8)

View Source

Provides API endpoints related to subscriptions

Summary

Functions

customer_portal_subscriptions_cancel(id, opts \\ [])

@spec customer_portal_subscriptions_cancel(
  String.t(),
  keyword()
) ::
  {:ok, Polarex.CustomerSubscription.t()}
  | {:error,
     Polarex.AlreadyCanceledSubscription.t()
     | Polarex.HTTPValidationError.t()
     | Polarex.ResourceNotFound.t()}

Cancel Subscription

Cancel a subscription of the authenticated customer.

Scopes: customer_portal:write

customer_portal_subscriptions_get(id, opts \\ [])

@spec customer_portal_subscriptions_get(
  String.t(),
  keyword()
) ::
  {:ok, Polarex.CustomerSubscription.t()}
  | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}

Get Subscription

Get a subscription for the authenticated customer.

Scopes: customer_portal:read customer_portal:write

customer_portal_subscriptions_list(opts \\ [])

@spec customer_portal_subscriptions_list(keyword()) ::
  {:ok, Polarex.ListResourceCustomerSubscription.t()}
  | {:error, Polarex.HTTPValidationError.t()}

List Subscriptions

List subscriptions of the authenticated customer.

Scopes: customer_portal:read customer_portal:write

Options

  • product_id: Filter by product ID.
  • active: Filter by active or cancelled subscription.
  • query: Search by product or organization name.
  • page: Page number, defaults to 1.
  • limit: Size of a page, defaults to 10. Maximum is 100.
  • sorting: Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.

customer_portal_subscriptions_update(id, body, opts \\ [])

Update Subscription

Update a subscription of the authenticated customer.

Scopes: customer_portal:write

subscriptions_create(body, opts \\ [])

Create Subscription

Create a subscription programmatically.

This endpoint only allows to create subscription on free products. For paid products, use the checkout flow.

No initial order will be created and no confirmation email will be sent.

Scopes: subscriptions:write

subscriptions_export(opts \\ [])

@spec subscriptions_export(keyword()) ::
  {:ok, map()} | {:error, Polarex.HTTPValidationError.t()}

Export Subscriptions

Export subscriptions as a CSV file.

Scopes: subscriptions:read subscriptions:write

Options

  • organization_id: Filter by organization ID.

subscriptions_get(id, opts \\ [])

@spec subscriptions_get(
  String.t(),
  keyword()
) ::
  {:ok, Polarex.Subscription.t()}
  | {:error, Polarex.HTTPValidationError.t() | Polarex.ResourceNotFound.t()}

Get Subscription

Get a subscription by ID.

Scopes: subscriptions:read subscriptions:write

subscriptions_list(opts \\ [])

@spec subscriptions_list(keyword()) ::
  {:ok, Polarex.ListResourceSubscription.t()}
  | {:error, Polarex.HTTPValidationError.t()}

List Subscriptions

List subscriptions.

Scopes: subscriptions:read subscriptions:write

Options

  • organization_id: Filter by organization ID.
  • product_id: Filter by product ID.
  • customer_id: Filter by customer ID.
  • external_customer_id: Filter by customer external ID.
  • discount_id: Filter by discount ID.
  • active: Filter by active or inactive subscription.
  • page: Page number, defaults to 1.
  • limit: Size of a page, defaults to 10. Maximum is 100.
  • sorting: Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.
  • metadata: Filter by metadata key-value pairs. It uses the deepObject style, e.g. ?metadata[key]=value.

subscriptions_revoke(id, opts \\ [])

Revoke Subscription

Revoke a subscription, i.e cancel immediately.

Scopes: subscriptions:write

subscriptions_update(id, body, opts \\ [])

Update Subscription

Update a subscription.

Scopes: subscriptions:write