---
title: "Run Message Workflow"
method: POST
path: "/a2a/workflows/{id}/v1/message:send"
tags: ["A2A"]
---

# Run Message Workflow

`POST /a2a/workflows/{id}/v1/message:send`

Send a message to an Agno Workflow (non-streaming). The Workflow is identified via the path parameter '{id}'. Optional: Pass user ID via X-User-ID header (recommended) or 'userId' in params.message.metadata.

## Path parameters

- `id` string, required

## Response `200`

Message sent successfully

- SendMessageSuccessResponse — Represents a successful JSON-RPC response for the `message/send` method.
  - `id` union
    - string
    - integer
  - `jsonrpc` '2.0'
  - `result` union, required
    - Task — Represents a single, stateful operation or conversation between a client and an agent.
      - `artifacts` Artifact[], nullable
        - `artifactId` string, required
        - `description` string, nullable
        - `extensions` string[], nullable
        - `metadata` object, nullable
        - `name` string, nullable
        - `parts` Part[], required
          - union
            - TextPart — Represents a text segment within a message or artifact.
              - …
            - FilePart — Represents a file segment within a message or artifact. The file content can be provided either directly as bytes or as a URI.
              - …
            - DataPart — Represents a structured data segment (e.g., JSON) within a message or artifact.
              - …
      - `contextId` string, required
      - `history` Message[], nullable
        - `contextId` string, nullable
        - `extensions` string[], nullable
        - `kind` 'message'
        - `messageId` string, required
        - `metadata` object, nullable
        - `parts` Part[], required
          - union
            - TextPart — Represents a text segment within a message or artifact.
              - …
            - FilePart — Represents a file segment within a message or artifact. The file content can be provided either directly as bytes or as a URI.
              - …
            - DataPart — Represents a structured data segment (e.g., JSON) within a message or artifact.
              - …
        - `referenceTaskIds` string[], nullable
        - `role` 'agent' | 'user', required — Identifies the sender of the message. `user` for the client, `agent` for the service.
        - `taskId` string, nullable
      - `id` string, required
      - `kind` 'task'
      - `metadata` object, nullable
      - `status` TaskStatus, required — Represents the status of a task at a specific point in time.
        - `message` Message — Represents a single message in the conversation between a user and an agent.
          - `contextId` string, nullable
          - `extensions` string[], nullable
          - `kind` 'message'
          - `messageId` string, required
          - `metadata` object, nullable
          - `parts` Part[], required
            - union
              - …
          - `referenceTaskIds` string[], nullable
          - `role` 'agent' | 'user', required — Identifies the sender of the message. `user` for the client, `agent` for the service.
          - `taskId` string, nullable
        - `state` 'submitted' | 'working' | 'input-required' | 'completed' | 'canceled' | 'failed' | 'rejected' | 'auth-required' | 'unknown', required — Defines the lifecycle states of a Task.
        - `timestamp` string, nullable
    - Message — Represents a single message in the conversation between a user and an agent.
      - `contextId` string, nullable
      - `extensions` string[], nullable
      - `kind` 'message'
      - `messageId` string, required
      - `metadata` object, nullable
      - `parts` Part[], required
        - union
          - TextPart — Represents a text segment within a message or artifact.
            - `kind` 'text'
            - `metadata` object, nullable
            - `text` string, required
          - FilePart — Represents a file segment within a message or artifact. The file content can be provided either directly as bytes or as a URI.
            - `file` union, required
              - …
            - `kind` 'file'
            - `metadata` object, nullable
          - DataPart — Represents a structured data segment (e.g., JSON) within a message or artifact.
            - `data` object, required
            - `kind` 'data'
            - `metadata` object, nullable
      - `referenceTaskIds` string[], nullable
      - `role` 'agent' | 'user', required — Identifies the sender of the message. `user` for the client, `agent` for the service.
      - `taskId` string, nullable

## Other responses

- `400` — Invalid request
- `404` — Workflow not found
- `422` — Validation Error

---

[API](https://skmtc.net/agno/apis/agno-api-reference.md) · [All operations](https://skmtc.net/agno/apis/agno-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agno/agno-api-reference/versions/5f6149d395d0/schema)
