Skip to content

Marketplace module

Reference to the cloud.marketplace.py module.

marketplace

Marketplace module for interacting with Nextmv Marketplace.

This module provides functionality to interact with the Nextmv Marketplace, including marketplace application management, versioning, and subscription management.

CLASS DESCRIPTION
MarketplaceState

Enumeration of marketplace application states.

MarketplaceVersion

A marketplace application version in Nextmv Cloud.

MarketplaceApplication

A marketplace application in Nextmv Cloud.

MarketplaceSubscription

A marketplace subscription in Nextmv Cloud.

FUNCTION DESCRIPTION
list_marketplace_applications

List all marketplace applications.

list_marketplace_subscriptions

List all marketplace subscriptions.

MarketplaceState

Bases: str, Enum

Enumeration of marketplace application states.

You can import the MarketplaceState class directly from cloud:

from nextmv.cloud import MarketplaceState
ATTRIBUTE DESCRIPTION
RELEASED

The application is released and available in the marketplace.

TYPE: str

PRE_RELEASE

The application is in pre-release state.

TYPE: str

RETRACTED

The application has been retracted from the marketplace.

TYPE: str

RELEASED class-attribute instance-attribute

RELEASED = 'released'

The application is released and available in the marketplace.

PRE_RELEASE class-attribute instance-attribute

PRE_RELEASE = 'pre-release'

The application is in pre-release state.

RETRACTED class-attribute instance-attribute

RETRACTED = 'retracted'

The application has been retracted from the marketplace.

MarketplaceVersion

Bases: BaseModel

A marketplace application version in Nextmv Cloud.

You can import the MarketplaceVersion class directly from cloud:

from nextmv.cloud import MarketplaceVersion
ATTRIBUTE DESCRIPTION
version_id

The unique identifier of the marketplace application version.

TYPE: str

change_log

The changelog for the marketplace application version.

TYPE: list[str]

app_id

The unique identifier of the marketplace application.

TYPE: str

partner_id

The unique identifier of the partner that created the marketplace application.

TYPE: str

created_at

The date and time when the marketplace application version was created.

TYPE: datetime | None

updated_at

The date and time when the marketplace application version was last updated.

TYPE: datetime | None

version_id class-attribute instance-attribute

version_id: str = Field(
    serialization_alias="id",
    validation_alias=AliasChoices("id", "version_id"),
)

The unique identifier of the marketplace application version.

change_log instance-attribute

change_log: list[str]

The changelog for the marketplace application version.

app_id instance-attribute

app_id: str

The unique identifier of the marketplace application.

partner_id instance-attribute

partner_id: str

The unique identifier of the partner that created the marketplace application.

created_at class-attribute instance-attribute

created_at: datetime | None = None

The date and time when the marketplace application version was created.

updated_at class-attribute instance-attribute

updated_at: datetime | None = None

The date and time when the marketplace application version was last updated.

MarketplaceApplication

Bases: BaseModel

A marketplace application in Nextmv Cloud.

You can import the MarketplaceApplication class directly from cloud:

from nextmv.cloud import MarketplaceApplication
ATTRIBUTE DESCRIPTION
app_id

The unique identifier of the marketplace application.

TYPE: str

reference_app_id

The unique identifier of the reference application.

TYPE: str

partner_id

The unique identifier of the partner that created the marketplace application.

TYPE: str

title

The title of the marketplace application.

TYPE: str

state

The state of the marketplace application.

TYPE: MarketplaceState

description

The description of the marketplace application.

TYPE: str | None

categories

The categories of the marketplace application.

TYPE: list[str] | None

features

The features of the marketplace application.

TYPE: list[str] | None

created_at

The date and time when the marketplace application was created.

TYPE: datetime | None

updated_at

The date and time when the marketplace application was last updated.

TYPE: datetime | None

latest_versions

The latest versions of the marketplace application.

TYPE: list[str] | None

client

