# GET /distributor-portal/out-of-territory

Vos unités repérées hors de votre territoire : comptes, pays, dates. Jamais de donnée personnelle ni de note interne.

Source : https://docs.sealtrust.io/reference/get-distributor-portal-out-of-territory/

---

Vous lisez les pays où des unités de votre distributeur ont été scannées hors
de votre territoire contractuel, avec un compte d'occurrences et les dates de
première et dernière observation.

⛔ Trois choses que cet appel ne rend jamais : le numéro de série de l'unité,
la note interne que la marque peut ajouter à une alerte gris marché
(`GrayMarketAlert.note`), et toute mention d'un autre distributeur. Ce que
vous lisez ici, ce sont des comptes, des pays et des dates — rien de plus.

⚠️ Votre marque décide si cet appel affiche quoi que ce soit. Jusqu'à ce
qu'elle active cette vue pour ses distributeurs, il répond une liste vide —
pas une erreur — car l'afficher sans condition renseignerait justement le
distributeur qu'une marque suspecte de fuite. Même une fois activée, une
alerte que la marque a déjà écartée, ou qu'elle enquête encore, ne vous
parvient jamais ici : seule une alerte que la marque lit comme « nouvelle »
ou « confirmée » l'est.

> [!INFO] Multi-marques : un `brand_id` à la fois
> Chez plusieurs marques, cet appel répond pour UNE SEULE marque
> (`brand_id`), jamais la fusion de toutes. L'activation (ci-dessus) est
> elle aussi par marque : une marque qui a activé la vue n'active rien chez
> les autres marques dont vous êtes le contact.

## Autorisation

Session d'un compte contact distributeur. Voir
[`GET /distributor-portal/me`](/reference/get-distributor-portal-me/).

## Plafond d'appels

30 appels par minute, partagé avec le reste du portail distributeur.

## Paramètres de requête

| Paramètre | Type | Description |
| --- | --- | --- |
| `brand_id` | `integer` | La marque à lire. Obligatoire si vous êtes un contact actif chez plusieurs marques ; optionnel sinon. |

## Requête d'exemple

```bash
curl -i "https://api.sealtrust.io/v1/distributor-portal/out-of-territory" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.0000000000000000000000000000.0000000000000000000000000000"
```

## Réponse d'exemple

```json
{
  "items": [
    {
      "country": "PL",
      "occurrences": 3,
      "first_seen_at": "2026-09-20T14:02:00Z",
      "last_seen_at": "2026-10-04T11:17:00Z"
    }
  ],
  "total_alerts": 1,
  "total_occurrences": 3
}
```

### Les champs de la réponse

| Champ | Type | Description |
| --- | --- | --- |
| `items` | `array` | Une entrée par pays où une alerte a été ouverte sur une unité de votre distributeur. |
| `items[].occurrences` | `integer` | Nombre d'observations cumulées pour ce pays, alertes repliées comprises. |
| `total_alerts` | `integer` | Nombre d'alertes distinctes (une alerte par unité et par pays). |
| `total_occurrences` | `integer` | Somme des observations, toutes alertes confondues. |

Une liste vide veut dire qu'aucune unité de votre distributeur n'a encore été
repérée hors de son territoire.

## Erreurs

| Code | Condition | Que faire |
| --- | --- | --- |
| 401 | Jeton absent, illisible ou expiré. | Reconnectez-vous. |
| 403 | Compte sans aucun accès distributeur actif, à aucune marque. | Voir [`GET /distributor-portal/me`](/reference/get-distributor-portal-me/). |
| 400 | Plusieurs marques accessibles et `brand_id` omis. | Appelez [`GET /distributor-portal/brands`](/reference/get-distributor-portal-brands/) et précisez `brand_id`. |
| 404 | `brand_id` donné, mais sans contact actif pour cette marque (y compris une marque qui n'existe pas). | Vérifiez l'identifiant. |
| 429 | Plafond d'appels dépassé. | Attendez le délai de `Retry-After`. |
