# Managing CL Functions Subscriptions
Source: https://docs.chain.link/chainlink-functions/resources/subscriptions

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE**
>
> Chainlink Functions is a self-service solution. You are responsible for independently reviewing any code and API dependencies that you submit in a request. Community-created code examples might not be audited, so you must independently review this code before you use it.
>
> Chainlink Functions is offered "as is" and "as available" without conditions or warranties of any kind. Neither Chainlink Labs, the Chainlink Foundation, nor Chainlink node operators are responsible for unintended outputs from Functions due to issues in your code or downstream issues with API dependencies. You must ensure that the data sources or APIs specified in requests are of sufficient quality and have the proper availability for your use case. Users are responsible for complying with the licensing agreements for all data providers that they connect with through Chainlink Functions. Violations of data provider licensing agreements or the [terms](https://chain.link/terms) can result in suspension or termination of your Chainlink Functions account or subscription.The Chainlink Functions Subscription Manager is available [here](https://functions.chain.link/). The Functions Subscription Manager lets you create a subscription, add consumers to it, remove consumers from it, fund it with LINK, and delete it.When you connect to the Subscription Manager, choose the correct network, then click *connect wallet*.## SubscriptionsYou use a Chainlink Functions subscription to pay for, manage, and track Functions requests.### Create a subscription1) Open [functions.chain.link](https://functions.chain.link/) and click *Create Subscription*:

   ![Chainlink Functions subscription landing page](/images/chainlink-functions/tutorials/subscription/frontend-landing-wallet-connected.jpg)

2) Provide an email address and an optional subscription name:

   ![Chainlink Functions create subscription](/images/chainlink-functions/tutorials/subscription/create-subscription.jpg)

3) The first time that you interact with the Subscription Manager using your EOA, you have to approve the Terms of Service (ToS):

   ![Chainlink Functions accept ToS](/images/chainlink-functions/tutorials/subscription/acceptTos.jpg)

4) When you approve the ToS, a MetaMask popup appears that asks you to approve the subscription creation:

   ![Chainlink Functions approve subscriptions creation](/images/chainlink-functions/tutorials/subscription/approve-create-subscription.jpg)

5) After the subscription is created, you are asked to sign a message in MetaMask to link the subscription name and email address to your subscription:![Chainlink Functions sign message ToS](/images/chainlink-functions/tutorials/subscription/sign-message-tos.jpg)![Chainlink Functions sign message ToS MetaMask](/images/chainlink-functions/tutorials/subscription/sign-message-tos-metamask.jpg)1) After the subscription is created, fund it with LINK:

   ![Chainlink Functions subscription add funds](/images/chainlink-functions/tutorials/subscription/subscription-created-add-funds.jpg)

2) After funding, you can add a consumer to it:

   ![Chainlink Functions subscription add consumer](/images/chainlink-functions/tutorials/subscription/subscription-created-add-consumer.jpg)

   ![Chainlink Functions subscription add consumer](/images/chainlink-functions/tutorials/subscription/subscription-created-add-consumer-2.jpg)

3) After creation, you can fetch the details of your subscription:

   ![Chainlink Functions subscription details](/images/chainlink-functions/tutorials/subscription/subscription-details-after-creation.jpg)### Fund a subscription1) Open your subscription details and click *Actions* then click *Fund subscription*:

   ![Chainlink Functions click fund](/images/chainlink-functions/tutorials/subscription/your-subscription-click-fund.jpg)

2) Fund your subscription. For instance, *0.1 LINK*:

   ![Chainlink Functions add fund to your subscription](/images/chainlink-functions/tutorials/subscription/your-subscription-add-fund.jpg)

3) A MetaMask popup appears, and you are asked to confirm the transaction. After you confirm the transaction, a confirmation screen appears:

   ![Chainlink Functions subscription funded](/images/chainlink-functions/tutorials/subscription/your-subscription-funded.jpg)### Add a consumer contract to a subscription1) Open your subscription details and click *Add Consumer*:

   ![Chainlink Functions add consumer](/images/chainlink-functions/tutorials/subscription/your-subscription-add-consumer.jpg)

