{"slug":"triage/13-API_REFERENCE","title":"13 — API Reference","section":"triage","sectionLabel":"Triage","status":"canon","type":"document","path":"triage/13-API_REFERENCE.mdx","bytes":3382,"description":"API reference for the triage system's intake, classification, and staging endpoints.","updated":"2026-08-24","source":"integratewise/Integratewise-docs-wiki","content":"\n\nAll triage-related endpoints across the platform.\n\n## Knowledge Service\n\n### GET /v1/knowledge/inbox\n\nList triage items awaiting human review.\n\n**Headers:** `x-tenant-id` (required)\n**Query:** `limit` (default 50, max 100), `offset`\n**Response:** Items with `approval_status IN ('pending', 'deferred')`\n\n### PATCH /v1/knowledge/triage/:id\n\nHuman decision boundary for triage items.\n\n**Headers:** `x-tenant-id` (required), `x-user-id` (required)\n**Body:**\n```json\n{\n  \"action\": \"approve|discard|defer\",\n  \"reason\": \"Optional reason string\"\n}\n```\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"triage-item-id\",\n    \"approval_status\": \"approved|discarded|deferred\",\n    \"action\": \"approve\",\n    \"approved_by\": \"user-id\",\n    \"approved_at\": \"2026-08-24T...\"\n  }\n}\n```\n\n### POST /v1/triage/session\n\nClassify and stage a session for triage. Called by MCP Connector.\n\n**Headers:** `x-tenant-id` (required)\n**Body:**\n```json\n{\n  \"session_id\": \"uuid\",\n  \"summary\": \"Session summary text\",\n  \"memories\": [{\"text\": \"optional memory excerpt\"}]\n}\n```\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"session_id\": \"uuid\",\n    \"priority\": \"medium\",\n    \"category\": \"general\",\n    \"sentiment\": \"neutral\",\n    \"reasoning\": \"...\",\n    \"approval_status\": \"pending\"\n  }\n}\n```\n\n### GET /v1/triage/approved\n\nList approved triage items for Memory Consolidator.\n\n**Headers:** `x-tenant-id` (required)\n**Query:** `start_time`, `end_time`, `limit` (default 100, max 500)\n**Response:** Items with `approval_status = 'approved'`\n\n### POST /v1/triage/run\n\nManually trigger a triage consolidation cycle.\n\n**Headers:** `x-tenant-id` (required)\n**Body:**\n```json\n{\n  \"type\": \"hourly|daily|weekly\"\n}\n```\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"status\": \"completed\",\n    \"type\": \"hourly\",\n    \"input_items\": 15,\n    \"categories\": [\"sales\", \"engineering\"],\n    \"consolidated_memories\": 3\n  }\n}\n```\n\n### GET /v1/triage/status\n\nGet triage pipeline status.\n\n**Headers:** `x-tenant-id` (required)\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"tenant_id\": \"...\",\n    \"total_sessions\": 150,\n    \"total_consolidated_memories\": 25,\n    \"recent_promotions_24h\": 5,\n    \"triage_pipeline\": [\"extract\", \"validate\", \"dedup\", \"score\", \"classify\", \"promote\"]\n  }\n}\n```\n\n## IQ Hub (Knowledge Service)\n\n### POST /conversations/:id/archive\n\nArchive a conversation and trigger memory extraction.\n\n**Headers:** `x-tenant-id`, `x-user-id` (both required)\n**Query:** `extract_memories` (default true)\n**Response:**\n```json\n{\n  \"success\": true,\n  \"memories_extracted\": 3,\n  \"memory_ids\": [\"uuid1\", \"uuid2\", \"uuid3\"]\n}\n```\n\n### GET /sessions\n\nList sessions for Memory Consolidator.\n\n**Headers:** `x-tenant-id` (required)\n**Query:** `start_time`, `end_time`, `limit`\n**Response:**\n```json\n{\n  \"items\": [{\"id\": \"...\", \"tenant_id\": \"...\", \"content\": \"...\"}]\n}\n```\n\n## Memory Consolidator\n\n### POST /trigger/:type\n\nManually trigger consolidation.\n\n**Path:** `type` = hourly | daily | weekly\n**Response:**\n```json\n{\n  \"status\": \"queued\",\n  \"task\": {\"type\": \"hourly\", \"start_time\": \"...\", \"end_time\": \"...\"}\n}\n```\n\n### GET /status\n\nGet consolidator status including last run times and locks.\n"}