Client to use for interacting with the Nextmv Cloud API. This is an SDK-specific attribute and it is not part of the API representation of a marketplace application.

TYPE: Client

endpoint

Base endpoint for the application. This is an SDK-specific attribute and it is not part of the API representation of a marketplace application.

TYPE: str

app_id class-attribute instance-attribute

app_id: str = Field(
    serialization_alias="id",
    validation_alias=AliasChoices("id", "app_id"),
)

The unique identifier of the marketplace application.

partner_id instance-attribute

partner_id: str

The unique identifier of the partner that created the marketplace application.

title instance-attribute

title: str

The title of the marketplace application.

state instance-attribute

The state of the marketplace application.

reference_app_id class-attribute instance-attribute

reference_app_id: str | None = Field(
    serialization_alias="ref_app_id",
    validation_alias=AliasChoices(
        "ref_app_id", "reference_app_id"
    ),
    default=None,
)

The unique identifier of the reference application.

description class-attribute instance-attribute

description: str | None = None

The description of the marketplace application.

categories class-attribute instance-attribute

categories: list[str] | None = None

The categories of the marketplace application.

features class-attribute instance-attribute

features: list[str] | None = None

The features of the marketplace application.

created_at class-attribute instance-attribute

created_at: datetime | None = None

The date and time when the marketplace application was created.

updated_at class-attribute instance-attribute

updated_at: datetime | None = None

The date and time when the marketplace application was last updated.

latest_versions class-attribute instance-attribute

latest_versions: list[str] | None = None

The latest versions of the marketplace application.

client class-attribute instance-attribute

client: Client = Field(exclude=True)

Client to use for interacting with the Nextmv Cloud API. This is an SDK-specific attribute and it is not part of the API representation of a marketplace application.

endpoint class-attribute instance-attribute

endpoint: str = Field(
    exclude=True,
    default="v1/marketplace/partners/{partner_id}/apps/{app_id}",
)

Base endpoint for the application. This is an SDK-specific attribute and it is not part of the API representation of a marketplace application.

model_post_init

model_post_init(__context) -> None

Initialize the endpoint attributes.

This method is called after the model is initialized.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def model_post_init(self, __context) -> None:
    """
    Initialize the endpoint attributes.

    This method is called after the model is initialized.
    """
    self.endpoint = self.endpoint.format(partner_id=self.partner_id, app_id=self.app_id)

get classmethod

Get a marketplace application by its ID.

PARAMETER DESCRIPTION
client

Client to use for interacting with the Nextmv Cloud API.

TYPE: Client

partner_id

The unique identifier of the partner that created the marketplace application.

TYPE: str

app_id

The unique identifier of the marketplace application.

TYPE: str

RETURNS DESCRIPTION
MarketplaceApplication

