# auth.md

CreditLabs publie ce fichier pour l'enregistrement des agents. Les APIs publiques de catalogue n'exigent pas de jeton. CreditLabs est un apporteur d'affaires : aucun endpoint agent n'accepte de dossier credit, ne declenche un funnel, ni n'accede a l'admin.

## Audience

Agents qui veulent citer le catalogue editorial, l'observatoire ou les simulateurs indicatifs. Pas les utilisateurs humains du questionnaire.

## Decouverte

1. Lire `https://www.creditlabs.fr/.well-known/oauth-protected-resource` (resource, authorization_servers, scopes_supported, bearer_methods_supported).
2. Lire `https://www.creditlabs.fr/.well-known/oauth-authorization-server` (issuer, token_endpoint, agent_auth).
3. Le scope unique est `public:read`.

## Enregistrement anonyme

Methode supportee : `anonymous`.

- `POST https://www.creditlabs.fr/oauth/register` avec `{ "grant_types": ["client_credentials"], "scope": "public:read" }`
- Reponse : `client_id` = `creditlabs-public`, `token_endpoint_auth_method` = `none`
- `POST https://www.creditlabs.fr/oauth/token` avec `grant_type=client_credentials&scope=public:read`
- Reponse : jeton opaque `public` (aucune privilege). Les GET publics fonctionnent aussi sans `Authorization`.

## Utilisation

Appeler sans authentification, ou avec `Authorization: Bearer public` :

- `GET https://www.creditlabs.fr/api/ai/sources`
- `GET https://www.creditlabs.fr/api/health`
- `GET https://www.creditlabs.fr/api/communes?codePostal=75018`

Documentation humaine : https://www.creditlabs.fr/docs/api

## Hors perimetre

- `/api/leads`, `/api/questionnaire/*`, `/api/admin/*`, `/api/jobs/*` ne sont pas des APIs agents.
- Pas de flux ID-JAG, email verifie, ni compte utilisateur via cet auth.md.
