> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.client-p.pylote.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Intégrez les profils freelances Pylote dans votre plateforme

<Note>
  **Avril 2026** : l'accès à l'API Pylote est désormais **gratuit** pour tous les partenaires.
  L'API n'a pas changé, mais la documentation a été entièrement réécrite.
  Si vous constatez un oubli, une erreur ou une information manquante,
  signalez-le à `hello@pylote.io` - on corrige dans la journée.
</Note>

## Pylote Client API

L'API Client Pylote vous permet de récupérer les **profils freelances tech** de la base Pylote
et de les intégrer dans votre plateforme de recrutement.

Pylote centralise les profils de freelances inscrits sur Crème, Comet, Free-Work, Collective,
WTTJ et plein d'autres, et les met à disposition via cette API au format
[JSON Resume](https://jsonresume.org/schema/) enrichi.

### Ce que vous obtenez

* **Profils complets** : compétences, expériences, formations, certifications, langues
* **Disponibilité en temps réel** : le freelance met à jour sa dispo dans l'extension Pylote
* **Préférences de mission** : TJM, télétravail, durée, jours/semaine, mobilité géographique
* **Liens trackés** : CV et LinkedIn via `hive.pylote.io` (watermarké pour le suivi)
* **Emails proxy** : `@freelance.pylote.io` pour protéger l'identité du freelance

### Indispensable au bon fonctionnement

<Note>
  **Whitelistez chaque recruteur de votre plateforme** dès qu'il accède à des profils Pylote.
  C'est ce qui génère son email proxy `@recruiter.pylote.io` et lui permet de **contacter
  les freelances** (les emails freelances sont eux-mêmes des proxy).

  * **Premier setup** : `POST /partners/whitelist/batch` (jusqu'à 500 recruteurs en une fois)
  * **Nouveaux recruteurs ensuite** : `POST /partners/whitelist` (unitaire)

  Sans whitelist, aucun message du recruteur n'arrivera au freelance ([détails](/tracking-obligations#1-whitelist-indispensable-pour-le-contact-recruteur-freelance)).
</Note>

### Vos engagements contractuels

<Warning>
  L'utilisation de cette API est soumise à des engagements contractuels :

  1. **Tracker les consultations** : chaque fois qu'un recruteur consulte un profil, vous devez
     envoyer un event via `POST /partners/events` ([détails](/tracking-obligations))
  2. **Supprimer les profils deleted sous 30 jours** : quand un freelance supprime son compte,
     vous devez le retirer de votre base dans un délai de 30 jours ([détails](/tracking-obligations#obligations-de-suppression))
  3. **Protéger les données** : ne jamais exposer les emails personnels des freelances
  4. **Respecter le RGPD** : vous êtes responsable de traitement indépendant pour les données
     que vous recevez via l'API ([détails](/conditions-legales#donnees-personnelles-et-rgpd))
  5. **Maintenir votre intégration à jour** : vous disposez de 15 jours après notification
     pour vous conformer aux évolutions de l'API ([détails](/conditions-legales#conformite-a-la-documentation))
</Warning>

### Interdictions

L'utilisation de l'API est strictement limitée à la mise en relation recruteurs/freelances.
Il est interdit de :

* Revendre, sous-licencier ou transférer l'accès à l'API à des tiers
* Constituer une base de données concurrente à partir des données Pylote
* Utiliser les profils à des fins de prospection commerciale non sollicitée
* Procéder à un profilage automatisé ou illicite des freelances
* Stocker les données de manière disproportionnée au regard de vos besoins opérationnels

Pour le détail complet, consultez les [conditions légales](/conditions-legales).

### Base URL

```
https://client-p.pylote.io
```

| Environnement  | URL                                  | Usage                                    |
| -------------- | ------------------------------------ | ---------------------------------------- |
| **Production** | `https://client-p.pylote.io`         | Données réelles                          |
| **Preprod**    | `https://client-pp.pylote.io`        | Tests avec données réelles (clé preprod) |
| **Sandbox**    | `https://client-p.pylote.io/sandbox` | Tests sans clé API (données anonymisées) |

### Démarrage rapide

<Steps>
  <Step title="Testez la sandbox">
    Aucune clé nécessaire. Validez votre intégration avec des données anonymisées :

    ```bash theme={null}
    curl "https://client-p.pylote.io/sandbox/freelances?modifiedTime=0&page=1&limit=10"
    ```
  </Step>

  <Step title="Obtenez votre clé API">
    Contactez Pylote pour recevoir votre clé API de production.
    Voir [Authentification](/authentication) pour les détails.
  </Step>

  <Step title="Synchronisez les freelances">
    Récupérez tous les profils avec `modifiedTime=0`, puis les mises à jour incrémentales.
    Voir [Guide d'intégration](/integration-guide) pour la stratégie de synchronisation.
  </Step>

  <Step title="Whitelistez vos recruteurs">
    Indispensable pour que vos recruteurs puissent contacter les freelances Pylote.
    Une fois par recruteur via `POST /partners/whitelist`. Voir [Whitelist et tracking](/tracking-obligations#1-whitelist-indispensable-pour-le-contact-recruteur-freelance).
  </Step>

  <Step title="Trackez les consultations">
    Envoyez un event à chaque consultation de profil par un recruteur.
    Voir [Whitelist et tracking](/tracking-obligations#2-tracking-obligation-contractuelle) (contractuel).
  </Step>
</Steps>

### Format des réponses

L'API retourne du **JSON** et utilise des codes HTTP standards :

| Code  | Signification                                                |
| ----- | ------------------------------------------------------------ |
| `200` | Requête réussie                                              |
| `201` | Ressource créée (POST freelances par IDs, whitelist, events) |
| `204` | Suppression réussie (pas de body)                            |
| `400` | Paramètres invalides (voir le champ `message`)               |
| `401` | Clé API manquante                                            |
| `403` | Clé API invalide ou accès refusé                             |

### Rate limiting

Pas de rate limiting strict. Nous recommandons **200 requêtes/minute maximum**.
Si vous avez besoin de plus, contactez-nous.

### Import dans votre client API

Le fichier OpenAPI est disponible pour import dans Postman, Insomnia, Bruno ou tout autre client :

```
https://documentation.client-p.pylote.io/openapi.yaml
```
