# Carica documenti dai tuoi sistemi
Source: https://nordvec.com/it/docs/guides/how-to/push-documents#invia-un-documento

## Invia un documento [#invia-un-documento]

`/documents/push` crea il documento o lo aggiorna se un documento con lo stesso `id` esiste già nell'origine dati.

```bash
curl https://nordvec.com/api/v1/documents/push \
  -H "Authorization: Bearer $NORDVEC_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: page-4711-2026-09-28" \
  -d '{
    "tenantId": "YOUR_WORKSPACE_ID",
    "document": {
      "id": "page-4711",
      "title": "Travel expense policy",
      "datasource": "confluence-export",
      "body": { "mimeType": "text/markdown", "content": "# Travel expenses\n..." },
      "permissions": {},
      "sourceUrl": "https://wiki.example.com/pages/4711",
      "type": "policy"
    }
  }'
```

```json
{ "documentId": "page-4711", "status": "queued", "updated": false }
```

* `id` è il tuo id stabile per il documento all'interno dell'origine dati. Inviare nuovamente lo stesso `id` lo aggiorna; il contenuto invariato è riconosciuto dal suo hash e non viene indicizzato due volte.
* `body.mimeType` è uno tra `text/plain`, `text/markdown`, `text/html`, `application/pdf`, o i tipi Word, Excel e PowerPoint (`.docx`, `.xlsx`, `.pptx`). Il contenuto binario è inviato codificato in base64.
* `sourceUrl` diventa il link "vai alla fonte" su ogni citazione del documento. Omettilo in un re-push per mantenere quello memorizzato, o invia `null` per cancellarlo.
* `type` imposta il `content_type` del documento, su cui la ricerca e l'elenco filtrano.

L'intero corpo della richiesta è limitato a 1 MB, quindi un file grande o un batch corposo risponde con `413`; suddividilo.