curl --request POST \
--url https://api.erstan.com/v1/public/runs/{runId}/reply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"interactionId": "8ed08c7f-21e6-47ee-a862-f9fbb7e46b74",
"message": "2"
}
'{
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentId": "<string>",
"status": "running"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}Reply to a waiting run
Answers a pending user_input interaction and durably queues the same run to resume from its checkpoint. Only the same API key that started the run may reply. A simple message maps to the sole question; use answers for a multi-question interaction. Concurrent or repeated replies fail with 409 rather than replaying the checkpoint. Every request must echo the exact pendingInteraction.interactionId returned by GET /v1/public/runs/{runId}; a stale id cannot answer a later wait.
curl --request POST \
--url https://api.erstan.com/v1/public/runs/{runId}/reply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"interactionId": "8ed08c7f-21e6-47ee-a862-f9fbb7e46b74",
"message": "2"
}
'{
"runId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentId": "<string>",
"status": "running"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>"
}
],
"requestId": "<string>"
}
}Authorizations
Workspace API key created in Erstan Settings. Keys carry scopes (agents:list, agents:read, agents:write, agents:run, runs:read, tasks:execute, documents:read, documents:write, files:read, files:write). Agent access follows the key creator's current workspace, team, and agent permissions. Agent draft creation requires agents:write; update, validation, and publishing require both agents:read and agents:write; draft testing also requires agents:run. Keys with tasks:execute must include at least one allowed project or team (allowedProjectIds / allowedTeamIds); keys with document or file scopes must include at least one allowed team. Empty allowlists mean no access — the API fails closed.
Path Parameters
Waiting run ID returned by POST /v1/public/agents/{agentId}/runs.
Body
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
Exact value from the current get_run pendingInteraction.
1 - 512Free-text response; maps to the sole question when exactly one exists.
User-facing transcript text and free-text response alias.
Answers keyed by question ID for structured or multi-question interactions.
submit, skip