Skip to main content
POST

Autorisations

Authorization
string
header
requis

Clé d'intégration préfixée nbq_live_, envoyée dans Authorization: Bearer nbq_live_… et résolue par l'authorizer Lambda de l'API Gateway publique. L'authorizer valide la clé, puis injecte en amont du service les headers de contexte x-tenant-id, x-nbq-id et x-scopesx-scopes étant la liste des scopes de la clé séparés par des virgules, par exemple runtime,configuration:read.

Ces headers ne sont jamais acceptés depuis le client : toute valeur entrante est écrasée. Une clé absente ou invalide produit 401 au niveau de la passerelle ; une clé valide sans le scope requis produit 403 avec le code insufficient_scope.

En-têtes

Idempotency-Key
string
requis

Clé unique par mutation logique, choisie par l'appelant.

Même clé et même corps renvoient exactement la réponse d'origine, sans rejouer l'effet : aucun retry ne double turn_count, un outcome, un événement, un feedback ou une publication. Même clé avec un corps différent produit 409 idempotency_key_reused.

Les enregistrements sont isolés par tenant et par opération, et sont purgés après 24 heures. Passé ce délai, la même clé est traitée comme neuve.

Required string length: 8 - 128

Corps

application/json

Le client ne choisit ni la version de configuration, ni une politique d'accusé de réception : la session épingle en interne la version publiée active au moment de sa création.

client_reference
string

Référence opaque de l'intégrateur, renvoyée telle quelle pour corrélation.

Required string length: 1 - 128
max_turns
integer

Surcharge la limite souple définie dans la configuration. Atteindre cette limite ne coupe pas la conversation : /next continue de proposer la meilleure question avec un avertissement.

Plage requise: 1 <= x <= 100
initial_history
object[]

Historique de reprise, consommé une seule fois en mémoire pour construire l'état initial. Jamais persisté, jamais renvoyé.

Maximum array length: 100

Réponse

Session créée.

request_id
string
requis
session_id
string
requis
client_reference
string | null
requis
status
enum<string>
requis
Options disponibles:
active,
completed,
stopped
turn_count
integer
requis
Plage requise: x >= 0
max_turns
integer
requis
Plage requise: x >= 1
turns_remaining
integer
requis
Plage requise: x >= 0
question_state
object
requis

Aucun index asked_ids, answered_ids ou refused_ids n'est persisté ni exposé : ces ensembles se reconstruisent depuis outcomes.

targets
object
requis

État sparse : seules les cibles réellement touchées sont présentes. Une cible absente est inconnue et sans couverture.

progress
object
requis
pending_decision
object | null
requis

Décision proposée et pas encore résolue. Les candidats sont réhydratés depuis la configuration épinglée : après un crash, relire la session suffit pour reprendre exactement où l'on s'était arrêté. Aucun jeton de reprise n'existe.

degraded
boolean
requis
versions
object
requis

La version de configuration épinglée par la session n'est pas exposée : le client ne la choisit pas et ne doit pas s'y adosser.