Skip to content

Latest commit

 

History

History
75 lines (48 loc) · 1.23 KB

File metadata and controls

75 lines (48 loc) · 1.23 KB

API

All API responses are JSON unless noted. Authenticated endpoints require:

Authorization: Bearer <supabase_access_token>

Sessions

POST /api/research/sessions

Creates a research session.

Request:

{ "query": "Research AI agent evaluation systems" }

Response:

{ "session": { "id": "...", "status": "draft", "phase": "intake" } }

GET /api/research/sessions

Lists sessions for the authenticated user.

GET /api/research/sessions/:id

Returns session detail with sources, evaluations, learnings, events, and report.

POST /api/research/sessions/:id/run

Runs the research pipeline for an owned session.

POST /api/research/sessions/:id/approval

Records approval, rejection, or follow-up request.

Request:

{
  "action": "approve",
  "notes": "Sources look good.",
  "approvedSourceIds": ["src_abc"]
}

GET /api/research/sessions/:id/events

Returns server-sent event formatted run events.

Reports

GET /api/reports/:id/export.md

Exports the session report as markdown.

Errors

Errors use a consistent envelope:

{
  "error": {
    "code": "validation_error",
    "message": "The request payload is invalid.",
    "details": {}
  }
}