Skip to main content
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

hook_id
string
required
GitHub webhook delivery ID (X-GitHub-Delivery header value)Example: f4b3c2d1-a9b8-4c5d-9e8f-1a2b3c4d5e6f

Response

hook_id
string
The webhook delivery ID requested
workflow_metadata
object
execution_timeline
array
Array of workflow step executions in chronological order

Use Cases

  1. Debug specific workflow step failures - Detailed error information for failed steps
  2. Analyze step-by-step performance - Identify slow operations and bottlenecks
  3. Monitor operation success rates - Track failure patterns across workflows
  4. Generate audit trails - Compliance and monitoring with detailed execution logs
  5. Identify resource bottlenecks - Find operations consuming excessive resources
  6. Track GitHub API usage - Monitor API rate limiting per workflow step
  7. 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

404
object
Hook ID not found in logs
{
  "detail": "Workflow steps not found for hook_id: f4b3c2d1..."
}
500
object
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

Build docs developers (and LLMs) love