> ## Documentation Index
> Fetch the complete documentation index at: https://velt.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Record Agent Resolution

Use this API to record an external resolution for a **blocking** agent step. The agent step parks in `waiting` after dispatch; resolutions arriving through this endpoint advance the aggregator according to its `resolutionPolicy` (`allResolved` or `minResolved`).

> [!WARNING]
>
> Blocking agent nodes are not available in beta. `blocking: true` requires a sibling `resolutionPolicy` to pass schema validation, and the pair is then rejected at run time with `agent-blocking-not-supported`, so no step ever parks for this endpoint. To put a person in front of an agent's findings today, place a `human` node downstream of the agent and use [Record Reviewer Decision](https://velt.dev/docs/api-reference/rest-apis/v2/approval-engine/steps/record-reviewer-decision.md).

# Endpoint

`POST https://api.velt.dev/v2/workflow/steps/recordAgentResolution`

# Headers

**x-velt-api-key** `string` *required*

Your API key.

**x-velt-auth-token** `string` *required*

Your [Auth Token](https://velt.dev/docs/security/auth-tokens.md).

# Body

#### Params

**data** `object` *required*

**properties**

**executionId** `string` *required*

The execution containing the step. ≤ 200 chars.

**stepId** `string` *required*

Must reference a blocking agent step in `waiting`. ≤ 200 chars.

**responseId** `string` *required*

Must match one of the response IDs the agent handler generated; read them from the step's output. ≤ 200 chars. Idempotent per `(stepId, responseId)`: a replay returns `recorded: false` with no side effect.

**resolution** `string` *required*

`resolved` / `rejected`.

**actorId** `string` *required*

The actor recording the resolution. ≤ 256 chars.

**reason** `string`

≤ 2000 chars.

## **Example Requests**

#### Record a resolution

```JSON theme={null}
{
  "data": {
    "executionId": "exec_1777374504255_xzy43k9q",
    "stepId": "step_blocking-agent_...",
    "responseId": "resp_42",
    "resolution": "resolved",
    "actorId": "user-1"
  }
}
```

# Response

#### Success Response

```JSON theme={null}
{
  "result": {
    "recorded": true,
    "aggregatorStatus": "resolved",
    "resumeScheduled": true
  }
}
```

#### Failure Response

```JSON theme={null}
{
  "error": {
    "message": "ERROR_MESSAGE",
    "status": "FAILED_PRECONDITION"
  }
}
```

**Errors:** `FAILED_PRECONDITION` (the step is not an `agent` node, or its status is not `waiting`) / `INVALID_ARGUMENT` / `NOT_FOUND`.

```js theme={null}
{
  "result": {
    "recorded": true,
    "aggregatorStatus": "resolved",
    "resumeScheduled": true
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.