List all of the caller's tasks across every agent.
Cross-agent task list (P2-B). Returns every task channel the caller owns, newest first — the unified “my tasks” view for SDKs that need to render a multi-agent inbox without fanning out per-agent.
Same wire shape and next_since pagination as the
per-agent variant at
GET /api/v1/agents/{agentId}/tasks. Filtering an existing
per-agent call is equivalent to passing agent_id
explicitly.
Authorization: the caller’s owner_id is the only ACL
gate. Tasks fan out across agents the caller has invoked,
whether or not they still have visibility on those agents
today — possession of the task row itself proves access at
submit time.
Only protocol=openapi channels surface here. Long-running
conversations live at GET /api/v1/agents/{agentId}/conversations
and are not mixed in to keep status semantics stable (tasks
have a deadline; conversations don’t).
Authorizations
Pass a user JWT or a oag_ User API Key on the
Authorization: Bearer <token> header. Both are validated by
openapi-gateway against the Auth service.
Both credential types are user-scoped: every key (and every JWT) is bound to exactly one owner, and every route grants the caller full access to that owner's own resources. Cross-tenant access is denied by owner-ACL inside the handlers — there is no per-route scope vocabulary on this API.
Removed in v1.1.0: the legacy
agents:*/tasks:*/files:*/instances:*scope set has been dropped together with the403 insufficient_scopeerror. Existingoag_keys automatically gain full owner-level access and do not need to be re-issued. SDK calls that previously passedscopestocreateAPIKeyshould drop the argument. See the changelog at the bottom of this spec for the full migration note.
Query Parameters
Narrow the result to a single agent. Equivalent to
calling GET /agents/{agentId}/tasks directly; kept on
this endpoint so callers can collapse their pagination
logic across the "all agents" and "single agent" paths.
128Filter by channel state. active is the legacy wire
alias for v2's open; all returns both. Default:
active.
active, open, closed, all Opaque pagination cursor from the previous page's next_since.
1 <= x <= 100