skipLink.label

HTTP API

Ishlaydi

SDK Python uchun. Boshqa tilda ishlayotgan bo’lsangiz — to’g’ridan-to’g’ri HTTP.

Ijro yaratish

heading.anchorLabel
POST /v1/executions
Authorization: Bearer <service-JWT>
Content-Type: application/json
{
"tenant_id": "bank-uz",
"actor": { "type": "user", "id": "u-42" },
"input": { "text": "Kartani bloklang, oxirgi 4 raqam 7731" },
"agent_id": "card-support",
"idempotency_key": "buyurtma-2026-08-12-0001"
}

Majburiy: tenant_id · actor · input.

{
"execution_id": "exe_0123…",
"status": "created",
"thread_id": "thr_0f3c9d"
}

Holatni olish

heading.anchorLabel
GET /v1/executions/{execution_id}
Authorization: Bearer <service-JWT>
{
"execution_id": "exe_0123…",
"status": "completed",
"operations": [
{
"operation_id": "op_77…",
"capability_id": "sales.order.create",
"status": "VERIFIED",
"resource_ref": "deal:10001",
"verification_method": "read_after_write",
"verification_evidence": "closed=N"
}
]
}

status va operations[].statusayrim javoblar. Nega.

GET /v1/executions/{execution_id}/stream
Accept: text/event-stream

Har holat o’zgarishida hodisa keladi. Ulanish uzilsa — GET bilan joriy holatni oling va qaytadan ulanning.

Idempotentlik

heading.anchorLabel
Holat Natija
Ayni kalit + ayni tana Mavjud ijro qaytadi (200) — yangi effekt yo’q
Ayni kalit + boshqa tana 409 — jim ustiga yozish yo’q

⚠ Har mantiqiy amal uchun barqaror kalit yuboring. Batafsil.

Xato konverti

heading.anchorLabel
{
"error": {
"code": "rate_limited",
"message": "",
"retryable": false
}
}

Maydon nomi code, type emas. Ichki detallar (host, URL, sir, stack) hech qachon chiqmaydi.

Izoh
gRPC Rejada yo’q
Mijozga WebSocket Faqat ichki kanal va ovoz qatlamida
Webhook (chiqish) ⏳ hali yo’q — hozircha SSE yoki polling

Keyingi qadam

heading.anchorLabel