--- title: "Manage recurring top-ups" description: "Learn how to view, change, and delete recurring top-ups." url: "https://docs.adyen.com/issuing/add-manage-funds/top-ups/manage-recurring-top-ups" source_url: "https://docs.adyen.com/issuing/add-manage-funds/top-ups/manage-recurring-top-ups.md" canonical: "https://docs.adyen.com/issuing/add-manage-funds/top-ups/manage-recurring-top-ups" last_modified: "2020-09-11T17:20:00+02:00" language: "en" --- # Manage recurring top-ups Learn how to view, change, and delete recurring top-ups. [View source](/issuing/add-manage-funds/top-ups/manage-recurring-top-ups.md) After you create a recurring top-up, we automatically trigger top-ups to your balance account according to the settings you configured. If you need to view or change these settings, or delete a recurring top-up, you can do so using the [Configuration API](https://docs.adyen.com/api-explorer/balanceplatform/latest/overview). ## Requirements | Requirement | Description | | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Integration type** | Adyen Issuing integration. | | **[API credential roles](/development-resources/api-credentials/roles/)** | Make sure that you have the credentials for the [Configuration API](https://docs.adyen.com/api-explorer/balanceplatform/latest/overview) with the following role:- **BankAPI Advanced Webservice role** | | **[Webhooks](/development-resources/webhooks)** | Subscribe to the following webhooks:- [Configuration webhooks](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/latest/overview) - [Transfer webhooks](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/overview) - [Transaction webhooks](https://docs.adyen.com/api-explorer/transaction-webhooks/latest/overview) | | **[Capabilities](/issuing/verification-overview/capabilities)** | To top up using a transfer instrument, you need the following capability:- **receiveFromTransferInstrument** Before attempting a transfer, verify that this capability is active and has a valid `verificationStatus`. You can check this via the [verificationStatus](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/accountHolders/\(id\)#responses-200-capabilities-verificationStatus). Note: To enable this capability, see [request additional capabilities](/issuing/manage-account-holders#request-capability). | | **Limitations** | This feature does not support on-demand top-ups. | | **Setup steps** | Make sure that your [top-up source](/issuing/add-manage-funds/top-ups#top-up-source) has enough balance to fund the top-up. | ## View recurring top-ups After creating recurring top-ups for your balance account, you can make requests to get an overview of them. You can use query parameters to determine how many results to show (`limit`), and where the list starts (`cursor`). The list is always shown in chronological order of when you created the top-up. When your list of results consists of more than one page, you can navigate through the pages using the API. The following list provides a high-level overview of the steps required to complete this process. We will then dive into the details for each step. 1. [Make an initial GET request *without* the cursor parameter](#make-get-request-without-cursor). 2. [Take note of the `cursor` value in the response, which shows the first page of results](#view-first-page-results). 3. [Make a second GET request *including* the cursor parameter](#make-get-request-including-cursor). 4. [Take note of the `cursor` values in the response, which shows the second page of results](#view-next-page-results). You can use these values to navigate to the next or previous page of results. To view all recurring top-ups configured for a balance account: ### 1. Make a GET request without the cursor parameter Make a initial GET `/balanceAccounts/{balanceAccountId}/recurringTopUps`. In your request, specify the following parameters: | Parameter | Type | Required | Description | | ------------------ | ----- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `balanceAccountId` | Path | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the balance account for which you want to retrieve recurring top-ups. | | `limit` | Query | | The number of results (recurring top-ups) to show in the first page of the response. By default, the response shows 10 results. The response also includes links to the next page of the results. | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. ** #### Example request - View recurring top-ups (first page) Here is an example request to retrieve a list of recurring top-ups for **BA00000000000000000000001**, and restrict this list to 2 results in the first page. **Get a list of recurring top-ups** ```bash curl https://balanceplatform-api-beta.adyen.com/bcl/v2/balanceAccounts/BA00000000000000000000001/recurringTopUps \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X GET \ -d limit=2 ``` ### 2. View the first page of results Take note of the array in the response that returns a list of recurring top-ups configured for your balance account, according to the `limit` you defined. Each object in the array returns the following parameters: | Parameter | Type | Required | Description | | ----------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | Response body | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the recurring top-up. | | `counterparty.transferInstrumentId` | Response body | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Returned if the top-up source is a transfer instrument. The unique identifier of the transfer instrument that is funding the top-up. | | `description` | Response body | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Your description for the recurring top-up. | | `topUpAmount.fixed` | Response body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Returned if you use a fixed top-up amount. The fixed amount with which you want to top up the balance account. **Format**: In [minor units](/development-resources/currency-codes/#minor-units). | | `topUpAmount.target` | Response body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Returned if you want to top up to a target amount. The target balance for the balance account that the top-up must achieve. **Format**: In [minor units](/development-resources/currency-codes/#minor-units). | | `trigger.schedule` | Response body | | The frequency at which to check the available balance on the balance account. If not specified, the balance is continuously monitored. **Possible values**:- **weekdays**: from Monday to Friday at 07:00 AM - **weekly**: on Mondays at 07:00 AM) - **monthly**: on the 1st of each month at 07:00 AM - **null** (default): continuous monitoring | | `trigger.threshold` | Response body | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The minimum balance you want to keep in the account. During the regular checks defined in `trigger.schedule`, if the available balance is below the threshold amount, we trigger a top-up. | | `status` | Response body | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The status of the recurring top-up. **Possible values**:- **active** (default) - **inactive** | | `referenceForBeneficiary` | Response body | | The reference sent to the counterparty for the direct debit (the source of the funds). | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. The response also returns the following parameter to help you navigate through the list of results: | Parameter | Type | Required | Description | | ---------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `link.next.href` | Response body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Returned if there is more than 1 page of results, based on the `limit` you defined. The link leading to the next page of results. This link includes the `cursor` which you can use as a query in your GET request to view the next page of results. | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. ** #### Example response - View recurring top-ups (first page) Here is an example response showing a list of recurring top-ups configured for balance account **BA00000000000000000000001**, where the list is restricted to **2** results per page. **Response - view available recurring top-ups** ```json { "RecurringTopUps": [ { "id": "TU0000000000001", "counterparty": { "transferInstrumentId": "TI00000000000000000000001" }, "description": "Your description for the recurring top-up", "topUpAmount": { "target": { "value": 100000, "currency": "USD" } }, "trigger": { "schedule": { "type": "weekly" }, "threshold": { "value": 25000, "currency": "USD" } }, "status": "active" }, { "id": "TU0000000000002", "counterparty": { "balanceAccountId": "BA00000000000000000000002" }, "description": "Your description for the recurring top-up.", "topUpAmount": { "fixed": { "value": 80000, "currency": "USD" } }, "trigger": { "schedule": { "type": "weekdays" }, "threshold": { "value": 10000, "currency": "USD" } }, "status": "active" } ], "link": { "next": { "href": "https://balanceplatform-api-beta.com/bcl/api/v2/balanceAccounts/BA00000000000000000000001/recurringTopUp?cursor=STRING_FOR_NEXT_PAGE_CURSOR&limit=2" } } } ``` ### 3. Make a GET request including the cursor parameter To view the next page of results, make a second GET `/balanceAccounts/{balanceAccountId}/recurringTopUps`. In your request, specify the following parameters: | Parameter | Type | Required | Description | | ------------------ | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `balanceAccountId` | Path | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the balance account for which you want to retrieve recurring top-ups. | | `cursor` | Query | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to see the next or previous page of results. Use only if this is not your first GET request. The encrypted identifier of the recurring top-up from which you want your list of results to start. You can find the cursor in the response of your previous GET request. By default, the list of results starts from the first top-up created for that balance account. | | `limit` | Query | | The number of results (recurring top-ups) to show in the first page of the response. By default, the response shows 10 results. The response also includes links to the next and previous page of the results. | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. ** #### Example request - View recurring top-ups (next page) Here is an example request to retrieve the next page of results for **BA00000000000000000000001**. The results start from where the previous page ended, and includes 2 results per page. **Get a list of recurring top-ups** ```bash curl https://balanceplatform-api-beta.adyen.com/bcl/v2/balanceAccounts/BA00000000000000000000001/recurringTopUps \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X GET \ -d cursor=STRING_FOR_NEXT_PAGE_CURSOR \ -d limit=2 ``` ### 4. View the next page of results Take note of the array in the response that returns a list of recurring top-ups configured for your balance account, according to the `cursor` and `limit` you defined. In addition to the array, the response also returns the following parameters to help you navigate through the list of results: | Parameter | Type | Required | Description | | ---------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `link.next.href` | Response body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Returned if there is more than 1 page of results, based on the `limit` you defined. The link leading to the next page of results. This link includes the `cursor` which you can use as a query in your GET request to view the next page of results. | | `link.prev.href` | Response body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Returned if there is more than 1 page of results, based on the `cursor` and `limit` you defined. The link leading to the previous page of results. This link includes the `cursor` which you can use as a query in your GET request to view the previous page of results. | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. ** #### Example response - View recurring top-ups (next page) Here is an example response showing the next page of a list of recurring top-ups configured for balance account **BA00000000000000000000001**, where the list is restricted to **2** results per page. **Response - view available recurring top-ups** ```json { "RecurringTopUps": [ { "id": "TU0000000000003", "counterparty": { "transferInstrumentId": "TI00000000000000000000001" }, "description": "Your description for the recurring top-up", "topUpAmount": { "target": { "value": 200000, "currency": "USD" } }, "trigger": { "schedule": { "type": "weekly" }, "threshold": { "value": 50000, "currency": "USD" } }, "status": "active" }, { "id": "TU0000000000004", "counterparty": { "balanceAccountId": "BA00000000000000000000002" }, "description": "Your description for the recurring top-up.", "topUpAmount": { "fixed": { "value": 300000, "currency": "USD" } }, "trigger": { "schedule": { "type": "weekdays" }, "threshold": { "value": 100000, "currency": "USD" } }, "status": "active" } ], "link": { "next": { "href": "https://balanceplatform-api-beta.com/bcl/api/v2/balanceAccounts/BA00000000000000000000001/recurringTopUp?cursor=STRING_FOR_NEXT_PAGE_CURSOR&limit=2" }, "prev": { "href": "https://balanceplatform-api-beta.com/bcl/api/v2/balanceAccounts/BA00000000000000000000001/recurringTopUp?cursor=STRING_FOR_PREVIOUS_PAGE_CURSOR&limit=2" } } } ``` ## Update a recurring top-up To update a recurring top-up, make a PATCH `/balanceAccounts/{balanceAccountId}/recurringTopUps/{topUpId}` request. In your request, specify the parameters you want to update: If you do not specify a parameter, or explicitly set it to **null**, the value remains the same as what you specified in the [POST request](#create-a-recurring-top-up). | Parameter | Type | Required | Description | | ----------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `balanceAccountId` | Path | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the balance account. | | `topUpId` | Path | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the recurring top-up you want to update. | | `counterparty.transferInstrumentId` | Request body | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to update to a new transfer instrument ID. | | `description` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to change the description. Your description for the recurring top-up. **Format**: Maximum length is 140 characters. If you set a longer description, it will be cut off at 140 characters. | | `topUpAmount.fixed` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if:- You want to update to a new fixed top-up amount. - You want to change from a target to a fixed amount. - You want to change from a fixed to a target amount. In this case, set `fixed` to **null**. The fixed amount with which you want to top up the balance account. Set to **null** if you want to change from a fixed to a target amount. | | `topUpAmount.target` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if:- You want to update to a new target top-up amount. - You want to change from a fixed to a target amount. - You want to change from a target to a fixed amount. In this case, set `target` to **null**. The target balance for the balance account that the top-up must achieve. Set to **null** if you want to change from a target to a fixed amount. | | `trigger.schedule` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to change the schedule. The frequency at which to check the available balance on the balance account. If not specified, the balance is continuously monitored. **Possible values**:- **weekdays**: from Monday to Friday at 07:00 AM - **weekly**: on Mondays at 07:00 AM - **monthly**: on the 1st of each month at 07:00 AM - **null**: continuous monitoring | | `trigger.threshold` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to change the threshold. The minimum balance you want to keep in the account. During the regular checks defined in `trigger.schedule`, if the available balance is below the threshold amount, we trigger a top-up. | | `status` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to change the status. The status of the recurring top-up. Possible values:- **active** (default) - **inactive** | | `referenceForBeneficiary` | Request body | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | **Use case**: Required if you want to change the reference for the beneficiary. The reference sent to the counterparty for the direct debit (the source of the funds). **Format**:- Only alphanumeric characters. - Maximum length is 80 characters. | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. ** #### Example - update a recurring top-up You created a recurring top-up (**TU0000000000001**) for balance account **BA00000000000000000000001** with the following settings: * Source of funds: transfer instrument with ID **TI00000000000000000000001**. * Top-up amount: a target amount of **USD 1000** for the balance account. * Schedule: check the available balance weekly, **every Monday at 7:00 AM**. * Threshold: top up the balance account only if the available balance drops below **USD 250**. You now want to update the following details: * Change the source of the funds transfer instrument with ID **TI00000000000000000000002**. * Change the top-up amount to a fixed amount of **USD 750**. * Deactivate the top-up. Here is an example request to update this recurring top-up: **Update recurring top-up** ```bash curl https://balanceplatform-api-beta.adyen.com/bcl/v2/balanceAccounts/BA00000000000000000000001/recurringTopUps/{topUpId} \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "counterparty": { "transferInstrumentId": "TI00000000000000000000002" }, "topUpAmount": { "fixed": { "value": 75000, "currency": "USD" }, }, "status": "inactive" }' ``` You receive the following response: **Response - update recurring top-up** ```json { "id": "TU0000000000001", "counterparty": { "transferInstrumentId": "TI00000000000000000000002" }, "description": "Your description for the recurring top-up", "topUpAmount": { "fixed": { "value": 75000, "currency": "USD" } }, "trigger": { "schedule": { "type": "weekly" }, "threshold": { "value": 25000, "currency": "USD" } }, "status": "inactive" } ``` ## Delete a recurring top-up To delete a recurring top-up, make a DELETE `/balanceAccounts/{balanceAccountId}/recurringTopUps/{topUpId}` request. In your request, specify the following parameters. | Parameter | Type | Required | Description | | ------------------ | ---- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | `balanceAccountId` | Path | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the balance account. | | `topUpId` | Path | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the recurring top-up you want to delete. | ![This is the required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/required.svg?decoding=auto\&fetchpriority=auto) Required for all transactions.\ ![This is the conditionally required icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/conditionally-required.svg?decoding=auto\&fetchpriority=auto) Required for particular setups.\ ![This is the recommended icon.](/user/pages/reuse/image-library/01.icons/requirements-legend/recommended.svg?decoding=auto\&fetchpriority=auto) Recommended for all transactions, but not required. ** #### Example request - Delete recurring top-up Here is an example request to delete a recurring top-up with ID **TU0000000000001**: **Get a list of recurring top-ups** ```bash curl https://balanceplatform-api-beta.adyen.com/bcl/v2/balanceAccounts/BA00000000000000000000001/recurringTopUps/TU0000000000001 \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X DELETE ``` If the request is successful, you receive a **204 - No Content** response. ## See also ###### [Create recurring top-ups](/issuing/add-manage-funds/top-ups/manage-recurring-top-ups) [Learn how to configure recurring top-ups for your balance accounts.](/issuing/add-manage-funds/top-ups/manage-recurring-top-ups) ###### [Top-up webhooks](/issuing/add-manage-funds/top-ups/top-up-webhooks) [Stay updated about changes to the recurring top-ups on your platform.](/issuing/add-manage-funds/top-ups/top-up-webhooks)