# prescriptio_chemin

Chercher des chemins de relation entre deux SIREN, sur un maximum de trois liens. Exploration bornée de l'index de réseaux, avec étapes, types de liens et couverture : ce n'est pas un inventaire exhaustif de tous les intermédiaires. Un chemin indirect est une piste, pas la preuve que ses extrémités ont travaillé ensemble ou qu'une introduction est possible. Examiner chaque paire avec prescriptio_relation. Si aucun chemin n'est trouvé, conserver les limites renvoyées ; ne pas conclure à l'absence de relation.

État : implémenté ; distribution : historique uniquement ; offre payante : true ; effets : lecture.

## Entrée MCP

```json
{
  "additionalProperties": false,
  "properties": {
    "max_depth": {
      "default": 3,
      "description": "Nombre maximal de liens entre départ et arrivée ; 1 = relation directe uniquement.",
      "maximum": 3,
      "minimum": 1,
      "type": "integer"
    },
    "siren": {
      "description": "SIREN de l'organisation de départ.",
      "pattern": "^[0-9]{9}$",
      "type": "string"
    },
    "target": {
      "description": "SIREN de l'organisation à atteindre.",
      "pattern": "^[0-9]{9}$",
      "type": "string"
    }
  },
  "required": [
    "siren",
    "target"
  ],
  "type": "object"
}
```

## Sortie MCP

```json
{
  "properties": {
    "action": {
      "type": "string"
    },
    "download_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "fields": {
      "type": "object"
    },
    "files": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "ok": {
      "type": "boolean"
    },
    "page": {
      "type": [
        "integer",
        "null"
      ]
    },
    "pages_total": {
      "type": [
        "integer",
        "null"
      ]
    },
    "quota": {
      "type": "object"
    },
    "texte": {
      "description": "Contenu textuel (pièce de DCE, PV…).",
      "type": "string"
    }
  },
  "type": "object"
}
```

[Contrats externes et limites](/docs/reference/concepts.md).
