---
title: "Get A2A v1 task"
method: GET
path: "/v2/agents/{agent_key}/tasks/{task_id}"
tags: ["A2A Protocol"]
---

# Get A2A v1 task

`GET /v2/agents/{agent_key}/tasks/{task_id}`

Returns the current state of an A2A task in the v1 wire format, including its status, conversation history, and any produced artifacts.

## Path parameters

- `agent_key` string, required — A unique key that identifies an agent.
- `task_id` string, required

## Query parameters

- `historyLength` integer

## Headers

- `Request-Timeout` integer
- `Request-Timeout-Millis` integer

## Response `200`

The current state of the task.

- A2aV1Task — A v1 unit of work executed by the agent.
  - `id` string, required — Unique identifier of the task.
  - `contextId` string — Identifier of the conversation context the task belongs to.
  - `status` A2aV1TaskStatus, required — Current status of a v1 task.
    - `state` 'TASK_STATE_UNSPECIFIED' | 'TASK_STATE_SUBMITTED' | 'TASK_STATE_WORKING' | 'TASK_STATE_COMPLETED' | 'TASK_STATE_FAILED' | 'TASK_STATE_CANCELED' | 'TASK_STATE_INPUT_REQUIRED' | 'TASK_STATE_REJECTED' | 'TASK_STATE_AUTH_REQUIRED', required — The A2A v1 task lifecycle state. `TASK_STATE_CANCELED` uses the US spelling (one L), as defined in the A2A v1 specification.
    - `message` A2aV1Message — A v1 unit of communication between client and agent. The `parts` field carries the message parts.
      - `messageId` string, required — Unique identifier for this message, set by the sender.
      - `contextId` string, nullable — Identifier of the conversation context this message belongs to.
      - `taskId` string, nullable — Identifier of the task this message is associated with.
      - `role` 'ROLE_UNSPECIFIED' | 'ROLE_USER' | 'ROLE_AGENT', required — The sender role in an A2A v1 message.
      - `parts` A2aV1Part[], required — Message content parts.
        - `text` string, nullable — Plain-text content.
        - `raw` string, byte, nullable — Inline base64-encoded raw bytes.
        - `url` string, nullable — URL pointing to the file's content.
        - `data` unknown
        - `metadata` object, nullable — Arbitrary metadata associated with this part.
        - `filename` string, nullable — Name of the file, when this part carries a file.
        - `mediaType` string, nullable — Media type of the part's content.
      - `metadata` object, nullable — Arbitrary sender-supplied metadata.
      - `extensions` string[], nullable — URIs of A2A extensions this message activates.
      - `referenceTaskIds` string[], nullable — Identifiers of tasks referenced by this message.
    - `timestamp` string, date-time, nullable — ISO 8601 timestamp of the transition into this state.
  - `artifacts` A2aV1Artifact[], nullable — Artifacts produced by the task.
    - `artifactId` string, required — Unique identifier for this artifact, stable across appended updates.
    - `name` string, nullable — Human-readable name of the artifact.
    - `description` string, nullable — Human-readable description of the artifact's contents.
    - `parts` A2aV1Part[], required — The content parts that make up this artifact.
      - `text` string, nullable — Plain-text content.
      - `raw` string, byte, nullable — Inline base64-encoded raw bytes.
      - `url` string, nullable — URL pointing to the file's content.
      - `data` unknown
      - `metadata` object, nullable — Arbitrary metadata associated with this part.
      - `filename` string, nullable — Name of the file, when this part carries a file.
      - `mediaType` string, nullable — Media type of the part's content.
    - `metadata` object, nullable — Arbitrary agent-supplied metadata for the artifact.
    - `extensions` string[], nullable — URIs of A2A extensions associated with this artifact.
  - `history` A2aV1Message[], nullable — Conversation messages exchanged during the task.
    - `messageId` string, required — Unique identifier for this message, set by the sender.
    - `contextId` string, nullable — Identifier of the conversation context this message belongs to.
    - `taskId` string, nullable — Identifier of the task this message is associated with.
    - `role` 'ROLE_UNSPECIFIED' | 'ROLE_USER' | 'ROLE_AGENT', required — The sender role in an A2A v1 message.
    - `parts` A2aV1Part[], required — Message content parts.
      - `text` string, nullable — Plain-text content.
      - `raw` string, byte, nullable — Inline base64-encoded raw bytes.
      - `url` string, nullable — URL pointing to the file's content.
      - `data` unknown
      - `metadata` object, nullable — Arbitrary metadata associated with this part.
      - `filename` string, nullable — Name of the file, when this part carries a file.
      - `mediaType` string, nullable — Media type of the part's content.
    - `metadata` object, nullable — Arbitrary sender-supplied metadata.
    - `extensions` string[], nullable — URIs of A2A extensions this message activates.
    - `referenceTaskIds` string[], nullable — Identifiers of tasks referenced by this message.
  - `metadata` object, nullable — Arbitrary agent-supplied metadata for the task.

## Other responses

- `404` — Task not found.

---

[API](https://skmtc.net/vectara/apis/vectara-rest-api-v2.md) · [All operations](https://skmtc.net/vectara/apis/vectara-rest-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vectara/vectara-rest-api-v2/revisions/e85040b266cc/schema)
