---
title: "JSON-RPC 2.0 Endpoint"
method: POST
path: "/"
tags: ["JSON-RPC"]
---

# JSON-RPC 2.0 Endpoint

`POST /`

Main JSON-RPC 2.0 endpoint supporting multiple methods:
- message/send: Send messages to agent
- message/stream: Stream messages from agent
- tasks/get: Get task status
- tasks/list: List all tasks
- tasks/cancel: Cancel a task
- tasks/feedback: Submit feedback for a task
- contexts/list: List conversation contexts
- contexts/clear: Clear a context

## Request body

- union
  - MessageSendRequest
    - `jsonrpc` '2.0', required
    - `method` 'message/send', required
    - `params` object, required
      - `message` Message, required
        - `role` 'user' | 'agent', required
        - `parts` MessagePart[], required
          - `kind` 'text' | 'file' | 'data', required
          - `text` string — Text content (for kind=text)
          - `file` object — File reference (for kind=file)
          - `data` object — Structured data (for kind=data)
        - `kind` 'message', required
        - `messageId` string, uuid, required
        - `contextId` string, uuid, required
        - `taskId` string, uuid, required
        - `referenceTaskIds` string[] — References to previous tasks in the conversation
        - `metadata` object — Additional metadata (e.g., payment information)
      - `configuration` Configuration
        - `acceptedOutputModes` string[] — Accepted MIME types for output
    - `id` string, required — Request identifier
  - TasksGetRequest
    - `jsonrpc` '2.0', required
    - `method` 'tasks/get', required
    - `params` object, required
      - `taskId` string, uuid, required
    - `id` string, required
  - TasksListRequest
    - `jsonrpc` '2.0', required
    - `method` 'tasks/list', required
    - `params` object, required
      - `limit` integer
      - `offset` integer
    - `id` string, required
  - TasksCancelRequest
    - `jsonrpc` '2.0', required
    - `method` 'tasks/cancel', required
    - `params` object, required
      - `taskId` string, uuid, required
    - `id` string, required
  - TasksFeedbackRequest
    - `jsonrpc` '2.0', required
    - `method` 'tasks/feedback', required
    - `params` object, required
      - `taskId` string, uuid, required
      - `feedback` string, required
      - `rating` integer
      - `metadata` object
    - `id` string, required
  - ContextsListRequest
    - `jsonrpc` '2.0', required
    - `method` 'contexts/list', required
    - `params` object, required
      - `length` integer
    - `id` string, required
  - ContextsClearRequest
    - `jsonrpc` '2.0', required
    - `method` 'contexts/clear', required
    - `params` object, required
      - `contextId` string, uuid, required
    - `id` string, required

## Response `200`

Successful JSON-RPC response

- union
  - JsonRpcSuccessResponse
    - `jsonrpc` '2.0', required
    - `result` object, required — Method-specific result
    - `id` string, required
  - JsonRpcErrorResponse
    - `jsonrpc` '2.0', required
    - `error` object, required
      - `code` integer, required — JSON-RPC error code
      - `message` string, required — Error message
      - `data` object — Additional error data
    - `id` string, required

---

[API](https://skmtc.dev/getbindu/apis/bindu-agent-api.md) · [All operations](https://skmtc.dev/getbindu/apis/bindu-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getbindu/bindu-agent-api/revisions/1e87902ca86d/schema)