The marketplace application with the specified ID.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
@classmethod
def get(
    cls,
    client: Client,
    partner_id: str,
    app_id: str,
) -> "MarketplaceApplication":
    """
    Get a marketplace application by its ID.

    Parameters
    ----------
    client : Client
        Client to use for interacting with the Nextmv Cloud API.
    partner_id : str
        The unique identifier of the partner that created the marketplace
        application.
    app_id : str
        The unique identifier of the marketplace application.

    Returns
    -------
    MarketplaceApplication
        The marketplace application with the specified ID.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    response = client.request(
        method="GET",
        endpoint=f"v1/marketplace/partners/{partner_id}/apps/{app_id}",
    )

    return cls.from_dict({"client": client} | response.json())

new classmethod

new(
    client: Client,
    partner_id: str,
    reference_app_id: str,
    title: str,
    app_id: str | None = None,
    description: str | None = None,
    categories: list[str] | None = None,
    features: list[str] | None = None,
) -> MarketplaceApplication

Create a new marketplace application.

PARAMETER DESCRIPTION
client

Client to use for interacting with the Nextmv Cloud API.

TYPE: Client

partner_id

The unique identifier of the partner that is creating the marketplace application.

TYPE: str

reference_app_id

The unique identifier of the reference application.

TYPE: str

title

The title of the marketplace application.

TYPE: str

app_id

The unique identifier of the marketplace application. If not provided, a safe ID will be generated. (default is None)

TYPE: str | None DEFAULT: None

description

The description of the marketplace application. (default is None)

TYPE: str | None DEFAULT: None

categories

The categories of the marketplace application. (default is None)

TYPE: list[str] | None DEFAULT: None

features

The features of the marketplace application. (default is None)

TYPE: list[str] | None DEFAULT: None

RETURNS DESCRIPTION
MarketplaceApplication

The newly created marketplace application.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
@classmethod
def new(
    cls,
    client: Client,
    partner_id: str,
    reference_app_id: str,
    title: str,
    app_id: str | None = None,
    description: str | None = None,
    categories: list[str] | None = None,
    features: list[str] | None = None,
) -> "MarketplaceApplication":
    """
    Create a new marketplace application.

    Parameters
    ----------
    client : Client
        Client to use for interacting with the Nextmv Cloud API.
    partner_id : str
        The unique identifier of the partner that is creating the marketplace
        application.
    reference_app_id : str
        The unique identifier of the reference application.
    title : str
        The title of the marketplace application.
    app_id : str | None, optional
        The unique identifier of the marketplace application. If not provided,
        a safe ID will be generated. (default is None)
    description : str | None, optional
        The description of the marketplace application. (default is None)
    categories : list[str] | None, optional
        The categories of the marketplace application. (default is None)
    features : list[str] | None, optional
        The features of the marketplace application. (default is None)

    Returns
    -------
    MarketplaceApplication
        The newly created marketplace application.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    if not app_id:
        app_id = safe_id("marketplace-app")

    payload = {
        "id": app_id,
        "ref_app_id": reference_app_id,
        "title": title,
    }

    if description is not None and description != "":
        payload["description"] = description
    if categories is not None and categories != []:
        payload["categories"] = categories
    if features is not None and features != []:
        payload["features"] = features

    response = client.request(
        method="POST",
        endpoint=f"v1/marketplace/partners/{partner_id}/apps",
        payload=payload,
    )

    return cls.from_dict({"client": client} | response.json())

list_versions

list_versions() -> list[MarketplaceVersion]

List all versions of the marketplace application.

RETURNS DESCRIPTION
list[MarketplaceVersion]

A list of all versions of the marketplace application.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def list_versions(self) -> list[MarketplaceVersion]:
    """
    List all versions of the marketplace application.

    Returns
    -------
    list[MarketplaceVersion]
        A list of all versions of the marketplace application.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    response = self.client.request(
        method="GET",
        endpoint=f"{self.endpoint}/versions",
    )

    versions = []
    for version_data in response.json() or []:
        version = MarketplaceVersion.from_dict(version_data)
        versions.append(version)

    return versions

new_version

Create a new version of the marketplace application.

PARAMETER DESCRIPTION
change_log

The changelog for the new version of the marketplace application.

TYPE: list[str]

reference_version_id

The unique identifier of the reference version.

TYPE: str

version_id

The unique identifier of the new version. If not provided, a safe ID will be generated. (default is None)

TYPE: str | None DEFAULT: None

RETURNS DESCRIPTION
MarketplaceVersion

The newly created marketplace application version.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def new_version(
    self,
    change_log: list[str],
    reference_version_id: str,
    version_id: str | None = None,
) -> MarketplaceVersion:
    """
    Create a new version of the marketplace application.

    Parameters
    ----------
    change_log : list[str]
        The changelog for the new version of the marketplace application.
    reference_version_id : str
        The unique identifier of the reference version.
    version_id : str | None, optional
        The unique identifier of the new version. If not provided, a safe ID
        will be generated. (default is None)

    Returns
    -------
    MarketplaceVersion
        The newly created marketplace application version.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    if version_id is None or version_id == "":
        version_id = safe_id("marketplace-version")

    payload = {
        "id": version_id,
        "change_log": change_log,
        "ref_app_version_id": reference_version_id,
    }

    response = self.client.request(
        method="POST",
        endpoint=f"{self.endpoint}/versions",
        payload=payload,
    )

    return MarketplaceVersion.from_dict(response.json())

