# Errori di validazione

**HTTP status:** `400 Bad Request`

**Content-Type:** `application/problem+json`

**type:** `https://truescreen.redocly.app/errors/validation-error`

Questo errore viene restituito quando il payload della richiesta o i suoi parametri non superano la validazione. Le cause più comuni sono: campi obbligatori mancanti, valori con formato non valido, risorse referenziate inesistenti o vincoli di business non rispettati.

## Codici errore associati

| Code | Messaggio | Causa |
|  --- | --- | --- |
| `TS-001` | Malformed payload. | Body JSON non parsabile o struttura non conforme allo schema |
| `TS-002` | Validation data error. | Campo obbligatorio mancante (es. `title`, `files`, `template_token`) |
| `TS-003` | Relative resource not found. | `template_token` non corrisponde a nessun flow template |
| `TS-004` | Flow data validation error. | I valori in `flow_data` non rispettano lo schema del flow template |
| `TS-005` | Sign data validation error. | I valori in `sign_data` non rispettano lo schema del flow template |
| `TS-006` | Attachment already linked to Template. | L'allegato è già associato a un template |
| `TS-007` | On before create function not found. | Configurazione interna del template non valida |
| `TS-008` | Insufficient credits available. | Saldo crediti insufficiente per completare l'operazione |
| `TS-011` | No certification attachments found. | `upload_session_token` non ha allegati associati |
| `TS-012` | A certification has already been created for this upload session token. | L'`upload_session_token` è già stato usato per creare una certificazione |
| `TS-013` | Not all files have been uploaded. | Alcuni file registrati non sono stati caricati prima della creazione |
| `TS-901` | This True Link has already been used to create a certification. | Il True Link è già stato consumato |


## Esempio di risposta

```json
{
  "type": "https://truescreen.redocly.app/errors/validation-error",
  "title": "Validation error",
  "status": 400,
  "detail": "must have required property 'template_token'.",
  "code": "TS-002"
}
```

## Come risolvere

1. Controlla il campo **`detail`** per capire quale campo o vincolo ha fallito la validazione.
2. Usa il **`code`** per identificare la categoria di errore nella tabella sopra.
3. Verifica il payload della richiesta rispetto allo schema documentato nella [specifica OpenAPI](/it/openapi).
4. Per `TS-008` (crediti insufficienti): controlla il saldo con `GET /v1/credits`.