# Démarrage rapide

> Créez un jeton, faites votre premier appel à l’API NessFlow et lancez un crawl, en quelques minutes.

L’API NessFlow est une API REST qui parle JSON. Elle expose ce que fait le produit : projets, campagnes, crawls, rapports, exports, suivi de positions et webhooks.

## Créer un jeton

Ouvrez l’écran **API** de votre équipe, dans les paramètres d’équipe, puis **Créer un jeton**. Choisissez ses scopes (ce qu’il a le droit de lire ou de faire) et sa durée de vie. Le jeton commence par `nf_` et n’est affiché qu’une fois : rangez-le dans votre gestionnaire de secrets.

Les exemples de cette documentation lisent le jeton dans la variable d’environnement `NESSFLOW_TOKEN` :

```bash
export NESSFLOW_TOKEN="collez votre jeton ici"
```

## Premier appel

`GET /v1/me` décrit le jeton, l’équipe pour laquelle il agit et ce que votre offre ouvre :

```bash
curl "https://api.nessflow.com/v1/me" \
  -H "Authorization: Bearer $NESSFLOW_TOKEN"
```

La réponse rend notamment `api_access`, la liste des verbes ouverts par votre offre (`read`, et `write` à partir de l’offre Pro).

## Lister vos projets

```bash
curl "https://api.nessflow.com/v1/projects" \
  -H "Authorization: Bearer $NESSFLOW_TOKEN"
```

Chaque projet porte un identifiant `id` (un UUID) : c’est lui que les autres opérations attendent.

## Lancer un crawl

Un crawl se lance sur une **campagne** du projet. Lancer un crawl consomme un crawl de votre quota mensuel : l’en-tête `Idempotency-Key` est donc exigé, pour qu’une relance après un délai dépassé ne lance jamais un second crawl.

```bash
curl -X POST "https://api.nessflow.com/v1/campaigns/$CAMPAIGN_ID/crawls" \
  -H "Authorization: Bearer $NESSFLOW_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"
```

L’API répond `202` avec le crawl à suivre. Sondez `GET /v1/crawls/{id}` tant que `active` vaut `true`, ou abonnez un webhook à `crawl.completed` pour être prévenu.

## Et ensuite

- l’authentification et les scopes, en détail ;
- la référence complète de chaque opération ;
- les webhooks, pour ne plus sonder.
