---
title: "Api Validate Pipeline"
method: POST
path: "/api/pipelines/validate"
tags: ["pipelines"]
---

# Api Validate Pipeline

`POST /api/pipelines/validate`

## Request

- Base URL: `https://outsend.xyz`
- URL: `https://outsend.xyz/api/pipelines/validate`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Dit si une définition serait acceptée par POST /api/pipelines, SANS rien
créer ni lancer.

Contrôle la structure (blocs, liaisons, config), puis ce que le lancement
contrôle : pays et zones des blocs scrap, coût estimé contre le seuil du
compte, place dans le quota de jobs simultanés. Toujours HTTP 200 :
`{ok: true, definition, summary}` ou `{ok: false, error, reason}` avec
`reason` = definition | same | zones | cost | busy ('busy' est passager).

`structure_only: true` s'arrête à la structure : c'est l'usage de l'éditeur
(import d'un JSON, que l'on corrige ensuite à l'écran).

## Request body

- PipelineValidateRequest: Body de POST /validate : une définition à normaliser + valider sans rien créer. `schema_version` optionnel (ignoré pour l'instant — réservé aux migrations futures de format).
  - `definition` object, required
  - `schema_version` integer
  - `structure_only` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/outsend/apis/outsend-api.md) · [All operations](https://skmtc.dev/outsend/apis/outsend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/outsend/apis/outsend-api/revisions/39db3c6f886a?raw)
