---
title: "Trigger a historical update for a link"
method: POST
path: "/api/links/{id}/refresh/"
tags: ["Links"]
---

# Trigger a historical update for a link

`POST /api/links/{id}/refresh/`

{% admonition type="warning" name="Concurrent Request Limit" %}
  To prevent duplicate requests, this endpoint has a 10-minute cooldown period per link. If you attempt to refresh the same link within 10 minutes of a previous request, you will receive a `409 Conflict` error with the message `"The link has already been refreshed. Please wait X minutes before trying again."`.
{% /admonition %}

Use this method to trigger a historical update for a specific link (single or recurrent). Use the `fetch_resources` parameter to specify which resources you want to update. If you do not specify this parameter, the historical update will be performed for all resources supported by the institution that the link is associated with.

On a successful request, our API will respond with a `202` status code and a `request_id` that you can later use to associate a given `historical_update` webhook to this request.

{% admonition type="info" name="Does not update link definition" %}
  This endpoint does not update the link definition itself, only the historical data for the specified resources. If you want to change the link's `fetch_resources` permanently, you should use the **Modify a link's data retrieval** method instead.
{% /admonition %}

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `fetch_resources` string[] — An array of resources that you would like to receive a historical update for. If you do not specify this field, the historical update will be performed for all resources supported by the institution. {% admonition type="warning" name="Unsupported Resources for a Link" %} If you specify a resource that is not supported by the institution, we return a `400 Bad Request` error, specifying which resources are supported for the given link. {% /admonition %}

## Response `202`

Historical Refresh Request Accepted

- object
  - `request_id` string, required — The unique ID for this request. We recommend you store this value to later identify which webhook event relates to an asynchronous request.

## Other responses

- `400` — Bad request error
- `401` — Unauthorized
- `403` — Access to Belvo API denied
- `404` — Not Found Error
- `409` — Conflict - Link Already Refreshed
- `428` — MFA Token Required
- `500` — Unexpected Error

---

[API](https://skmtc.net/belvo/apis/belvo-api-docs.md) · [All operations](https://skmtc.net/belvo/apis/belvo-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/belvo/belvo-api-docs/versions/3423c786ece5/schema)
