# API Webhook Signer

> Description

- Skill: `xspoonai/api-webhook-signer` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add xspoonai/api-webhook-signer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xspoonai/api-webhook-signer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: XSpoonAi (https://skillmd.com/u/xspoonai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/xspoonai/api-webhook-signer

---


## Description

Generate and verify HMAC-SHA256 signed webhooks with retry queue and exponential backoff. Provides secure webhook signing and validation for API integrations.

## Inputs

```json
{
  "action": "sign|verify",
  "payload": "Webhook payload",
  "secret": "HMAC secret key",
  "signature": "Signature to verify (for verify action)"
}
```

## Outputs

```json
{
  "ok": true,
  "data": {
    "signature": "Generated signature",
    "valid": true
  }
}
```

## Usage

### Demo Mode
```bash
python scripts/main.py --demo
```

### Sign Webhook
```bash
echo '{"action":"sign","payload":{"event":"user.created"},"secret":"my_secret"}' | python3 scripts/main.py
```

## Examples

### Example 1: Sign Webhook
```bash
$ echo '{"action":"sign","payload":{"event":"user.created","user_id":123},"secret":"my_secret"}' | python3 scripts/main.py
{
  "ok": true,
  "data": {
    "signature": "sha256=abc123def456..."
  }
}
```

## Error Handling

When an error occurs, the skill returns:

```json
{
  "ok": false,
  "error": "Error description",
  "details": {
    "secret": "Secret key is required"
  }
}
```

