RikaidoDeveloper

POST /v1/harness/validate

Vérifier une recette

Le harnais juge la recette que tu lui envoies, sous les contraintes que tu nommes. Il ne garde rien.

POSThttps://api.rikaido.app/v1/harness/validate

La requête

Un objet recipe — un titre, des ingrédients chiffrés, des étapes dans l’ordre — et, si tu veux, les contraintes sous lesquelles juger.

recipe.titlestring · requis
Le nom du plat. Sert à classer la recette avant de la juger.
recipe.cuisinestring
Un indice pour le classement.
recipe.ingredients[]{ name, quantity, unit, optional? } · requis
Une ligne par ingrédient, la quantité en texte, telle qu’écrite. « une pincée » est lue ; « au goût » sur un ingrédient structurel est vague, et noté.
recipe.steps[]{ instruction, tempC? } · requis
Dans l’ordre. Donne la température en nombre quand l’étape en a une : le harnais la vérifie parce qu’elle est là, pas parce qu’une regex l’a devinée.
recipe.teaches[]string[]
Les techniques que la recette dit enseigner, en slugs. Un slug que le lexique ne tient pas est nommé, puis retiré.
constraints.allergies[]string[]
Neuf allergènes, en français ou en anglais : arachide, noix, lait, œuf, blé, soya, poisson, fruits de mer, sésame.
constraints.dietaryPrefs[]string[]
Cinq diètes : végétarien, végétalien, sans gluten, halal, casher.
constraints.exclusions[]string[]
N’importe quel aliment nommé — « coriandre », « porc », « olives ». Appliqué aussi fort qu’une allergie.
titleHintstring
La phrase de la personne, quand il y en a une. Sert seulement au classement.

La réponse

200
{
  "ok": true,
  "safe": true,
  "issues": [],
  "classification": { "category": "savory", "baked": false },
  "constraints": { "allergies": ["arachide"], "dietaryPrefs": [], "exclusions": [] },
  "feedback": ""
}
okboolean
Aucun avis de sévérité error.
safeboolean
Aucun avis de sécurité. false : ne sers pas.
issues[]Issue[]
Un par chose à corriger. Voir Lire la réponse et Les codes.
classification{ category, baked }
savory, bread, enriched-bread, quick-bread, cake, cookie, pastry, batter, pasta ou unclassified.
constraintsobject
Ce qui a été appliqué, répété.
feedbackstring
Vide quand il n’y a rien à corriger ; sinon la même consigne de correction que Rikaido renvoie à son propre modèle.

L’en-tête Rikaido-Usage-Op: validate accompagne chaque réponse comptée.

Les erreurs

CodeQuand
400recipe n’a pas de titre, d’ingrédients ou d’étapes.
401Clé inconnue ou révoquée.
402Les appels offerts du mois sont utilisés et aucune carte n’est au dossier.
429Plus de 60 appels dans la minute.

Ce que ça coûte

0,005 $ l’appel, en dollars canadiens. Cette route est pure — pas de modèle, pas de réseau — et répond en quelques millisecondes.