2) Fill in the consumer address:

   ![Chainlink Functions provider consumer address](/images/chainlink-functions/tutorials/subscription/your-subscription-fill-consumer.jpg)

3) A MetaMask popup appears, and you are asked to confirm the transaction. After you confirm the transaction, a confirmation screen appears:

   ![Chainlink Functions consumer added](/images/chainlink-functions/tutorials/subscription/your-subscription-consumer-added.jpg)### Remove a consumer contract from a subscription1) Open your subscription details and click the consumer you want to remove, then *Remove Consumer*:

   ![Chainlink Functions remove consumer](/images/chainlink-functions/tutorials/subscription/your-subscription-remove-consumer.jpg)

2) A MetaMask popup appears, and you are asked to confirm the transaction.

   ![Chainlink Functions confirm the removal of the consumer](/images/chainlink-functions/tutorials/subscription/your-subscription-remove-consumer-confirm.jpg)

   ![Chainlink Functions confirm the removal of the consumer in MetaMask](/images/chainlink-functions/tutorials/subscription/your-subscription-remove-consumer-confirm2.jpg)

3) After you confirm the transaction, a confirmation screen appears:

   ![Chainlink Functions consumer removed](/images/chainlink-functions/tutorials/subscription/your-subscription-consumer-removed.jpg)### Cancel a subscription**Note**: You cannot cancel a subscription if there are in-flight requests. In-flight requests are requests that still need to be fulfilled.1) Open your subscription details, click *Actions*, then *Cancel subscription*:

   ![Chainlink Functions cancel subscription](/images/chainlink-functions/tutorials/subscription/your-subscription-cancel.jpg)

2) Fill in the receiver address of the remaining funds:

   ![Chainlink Functions cancel subscription](/images/chainlink-functions/tutorials/subscription/your-subscription-cancel2.jpg)

3) A MetaMask popup appears, and you are asked to confirm the transaction.

   ![Chainlink Functions confirm the removal of the subscription](/images/chainlink-functions/tutorials/subscription/your-subscription-cancel-confirm.jpg)

   ![Chainlink Functions confirm the removal of the subscription in MetaMask](/images/chainlink-functions/tutorials/subscription/your-subscription-cancel-confirm2.jpg)

4) After you confirm the transaction, a confirmation screen appears:

   ![Chainlink Functions subscription canceled](/images/chainlink-functions/tutorials/subscription/your-subscription-cancelled.jpg)For step-by-step instructions, including how to cancel and withdraw directly on the FunctionsRouter contract if you don't have access to the Subscription Manager, see [Cancel a Subscription and Withdraw Funds](/chainlink-functions/guides/cancel-subscription).## Time out pending requests manuallyThe Subscription Manager provides the option to time out requests manually. You can time out requests that have been pending for longer than five minutes to unlock your subscription funds.1) Open your subscription details and scroll to the **Pending** section. If a request has been pending longer than five minutes, its status displays as *Time out required*. Click the link within the red banner that says **Time out request**:

   ![Pending Functions request eligible for timeout](/images/chainlink-functions/tutorials/request-timeout/1-request-eligible-for-timeout.png)

   If you have multiple requests that are eligible for timeout, the **Time out request** link in the red banner times out all the requests at once.

   Alternatively, you can time out an individual request. Open the **Actions** menu for that request, and click **Time out request**:

   ![Individual request timeout](/images/chainlink-functions/tutorials/request-timeout/individual-request-timeout.png)

2) A MetaMask popup appears, and you are asked to confirm the transaction:

   ![Prompt to approve timeout transaction](/images/chainlink-functions/tutorials/request-timeout/2-approve-timeout-transaction.png)

3) After you confirm the transaction, a confirmation screen appears:

   ![Timeout transaction confirmation](/images/chainlink-functions/tutorials/request-timeout/3-timeout-successful-confirmation.png)

4) The subscription details page displays another confirmation in the upper right corner showing that the request has been timed out successfully:

   ![Request timed out dialog](/images/chainlink-functions/tutorials/request-timeout/4-subscription-page-updates.png)

5) The timed out request appears in the **Failed fulfillments** tab of the **History** section:

   ![Chainlink Functions subscription canceled](/images/chainlink-functions/tutorials/request-timeout/5-failed-fulfillments.png)