Skip to content

POST /v1/chat/resume

Usage

Cet endpoint reprend une execution apres une demande d’approbation d’outils.

Requete

http
POST /v1/chat/resume
Authorization: Bearer km_your_token_here
Content-Type: application/json

Exemple minimal

json
{
  "model": "group:123e4567-e89b-12d3-a456-426614174000",
  "approval_id": "86dd028d-6f5c-4f13-83db-d4fe9bc5b865",
  "approved_tool_execution_ids": [
    "1fb2fd25-8f78-412a-a0b8-7976e3700fc4"
  ],
  "messages": [
    {
      "role": "user",
      "content": "Cree le ticket."
    }
  ]
}

Champs supplementaires

En plus des champs de POST /v1/chat/completions, cet endpoint accepte:

ChampTypeObligatoireNotes
approval_idstringouiUUID retourne lors de l’approbation
approved_tool_execution_idsarray<string>nonUUID des outils approuves, jusqu’a 200 valeurs
denied_toolsarray<object>nonliste des outils refuses avec raison optionnelle, jusqu’a 200 valeurs

Refuser un outil

Exemple avec refus:

json
{
  "model": "group:123e4567-e89b-12d3-a456-426614174000",
  "approval_id": "86dd028d-6f5c-4f13-83db-d4fe9bc5b865",
  "denied_tools": [
    {
      "tool_execution_id": "1fb2fd25-8f78-412a-a0b8-7976e3700fc4",
      "reason": "Action non validee par l’utilisateur"
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": "N’execute pas cette action."
    }
  ]
}

Reponse

La reponse suit les memes principes que POST /v1/chat/completions:

  • JSON standard si stream est absent ou vaut false
  • SSE si stream vaut true
  • retour possible d’un nouveau tool_calls si un autre tour d’approbation est requis

Points d’attention

  • reservez toujours approval_id tant que le flux n’est pas termine
  • transmettez uniquement les tool_execution_id concernes par la demande recue
  • gardez denied_tools[].reason sous 2000 caracteres quand une raison est fournie
  • appliquez les memes regles de model, metadata.mode et raisonnement que pour POST /v1/chat/completions
  • conservez une logique claire entre approbation et refus cote client