> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crea un Refresh Intent

## Petición para crear un Refresh Intent

Para solicitar una actualización *bajo demanda* de un Link, necesitas hacer una petición al recurso [Refresh Intent](/es/reference/movements-api/refresh-intents).

```curl theme={null}
curl --request POST "https://api.fintoc.com/v1/refresh_intents?link_token=link_000000000_token_00000000" \
--header 'Authorization: sk_live_0000000000000000' \
--header 'Content-Type: application/json'
```

```javascript theme={null}
const fetch = require('node-fetch');

fetch('https://api.fintoc.com/v1/refresh_intents?link_token=link_000000000_token_00000000', {
  	method: 'POST',
    headers: {
      'Content-Type': 'application/json'
      'Authorization': 'sk_live_000000000000'
    },
  },
)
```

```python theme={null}
import requests

headers = {
  'Accept': 'application/json', 'Authorization': 'sk_live_000000000000'
}

r = requests.post(
  'https://api.fintoc.com/v1/refresh_intents?link_token=link_000000000_token_00000000',
  headers=headers
)
```

```ruby theme={null}
require 'net/http'
require 'uri'
require 'json'

uri = URI("https://api.fintoc.com/v1/refresh_intents?link_token=link_000000000_token_00000000")

header = {
  Accept: 'application/json', Authorization: 'sk_live_000000000000'
}

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)

response = http.request(request)
```

## Respuesta al crear un Refresh Intent

La respuesta a la petición anterior devuelve el [Refresh Intent object](/es/reference/movements-api/refresh-intents/refresh-intents-object), que se ve algo así:

```json theme={null}
{
    "id": "ri_ml4K3O4RSvALRjnV",
    "requires_mfa": null,
    "object": "refresh_intent",
    "refreshed_object": "link",
    "refreshed_object_id": "link_000000000",
    "status": "created",
    "created_at": "2021-12-07T20:40:53.513Z",
    "type": "only_last"
}
```

El `id` de la respuesta es lo que deberías usar para pedir los [detalles del Refresh Intent](/es/reference/movements-api/refresh-intents/refresh-intents-get).

Si el campo `requires_mfa` es `null`, puedes esperar hasta que se te notifique un evento `refresh_intent.succeeded` a través de un webhook. De lo contrario, debes abrir el widget para que el usuario pueda ingresar su segundo factor de autenticación. Si este es el caso, la respuesta se vería así:

```json theme={null}
{
    "id": "ri_ml4K3O4RSvALRjnV",
    "requires_mfa": {
        "widget_token": "ri_ml4K3O4RSvALRjnV_sec_29K7Ar45AiSFnSgLgDx7nGHX"
    },
    "object": "refresh_intent",
    "refreshed_object": "link",
    "refreshed_object_id": "link_000000000",
    "status": "created",
    "created_at": "2021-12-07T20:40:53.513Z",
    "type": "only_last"
}
```

Aquí, el campo `requires_mfa` corresponde a un objeto, que tiene un campo `widget_token` que debes usar al abrir el widget.
