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

# Obtenir la liste des documents auxquels vous avez accès 

> Ce guide explique comment récupérer et rechercher des documents dans Paradigm via l'API v3.

Récupérez une liste paginée de tous les documents auxquels vous avez accès dans votre instance Paradigm. Cet endpoint supporte le filtrage avancé, la recherche sémantique et une pagination flexible.

## Prérequis

* Une **clé API Paradigm** : si vous n'en avez pas, accédez à votre profil Paradigm et générez une nouvelle clé API.
* **Accès aux documents** : Vous devez disposer des permissions appropriées pour consulter les documents de votre instance.

## Utilisation de base

```python theme={null}
import requests
import os

api_key = os.getenv("PARADIGM_API_KEY")
base_url = os.getenv("PARADIGM_BASE_URL", "https://paradigm.lighton.ai/api/v3")

response = requests.get(
    url=f"{base_url}/files",
    headers={'Authorization': f"Bearer {api_key}"},
)

print(response.json())
```

## Format de réponse

```json theme={null}
{
  "next": "https://paradigm.lighton.ai/api/v3/files?page=2",
  "previous": null,
  "count": 42,
  "results": [
    {
      "id": 123,
      "filename": "report.pdf",
      "workspace_id": 5,
      "title": "Q4 Financial Report",
      "extension": "pdf",
      "status": "embedded",
      "status_vision": "embedded",
      "uploaded_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:35:00Z",
      "total_pages": 24
    }
  ]
}
```

## Pagination et limites

* **Taille de page** : 20 documents par page (fixe)
* **`max_documents`** : Nombre total de documents à retourner (1-500, défaut : 50)
* **`page`** : Naviguer dans les résultats paginés

## Filtres disponibles

Tous les filtres sont documentés dans la spécification Swagger/OpenAPI. Les principaux filtres incluent :

| Filtre                     | Description                                                                                                                                                                                                           |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `workspace_id`             | IDs de workspace séparés par des virgules                                                                                                                                                                             |
| `extension`                | Extensions de fichiers séparées par des virgules (ex : `pdf,docx`)                                                                                                                                                    |
| `status`, `status_vision`  | Valeurs des statut des documents (liste des valeurs possibles : <br />[https://paradigm.lighton.ai/api/v3/docs/#/Files/api\_v3\_files\_list](https://paradigm-dev.lighton.ai/api/v3/docs/#/Files/api_v3_files_list) ) |
| `title`, `filename`        | Correspondance partielle (insensible à la casse)                                                                                                                                                                      |
| `uploaded_at_after/before` | Plage de dates pour la date de téléchargement                                                                                                                                                                         |
| `updated_at_after/before`  | Plage de dates pour la dernière mise à jour                                                                                                                                                                           |
| `total_pages_min/max`      | Plage du nombre de pages                                                                                                                                                                                              |
| `tag_id`                   | IDs de tags séparés par des virgules                                                                                                                                                                                  |

## Recherche

Le paramètre `search` permet une découverte intelligente des documents via une recherche hybride. Lorsqu'il est fourni, les résultats sont **triés par pertinence** plutôt que par date de téléchargement.

```python theme={null}
response = requests.get(
    url=f"{base_url}/files",
    headers={'Authorization': f"Bearer {api_key}"},
    params={
        "search": "machine learning best practices",
        "max_documents": 20
    }
)
```

### Fonctionnement

Le service DocFinder utilise une approche de classement hybride qui combine des signaux sémantiques et lexicaux pour trouver et classer les documents pertinents.

<Note>
  Les filtres sont appliqués avant la recherche, vous permettant de chercher dans un sous-ensemble spécifique de documents.
</Note>

## cURL

```shell theme={null}
curl --request GET \
  --url "$PARADIGM_BASE_URL/files?search=financial%20report&extension=pdf" \
  --header "Authorization: Bearer $PARADIGM_API_KEY"
```
