Skip to main content
POST
/
v2
/
workflow
/
executions
/
getEvents
Get Execution Events
curl --request POST \
  --url https://api.velt.dev/v2/workflow/executions/getEvents \
  --header 'Content-Type: application/json' \
  --header 'x-velt-api-key: <x-velt-api-key>' \
  --header 'x-velt-auth-token: <x-velt-auth-token>' \
  --data '
{
  "data": {
    "executionId": "<string>",
    "sinceSeq": 123,
    "pageSize": 123
  }
}
'
{
  "result": {
    "executionId": "exec_1777374504255_xzy43k9q",
    "events": [],
    "nextCursor": 12,
    "hasMore": false
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.velt.dev/llms.txt

Use this file to discover all available pages before exploring further.

Use this API to retrieve a cursor-paginated view of the external-facing event stream for an execution. Use this to reconcile after a webhook outage.

Endpoint

POST https://api.velt.dev/v2/workflow/executions/getEvents

Headers

x-velt-api-key
string
required
Your API key.
x-velt-auth-token
string
required

Body

Params

data
object
required
Only externally-visible event types are returned. Internal-only events (step.scheduled, step.started, step.retried, step.resumed, step.response-recorded, step.overridden, parallel-group.completed, idempotency.suppressed) fill seq gaps but are filtered out — your stream may have non-contiguous seq values.
For the full external event catalog, see Event reference.

Example Requests

Reconcile after a webhook outage

{
  "data": {
    "executionId": "exec_1777374504255_xzy43k9q",
    "sinceSeq": 5
  }
}

Paginate through all events

{
  "data": {
    "executionId": "exec_1777374504255_xzy43k9q",
    "sinceSeq": 0,
    "pageSize": 100
  }
}

Response

Success Response

{
  "result": {
    "executionId": "exec_1777374504255_xzy43k9q",
    "events": [
      {
        "eventId": "evt_abc...",
        "seq": 7,
        "type": "step.awaiting-approval",
        "stepId": "step_agent-draft_..._lwofay__to__human-legal",
        "timestamp": 1777374842347,
        "correlationId": "corr_campaign_42",
        "data": {
          "waitingForReviewers": 1,
          "mandatoryCount": 1,
          "resumeKey": "human:..."
        }
      }
    ],
    "nextCursor": 12,
    "hasMore": false
  }
}

Failure Response

{
  "error": {
    "message": "ERROR_MESSAGE",
    "status": "NOT_FOUND"
  }
}
Errors: NOT_FOUND / INVALID_ARGUMENT.
{
  "result": {
    "executionId": "exec_1777374504255_xzy43k9q",
    "events": [],
    "nextCursor": 12,
    "hasMore": false
  }
}