# Rigenerazione di una sessione

Nel caso in cui il link per la sessione di riconoscimento sia scaduto, è possibile rigenerarlo tramite l'API

<p class="callout info">[\[POST\] /api/v1/spid/{spidId}/refreshSession](https://spid-write-dev.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/spid-write-controller/refreshSession)</p>

### Header

Gli header richiesti dalla chiamata sono gli [header standard di TSDigital](https://digital-docs.ts-paas.com/books/integrazione-e-utilizzo-api-tsdigital/page/linee-guida-generali-api-ts-digital "Linee guida Generali API TS-Digital").

Il `Content-Type` deve essere `application/json`

### Path parameter

- **spidId**: identificativo univoco della sessione di riconoscimento SPID, ottenuto al termine del [processo di creazione](https://digital-docs.ts-paas.com/books/spid/page/creazionemodifica-di-una-sessione-di-riconoscimento "Creazione/Modifica di una sessione di riconoscimento") o dalle API di lettura

### Body

L'API non ha body.

### Risposte

#### Successo

In caso di successo, l'API risponde con il codice **HTTP 200** e con il seguente body:

```JSON
{
  "itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "spidId": "10aa555a-4ef4-41ca-b2ee-d07fac773898",
  "taxId": "RSSMRA80A01I829Y",
  "sessionLink": "http://example-link.agyo.io/spid-session"
}
```

- **itemId/taxId**: echo dei valori presenti nella sessione SPID
- **spidId**: identificativo univoco della richiesta all'interno di Digital, utilizzabile per effettuare operazioni di lettura/scrittura specifiche
- **sessionLink**: nuovo link utilizzabile per iniziare il processo di riconoscimento. <span style="text-decoration: underline;">Il link ha una valenza di 24h</span>.

#### Errore

In caso di errore, l'API risponde con un body JSON avente il seguente formato:

```JSON
{
  "code": "string",
  "timestamp": "2022-04-13T13:35:16.678Z",
  "message": "string",
  "subErrors": [
    {}
  ]
}
```

- **code**: rappresentazione sotto forma di stringa del codice d'errore HTTP. Coincide con l'errore HTTP ritornato
- **tiemstamp**: data e ora della risposta, espresso sotto forma di stringa
- **message**: messaggio che esprime l'errore

Gli errori possibili sono:

- **400**: la richiesta è malformata (parametri con formato errato, parametri invalidi o inconsistenti fra loro)
- **401**: non è stato fornito un token autorizzativo o il token autorizzativo fornito non è valido (es: è scaduto)
- **403**: il token fornito è valido, ma l'utente non è autorizzato ad effettuare l'operazione
- **404**: non esiste una sessione associata all'ID specificato
- **500**: si è verificato un errore inaspettato
- **502**: si è verificato un errore inaspettato nella comunicazione con altri servizi