Security Warning : This endpoint is unauthenticated and exposes potentially sensitive webhook processing data. Only deploy on trusted networks (VPN, internal network). See Log Viewer Security for deployment guidance.
Endpoint
GET /logs/api/workflow-steps/{hook_id}
Retrieve detailed timeline and execution data for individual workflow steps within a webhook processing flow. This endpoint provides granular, step-by-step analysis of webhook processing workflows with detailed timing, execution status, and diagnostic information.
Parameters
GitHub webhook delivery ID (X-GitHub-Delivery header value) Example: f4b3c2d1-a9b8-4c5d-9e8f-1a2b3c4d5e6f
Response
The webhook delivery ID requested
Repository name (org/repo format)
GitHub event type (pull_request, push, etc.)
Workflow start timestamp (ISO 8601)
Total workflow duration in milliseconds
Total number of workflow steps
Number of successfully completed steps
Array of workflow step executions in chronological order Step start timestamp (ISO 8601)
Step completion timestamp (ISO 8601)
Step duration in milliseconds
Execution status: completed, failed, or skipped
Type of operation: security, data_processing, api_call, etc.
Step-specific execution details and metadata
Error information if step failed Error type/exception name
Use Cases
Debug specific workflow step failures - Detailed error information for failed steps
Analyze step-by-step performance - Identify slow operations and bottlenecks
Monitor operation success rates - Track failure patterns across workflows
Generate audit trails - Compliance and monitoring with detailed execution logs
Identify resource bottlenecks - Find operations consuming excessive resources
Track GitHub API usage - Monitor API rate limiting per workflow step
Investigate integration issues - Debug external service integration problems
Examples
Basic Request
curl "http://localhost:5000/logs/api/workflow-steps/f4b3c2d1-a9b8-4c5d-9e8f-1a2b3c4d5e6f"
Response Example
{
"hook_id" : "f4b3c2d1-a9b8-4c5d-9e8f-1a2b3c4d5e6f" ,
"workflow_metadata" : {
"repository" : "myk-org/github-webhook-server" ,
"event_type" : "pull_request" ,
"initiated_at" : "2024-01-15T10:00:00.123456Z" ,
"total_duration_ms" : 45230 ,
"total_steps" : 12 ,
"steps_completed" : 10 ,
"steps_failed" : 1 ,
"steps_skipped" : 1
},
"execution_timeline" : [
{
"step_id" : "webhook_validation" ,
"step_name" : "Webhook Signature Validation" ,
"sequence" : 1 ,
"started_at" : "2024-01-15T10:00:00.123456Z" ,
"completed_at" : "2024-01-15T10:00:00.156789Z" ,
"duration_ms" : 33 ,
"status" : "completed" ,
"operation_type" : "security" ,
"details" : {
"signature_valid" : true ,
"payload_size_bytes" : 2048 ,
"validation_method" : "sha256"
}
},
{
"step_id" : "clone_repository" ,
"step_name" : "Clone Repository" ,
"sequence" : 3 ,
"started_at" : "2024-01-15T10:00:01.234567Z" ,
"completed_at" : "2024-01-15T10:00:15.678901Z" ,
"duration_ms" : 14444 ,
"status" : "completed" ,
"operation_type" : "git_operation" ,
"details" : {
"repository" : "myk-org/github-webhook-server" ,
"branch" : "main" ,
"commit_sha" : "abc123def456" ,
"size_mb" : 15.2
}
}
]
}
Failed Step Example
{
"step_id" : "assign_reviewers" ,
"step_name" : "Assign PR Reviewers" ,
"sequence" : 8 ,
"started_at" : "2024-01-15T10:00:20.123456Z" ,
"completed_at" : "2024-01-15T10:00:20.234567Z" ,
"duration_ms" : 111 ,
"status" : "failed" ,
"operation_type" : "github_api" ,
"error" : {
"type" : "GitHubException" ,
"message" : "API rate limit exceeded" ,
"traceback" : "Traceback (most recent call last): \n File \" ... \" "
}
}
Error Responses
Hook ID not found in logs {
"detail" : "Workflow steps not found for hook_id: f4b3c2d1..."
}
Internal server error {
"detail" : "Error retrieving workflow steps: <error message>"
}
PR Flow High-level PR workflow visualization
Step Logs View logs for a specific workflow step
Log Entries Query historical webhook logs
MCP Endpoints AI agent access to this endpoint