Skip to main content

Query Step History

# Get step execution history
query {
  stepHistory(
    threadId: "thread-123"
    stepName: "payment_processed"
    limit: 100
  ) {
    attempt
    timestamp
    status
    duration
    actor
  }
}

# Get step with sub-steps
query {
  thread(id: "thread-123") {
    steps(stepName: "payment_processing") {
      stepName
      status
      subSteps {
        name
        status
        payload
      }
    }
  }
}

Query Parameters

ParameterTypeDescription
threadIdString!Thread ID (required)
stepNameString!Step name (required)
idempotencyKeyStringFilter by idempotency key
limitIntMax results (default: 100, max: 1000)
offsetIntPagination offset
startAtStringISO timestamp - history after
endAtStringISO timestamp - history before
activityTypeStringFilter by activity type
actorStringFilter by actor ID

Step Fields

FieldTypeDescription
threadIdString!Thread ID
stepNameString!Step name
idempotencyKeyString!Unique step identifier
statusString!Current status
retryCountInt!Number of retry attempts
firstSeenAtString!First execution timestamp
lastUpdatedAtString!Last update timestamp
latestStepIDString!Latest step ID
previousStepStringPrevious step name
actorStringActor who executed step
actorServiceStringService that executed step
latestContextStringLatest context data (JSON)
hashStringCryptographic hash
prevHashStringPrevious step hash
verifiedBooleanHash chain verification status

History Fields

FieldTypeDescription
attemptInt!Attempt number
timestampString!Execution timestamp
statusString!Step status
contextString!Context data (JSON)
durationInt!Execution duration (ms)
startedAtStringStart timestamp
finishedAtStringFinish timestamp
errorStringError message (if failed)
actorString!Actor ID
actorServiceString!Service name
hashStringCryptographic hash
prevHashStringPrevious hash

Sub-step Fields

FieldTypeDescription
idID!Unique sub-step ID
nameString!Sub-step name
statusString!Sub-step status
payloadJSONSub-step data
recordedAtString!Recording timestamp

Next Steps