# WorkflowPendingRequest

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/workflowpendingrequest/
> Summary: OpenAPI request or response schema for WorkflowPendingRequest, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

Represents human input awaited by a workflow run.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `runId` | yes | `string (uuid)` | Gets the identifier of the run that produced the request. | — |
| `requestId` | yes | `string` | Gets the request identifier. Send this value when responding; the resumed execution matches it to the request published with the same id. | — |
| `portId` | yes | `string` | Gets the identifier of the port that published the request. It maps to a graph node. | — |
| `requestType` | no | `string` | Gets the request data type name. | — |
| `responseType` | no | `string` | Gets the expected response type name. | — |
| `prompt` | no | `string` | Gets the request text shown to the user. For plan approval, this is the plan itself. | — |
| `form` | yes | [`WorkflowRequestForm`](/http-api/schemas/workflowrequestform/) | Gets the input field the UI should display. | — |
| `requestedAt` | no | `string (date-time)` | Gets the UTC time when the request was published. | — |
| `workflowName` | no | `string` | Gets the name of the workflow whose run waits on the request. | — |
| `sessionId` | no | `string` | Gets the execution session of the run. The runs that continue one another share it, and the same request id in the same session is one request. | — |
| `expiresAt` | no | `string (date-time)` | Gets when the request expires (UTC). `null` when the workflow sets no request timeout, or when the request was published before requests had an expiry. | — |
| `answered` | no | `boolean` | Gets a value indicating whether somebody answered the request. An answered run stays `AwaitingInput` and keeps listing its request; the answer continues on a new run, which `lastResponseRunId` names. | — |
| `lastResponseRunId` | no | `string (uuid)` | Gets the run that carried out the latest answer; `null` while the request is unanswered. An answer that stopped before it finished is replaced by the answer that started again, so this names the run to watch. | — |
