Webhook Toolkit

Webhook and HTTP testing utilities in one API. Create temporary bins that capture any inbound HTTP request, inspect full headers and bodies, replay captured traffic to target systems, and build mock endpoints with custom status, headers, body, and response delay.

Base URL

https://webhook.toolkitapi.io/v1/

Endpoints

Request Bins

Method Endpoint Description
POST /v1/bins Create a request bin
GET /v1/bins/{bin_id} Get bin metadata and request count
DELETE /v1/bins/{bin_id} Delete a bin and all captured requests
GET /v1/bins/{bin_id}/requests List captured requests (newest first)
GET /v1/bins/{bin_id}/requests/{request_id} Get full request detail
POST /v1/bins/{bin_id}/requests/{request_id}/replay Replay one captured request to a target URL
ANY /v1/catch/{bin_id} Public catch endpoint that captures inbound traffic

Mock Endpoints

Method Endpoint Description
POST /v1/mocks Create a mock endpoint
GET /v1/mocks/{mock_id} Get mock metadata and hit count
DELETE /v1/mocks/{mock_id} Delete a mock endpoint
ANY /v1/mock/{mock_id} Public mock serving endpoint

Quick SDK Example

from toolkitapi import Webhook

with Webhook(api_key="tk_...") as wh:
    created = wh.create_bin(name="stripe-test", ttl_seconds=3600)
    bin_id = created["bin"]["bin_id"]

    # Send webhook events to:
    # https://webhook.toolkitapi.io/v1/catch/{bin_id}

    requests = wh.list_bin_requests(bin_id, limit=20)
    print(requests["total"])

Python SDK

Install and use the dedicated Webhook client:

pip install toolkitapi
from toolkitapi import Webhook

with Webhook(api_key="tk_...") as wh:
    mock = wh.create_mock(status_code=202, body='{"ok": true}')
    print(mock["mock"]["mock_id"])

See drilldowns for endpoint-specific request and response fields.

Tip

The catch and mock hit URLs are intentionally public endpoints. They do not require API keys, so avoid exposing them beyond your testing scope and rotate by deleting and recreating bins or mocks as needed.