update

update(
    title: str | None = None,
    description: str | None = None,
    categories: list[str] | None = None,
    features: list[str] | None = None,
    state: MarketplaceState | None = None,
) -> MarketplaceApplication

Update the marketplace application.

PARAMETER DESCRIPTION
title

The new title of the marketplace application. (default is None)

TYPE: str | None DEFAULT: None

description

The new description of the marketplace application. (default is None)

TYPE: str | None DEFAULT: None

categories

The new categories of the marketplace application. (default is None)

TYPE: list[str] | None DEFAULT: None

features

The new features of the marketplace application. (default is None)

TYPE: list[str] | None DEFAULT: None

state

The new state of the marketplace application. (default is None)

TYPE: MarketplaceState | None DEFAULT: None

RETURNS DESCRIPTION
MarketplaceApplication

The updated marketplace application.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def update(
    self,
    title: str | None = None,
    description: str | None = None,
    categories: list[str] | None = None,
    features: list[str] | None = None,
    state: MarketplaceState | None = None,
) -> "MarketplaceApplication":
    """
    Update the marketplace application.

    Parameters
    ----------
    title : str | None, optional
        The new title of the marketplace application. (default is None)
    description : str | None, optional
        The new description of the marketplace application. (default is None)
    categories : list[str] | None, optional
        The new categories of the marketplace application. (default is None)
    features : list[str] | None, optional
        The new features of the marketplace application. (default is None)
    state : MarketplaceState | None, optional
        The new state of the marketplace application. (default is None)
    Returns
    -------
    MarketplaceApplication
        The updated marketplace application.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    app = self.get(client=self.client, partner_id=self.partner_id, app_id=self.app_id)
    app_dict = app.to_dict()
    payload = app_dict.copy()

    if title is not None and title != "":
        payload["title"] = title
    if description is not None and description != "":
        payload["description"] = description
    if categories is not None and categories != []:
        payload["categories"] = categories
    if features is not None and features != []:
        payload["features"] = features
    if state is not None:
        payload["state"] = state

    response = self.client.request(
        method="PUT",
        endpoint=self.endpoint,
        payload=payload,
    )

    return MarketplaceApplication.from_dict({"client": self.client} | response.json())

update_version

Update a version of the marketplace application.

PARAMETER DESCRIPTION
version_id

The unique identifier of the marketplace application version to update.

TYPE: str

change_log

The new changelog for the marketplace application version.

TYPE: list[str]

RETURNS DESCRIPTION
MarketplaceVersion

The updated marketplace application version.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def update_version(
    self,
    version_id: str,
    change_log: list[str],
) -> MarketplaceVersion:
    """
    Update a version of the marketplace application.

    Parameters
    ----------
    version_id : str
        The unique identifier of the marketplace application version to update.
    change_log : list[str]
        The new changelog for the marketplace application version.

    Returns
    -------
    MarketplaceVersion
        The updated marketplace application version.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    payload = {
        "change_log": change_log,
    }

    response = self.client.request(
        method="PUT",
        endpoint=f"{self.endpoint}/versions/{version_id}",
        payload=payload,
    )

    return MarketplaceVersion.from_dict(response.json())

version

Get a version of the marketplace application.

PARAMETER DESCRIPTION
version_id

The unique identifier of the marketplace application version to retrieve.

TYPE: str

RETURNS DESCRIPTION
MarketplaceVersion

