# Acionar uma atualização histórica para um link

{% admonition type="warning" name="Limite de Requisições Concorrentes" %}
  Para evitar requisições duplicadas, este endpoint possui um período de cooldown de 10 minutos por link. Se você tentar atualizar o mesmo link dentro de 10 minutos após uma solicitação anterior, receberá um erro 409 Conflict com a mensagem "The link has already been refreshed. Please wait X minutes before trying again.".
{% /admonition %}

Use este método para acionar uma atualização histórica para um link específico (único ou recorrente). Utilize o parâmetro fetch_resources para especificar quais recursos você deseja atualizar. Se você não especificar este parâmetro, a atualização histórica será realizada para todos os recursos suportados pela instituição à qual o link está associado.

Em uma solicitação bem-sucedida, nossa API responderá com um código de status 202 e um request_id que você poderá usar posteriormente para associar um webhook de historical_update a esta solicitação.

{% admonition type="info" name="Não atualiza a definição do link" %}
  Este endpoint não atualiza a definição do link em si, apenas os dados históricos para os recursos especificados. Se você deseja alterar permanentemente o fetch_resources do link, deve usar o método Modificar a recuperação de dados de um link.
{% /admonition %}

Endpoint: POST /api/links/{id}/refresh/
Version: 1.223.0
Security: basicAuth

## Path parameters:

  - `id` (string, required)
    O link.id que você deseja atualizar.
    Example: "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"

## Request fields (application/json):

  - `fetch_resources` (array)
    Uma matriz de recursos para os quais você gostaria de receber uma atualização histórica. Se você não especificar este campo, a atualização histórica será realizada para todos os recursos suportados pela instituição.

{% admonition type="warning" name="Recursos Não Suportados para um Link" %}
  Se você especificar um recurso que não é suportado pela instituição, retornamos um erro 400 Bad Request, especificando quais recursos são suportados para o link fornecido.
{% /admonition %}
    Example: ["ACCOUNTS","TRANSACTIONS","OWNERS"]

## Response 202 fields (application/json):

  - `request_id` (string, required)
    O ID único para esta solicitação. Recomendamos que você armazene este valor para identificar posteriormente qual evento de webhook está relacionado a uma solicitação assíncrona.
    Example: "b5d0106ac9cc43d5b36199fe831f6bbe"

## Response 403 fields (application/json):

  - `code` (string)
    Um código de erro único (access_to_resource_denied) que permite classificar e tratar o erro programaticamente.

ℹ️ Consulte nosso DevPortal para mais informações sobre como lidar com 403 access_to_resource_denied.
    Example: "access_to_resource_denied"

  - `message` (string)
    Uma breve descrição do erro.

Para erros access_to_resource_denied, a descrição é:

  - You don't have access to this resource..
    Example: "You don't have access to this resource."

  - `request_id` (string)
    Um ID único de 32 caracteres da solicitação (correspondente a um padrão regex de: [a-f0-9]{32}). Forneça este ID ao entrar em contato com a equipe de suporte da Belvo para acelerar as investigações.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

## Response 404 fields (application/json):

  - `code` (string)
    Um código de erro único (not_found) que permite classificar e lidar com o erro programaticamente.
    Example: "not_found"

  - `message` (string)
    Uma breve descrição do erro.

Para erros not_found, a descrição é:

  - Not found
    Example: "Not found"

  - `request_id` (string)
    Um ID único de 32 caracteres da solicitação (correspondente a um padrão regex de: [a-f0-9]{32}). Forneça este ID ao entrar em contato com a equipe de suporte da Belvo para acelerar as investigações.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

## Response 409 fields (application/json):

  - `code` (string)
    Um código de erro único (link_refreshed) que permite classificar e lidar com o erro de forma programática.

ℹ️ Consulte nosso DevPortal para mais informações sobre como lidar com erros 409 link_refreshed.
    Example: "link_refreshed"

  - `message` (string)
    Uma breve descrição do erro.

Para erros link_refreshed, a descrição é:

- O link já foi atualizado. Por favor, aguarde X minutos antes de tentar novamente.
    Example: "The link has already been refreshed. Please wait 7 minutes before trying again."

  - `request_id` (string)
    Um ID único de 32 caracteres da solicitação (correspondente a um padrão regex de: [a-f0-9]{32}). Forneça este ID ao entrar em contato com a equipe de suporte da Belvo para acelerar as investigações.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

## Response 428 fields (application/json):

  - `code` (string)
    Um código de erro único (token_required) que permite classificar e lidar com o erro programaticamente.
ℹ️ Consulte nosso DevPortal para mais informações sobre como lidar com erros 428 token_required.
    Example: "token_required"

  - `message` (string)
    Uma breve descrição do erro. Para erros token_required, a descrição é:

- A instituição requer um token MFA para fazer login.
    Example: "A MFA token is required by the institution to login"

  - `request_id` (string)
    Um ID único de 32 caracteres da solicitação (correspondente a um padrão regex de: [a-f0-9]{32}). Forneça este ID ao entrar em contato com a equipe de suporte da Belvo para acelerar as investigações.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"

  - `session` (string)
    Um ID único de 32 caracteres da sessão de login (correspondente a um padrão regex de: [a-f0-9]{32}).
    Example: "2675b703b9d4451f8d4861a3eee54449"

  - `expiry` (integer)
    Tempo de duração da sessão em segundos.
    Example: 9600

  - `link` (string)
    Identificador único criado pela Belvo, usado para referenciar o Link atual.
    Example: "30cb4806-6e00-48a4-91c9-ca55968576c8"

  - `token_generation_data` (object)
    Detalhes sobre como gerar o token.

  - `token_generation_data.instructions` (string)
    Instruções para geração de token.
    Example: "Use this code to generate the token"

  - `token_generation_data.type` (string)
    Tipo de dados para gerar o token (QR code, desafio numérico).
    Example: "numeric"

  - `token_generation_data.value` (string)
    Valor a ser usado para gerar o token.
    Example: "12345"

  - `token_generation_data.expects_user_input` (boolean)
    Indica se o usuário precisa fornecer entrada para concluir a autenticação. Quando definido como false, seu usuário pode precisar:
- confirmar o login em outro dispositivo
- escanear um código QR
Você ainda precisará fazer uma chamada PATCH para concluir a solicitação.
    Example: true

## Response 500 fields (application/json):

  - `code` (string)
    Um código de erro único (unexpected_error) que permite classificar e tratar o erro de forma programática.

ℹ️ Consulte nosso DevPortal para mais informações sobre como lidar com erros 500 unexpected_error.
    Example: "unexpected_error"

  - `message` (string)
    Uma breve descrição do erro.

Para erros unexpected_error, a descrição é:

  - Belvo não consegue processar a solicitação devido a um problema interno do sistema ou a uma resposta não suportada de uma instituição.
    Example: "Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution"

  - `request_id` (string)
    Um ID único de 32 caracteres da solicitação (correspondente a um padrão regex de: [a-f0-9]{32}). Forneça este ID ao entrar em contato com a equipe de suporte da Belvo para acelerar as investigações.
    Example: "9e7b283c6efa449c9c028a16b5c249fb"


