# Compte

Le jeton, son équipe, son offre et sa consommation.

## Décrire le jeton courant

`GET /v1/me`

Rend le jeton, le membre qui le porte, l’équipe pour laquelle il agit, l’offre que le serveur résout à cet instant et les verbes de l’API qu’elle ouvre. C’est le premier appel de toute intégration.

- Scopes requis: -
- Coût en débit: 1 unité(s)

### Réponses

- `200`: The current token and its context.
- `401`: Missing, invalid or expired token, or a member who left the team.
- `403`: The plan does not include the API (`api.not_in_plan`) or this verb
(`api.write_not_in_plan`), or the token lacks a scope
(`token.missing_scope`).

- `429`: The plan rate limit is exhausted for one window.

### Exemple de requête (cURL)

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

### Exemple de réponse

```json
{
    "data": {
        "token": {
            "id": "0190f5a2-7c4e-7b1a-9d3e-2f6b8c1a4e57",
            "name": "Exemple",
            "scopes": [
                "string"
            ],
            "expires_at": "2026-10-01T09:30:00Z",
            "last_used_at": "2026-10-01T09:30:00Z",
            "created_at": "2026-10-01T09:30:00Z"
        },
        "user": {
            "name": "Exemple",
            "email": "dev@exemple.fr"
        },
        "team": {
            "slug": "string",
            "name": "Exemple"
        },
        "plan": {
            "key": "string",
            "label": "string"
        },
        "api_access": [
            "read"
        ]
    }
}
```

## Lire les débits et les quotas de l’offre

`GET /v1/usage`

Rend la consommation de chaque fenêtre de débit, en unités de coût, et les quotas de l’équipe (projets, crawls du mois, mots-clés suivis…), les mêmes jauges que l’écran Consommation. Une `limit` à `null` signifie **illimité** ; `0` signifie **non inclus dans l’offre**. Ne lisez jamais `null` comme zéro.

- Scopes requis: -
- Coût en débit: 1 unité(s)

### Réponses

- `200`: Rate limits and quotas.
- `401`: Missing, invalid or expired token, or a member who left the team.
- `403`: The plan does not include the API (`api.not_in_plan`) or this verb
(`api.write_not_in_plan`), or the token lacks a scope
(`token.missing_scope`).

- `429`: The plan rate limit is exhausted for one window.

### Exemple de requête (cURL)

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

### Exemple de réponse

```json
{
    "data": {
        "rate_limits": [
            {
                "window": "minute",
                "window_seconds": 42,
                "unit": "cost",
                "limit": 100,
                "used": 42,
                "remaining": 100,
                "resets_in_seconds": 42
            }
        ],
        "quotas": [
            {
                "entitlement": "string",
                "used": 42,
                "limit": 100,
                "remaining": 100
            }
        ]
    }
}
```

## Lister les opérations en cours

`GET /v1/operations`

Ce qui tourne en ce moment pour l’équipe : crawls, recherches de mots-clés, scans de sécurité, pré-vols de projet et synchronisations de backlinks, du plus récent au plus ancien. Une opération dont plus rien ne s’occupe n’est jamais annoncée en cours. La liste est plafonnée ; `meta.total` dit combien il y en a. Les analyses de journaux, recommandations et analyses sémantiques n’y figurent pas : lisez leurs propres ressources.

- Scopes requis: `projects:read`
- Coût en débit: 1 unité(s)

### Réponses

- `200`: OK.
- `401`: Missing, invalid or expired token, or a member who left the team.
- `403`: The plan does not include the API (`api.not_in_plan`) or this verb
(`api.write_not_in_plan`), or the token lacks a scope
(`token.missing_scope`).

- `429`: The plan rate limit is exhausted for one window.

### Exemple de requête (cURL)

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

### Exemple de réponse

```json
{
    "data": [
        {
            "kind": "crawl",
            "project_id": "0190f5a2-7c4e-7b1a-9d3e-2f6b8c1a4e57",
            "started_at": "2026-10-01T09:30:00Z",
            "crawl": {
                "id": "0190f5a2-7c4e-7b1a-9d3e-2f6b8c1a4e57",
                "stage": "string",
                "progress": 42,
                "pages_crawled": 42,
                "page_budget": 42
            }
        }
    ],
    "meta": {
        "total": 42,
        "shown": 42
    }
}
```