The marketplace application version with the specified ID.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def version(self, version_id: str) -> MarketplaceVersion:
    """
    Get a version of the marketplace application.

    Parameters
    ----------
    version_id : str
        The unique identifier of the marketplace application version to retrieve.

    Returns
    -------
    MarketplaceVersion
        The marketplace application version with the specified ID.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    response = self.client.request(
        method="GET",
        endpoint=f"{self.endpoint}/versions/{version_id}",
    )

    return MarketplaceVersion.from_dict(response.json())

list_marketplace_applications

list_marketplace_applications(
    client: Client, partner_id: str | None = None
) -> list[MarketplaceApplication]

List all marketplace applications.

You can import the list_marketplace_applications function directly from cloud:

from nextmv.cloud import list_marketplace_applications
PARAMETER DESCRIPTION

client

Client to use for interacting with the Nextmv Cloud API.

TYPE: Client

partner_id

The unique identifier of the partner to filter marketplace applications by. If not provided, all marketplace applications will be listed. (default is None)

TYPE: str | None DEFAULT: None

RETURNS DESCRIPTION
list[MarketplaceApplication]

A list of all marketplace applications.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def list_marketplace_applications(client: Client, partner_id: str | None = None) -> list[MarketplaceApplication]:
    """
    List all marketplace applications.

    You can import the `list_marketplace_applications` function directly from `cloud`:

    ```python
    from nextmv.cloud import list_marketplace_applications
    ```

    Parameters
    ----------
    client : Client
        Client to use for interacting with the Nextmv Cloud API.
    partner_id : str | None, optional
        The unique identifier of the partner to filter marketplace applications
        by. If not provided, all marketplace applications will be listed.
        (default is None)

    Returns
    -------
    list[MarketplaceApplication]
        A list of all marketplace applications.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    endpoint = "v1/marketplace/apps"
    if partner_id is not None and partner_id != "":
        endpoint = f"v1/marketplace/partners/{partner_id}/apps"

    response = client.request(
        method="GET",
        endpoint=endpoint,
    )

    apps = []
    for app_data in response.json() or []:
        app = MarketplaceApplication.from_dict({"client": client} | app_data)
        apps.append(app)

    return apps

MarketplaceSubscription

Bases: BaseModel

A marketplace subscription in Nextmv Cloud.

You can import the MarketplaceSubscription class directly from cloud:

from nextmv.cloud import MarketplaceSubscription
ATTRIBUTE DESCRIPTION
subscription_id

The unique identifier of the marketplace subscription.

TYPE: str

partner_name

The name of the partner that created the marketplace application.

TYPE: str

app_title

The title of the marketplace application.

TYPE: str

subscription_date

The date and time when the marketplace subscription was created.

TYPE: str | None

client

Client to use for interacting with the Nextmv Cloud API. This is an SDK-specific attribute and it is not part of the API representation of a marketplace subscription.

TYPE: Client

endpoint

Base endpoint for the subscription. This is an SDK-specific attribute and it is not part of the API representation of a marketplace subscription.

TYPE: str

subscription_id instance-attribute

subscription_id: str

The unique identifier of the marketplace subscription.

partner_name instance-attribute

partner_name: str

The name of the partner that created the marketplace application.

app_title instance-attribute

app_title: str

The title of the marketplace application.

subscription_date class-attribute instance-attribute

subscription_date: str | None = None

The date and time when the marketplace subscription was created.

client class-attribute instance-attribute

client: Client = Field(exclude=True)

Client to use for interacting with the Nextmv Cloud API. This is an SDK-specific attribute and it is not part of the API representation of a marketplace subscription.

endpoint class-attribute instance-attribute

endpoint: str = Field(
    exclude=True,
    default="v1/marketplace/subscriptions/{subscription_id}",
)

Base endpoint for the subscription. This is an SDK-specific attribute and it is not part of the API representation of a marketplace subscription.

model_post_init

model_post_init(__context) -> None

Initialize the endpoint attributes.

