# Get Workflow Card (/reference-api/schema/a2a/get-workflow-card)

## Runtime contract [#runtime-contract]

The generated response schema is unspecified. This route returns an A2A Agent Card directly, with the fields described below.

Start the [example A2A server](/reference-api/schema/a2a/run-message-agent#example-server) and set the same `OS_SECURITY_KEY` in the client terminal. These examples target `reference-workflow` on port 7777. On deployments using scoped bearer authorization, this operation requires `workflows:read` (or a matching broader grant). The authenticated principal determines user identity; `X-User-ID` is only anonymous attribution and cannot override it.

```bash
curl "http://localhost:7777/a2a/workflows/reference-workflow/.well-known/agent-card.json" \
  -H "Authorization: Bearer $OS_SECURITY_KEY"
```

The response includes `name`, `description`, `url`, `version`, `protocolVersion`, `capabilities`, `defaultInputModes`, `defaultOutputModes`, and `skills`. Optional fields may be null. It is not wrapped in a JSON-RPC `result`. Card metadata is a discovery description; it does not grant permission to execute the component.

The current workflow card advertises `capabilities.streaming=false` even though the [workflow stream route](/reference-api/schema/a2a/stream-message-workflow) exists. Clients relying on that advertised capability may decline to stream; this is a current server metadata limitation. There are no workflow A2A task-polling or cancellation routes.

## `GET /a2a/workflows/{id}/.well-known/agent-card.json`

**Summary:** Get Workflow Card

### Authentication

Not specified.

### Parameters
- `id` (path; string; required)

### Request body

None.

### Responses

#### `200`

Successful Response

**`application/json`**

Type `unspecified`.

#### Other responses

- `422` — Validation Error `application/json`: Schema `HTTPValidationError` (object).