This method is called after the model is initialized.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def model_post_init(self, __context) -> None:
    """
    Initialize the endpoint attributes.

    This method is called after the model is initialized.
    """
    self.endpoint = self.endpoint.format(subscription_id=self.subscription_id)

get classmethod

Get a marketplace subscription by its ID.

PARAMETER DESCRIPTION
client

Client to use for interacting with the Nextmv Cloud API.

TYPE: Client

subscription_id

The unique identifier of the marketplace subscription.

TYPE: str

RETURNS DESCRIPTION
MarketplaceSubscription

The marketplace subscription with the specified ID.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
@classmethod
def get(
    cls,
    client: Client,
    subscription_id: str,
) -> "MarketplaceSubscription":
    """
    Get a marketplace subscription by its ID.

    Parameters
    ----------
    client : Client
        Client to use for interacting with the Nextmv Cloud API.
    subscription_id : str
        The unique identifier of the marketplace subscription.

    Returns
    -------
    MarketplaceSubscription
        The marketplace subscription with the specified ID.
    """
    response = client.request(
        method="GET",
        endpoint=f"v1/marketplace/subscriptions/{subscription_id}",
    )

    return cls.from_dict({"client": client} | response.json())

new classmethod

Create a new marketplace subscription.

PARAMETER DESCRIPTION
client

Client to use for interacting with the Nextmv Cloud API.

TYPE: Client

subscription_id

The unique identifier of the marketplace subscription.

TYPE: str

RETURNS DESCRIPTION
MarketplaceSubscription

The newly created marketplace subscription.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
@classmethod
def new(cls, client: Client, subscription_id: str) -> "MarketplaceSubscription":
    """
    Create a new marketplace subscription.

    Parameters
    ----------
    client : Client
        Client to use for interacting with the Nextmv Cloud API.
    subscription_id : str
        The unique identifier of the marketplace subscription.

    Returns
    -------
    MarketplaceSubscription
        The newly created marketplace subscription.
    """

    payload = {
        "subscription_id": subscription_id,
    }

    response = client.request(
        method="POST",
        endpoint="v1/marketplace/subscriptions",
        payload=payload,
    )

    return cls.from_dict({"client": client} | response.json())

delete

delete() -> None

Delete the marketplace subscription.

RAISES DESCRIPTION
HTTPError

If the response status code is not 2xx.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def delete(self) -> None:
    """
    Delete the marketplace subscription.

    Raises
    ------
    requests.HTTPError
        If the response status code is not 2xx.
    """

    self.client.request(
        method="DELETE",
        endpoint=self.endpoint,
    )

list_marketplace_subscriptions

list_marketplace_subscriptions(
    client: Client,
) -> list[MarketplaceSubscription]

List all marketplace subscriptions.

You can import the list_marketplace_subscriptions function directly from cloud:

from nextmv.cloud import list_marketplace_subscriptions
PARAMETER DESCRIPTION

client

Client to use for interacting with the Nextmv Cloud API.

TYPE: Client

RETURNS DESCRIPTION
list[MarketplaceSubscription]

A list of all marketplace subscriptions.

Source code in nextmv-py/nextmv/nextmv/cloud/marketplace.py
def list_marketplace_subscriptions(client: Client) -> list[MarketplaceSubscription]:
    """
    List all marketplace subscriptions.

    You can import the `list_marketplace_subscriptions` function directly from `cloud`:

    ```python
    from nextmv.cloud import list_marketplace_subscriptions
    ```

    Parameters
    ----------
    client : Client
        Client to use for interacting with the Nextmv Cloud API.

    Returns
    -------
    list[MarketplaceSubscription]
        A list of all marketplace subscriptions.
    """

    response = client.request(
        method="GET",
        endpoint="v1/marketplace/subscriptions",
    )

    subscriptions = []
    for subscription_data in response.json() or []:
        subscription = MarketplaceSubscription.from_dict({"client": client} | subscription_data)
        subscriptions.append(subscription)

    return subscriptions