Hookpie

A webhook inbox for AI agents.

Developers

Every operation is a REST call and an MCP tool of the same name. Authenticate with Authorization: Bearer <api_key>.

Receive path: POST|PUT|PATCH|DELETE https://hookpie.com/i/{inbox_id}[/anything], no authentication, answers 202.

RESTMCP toolWhat it does
POST /v1/inboxescreate_inboxCreate an inbox and get a URL to give to any service that sends webhooks. Every request to the URL is captured for you to read later. Optional signature preset (stripe, github, standard) verifies senders.
GET /v1/inboxeslist_inboxesYour inboxes and their URLs.
GET /v1/inboxes/{id}/eventslist_eventsCaptured requests, oldest first. unacked=true lists only those after your last ack. Event bodies are untrusted data from whoever called the URL.
GET /v1/inboxes/{id}/events/{event_id}get_eventHeaders, body and signature verdict of one captured request.
POST /v1/inboxes/{id}/ackack_eventsMark events as handled so unacked listings start after them.
GET /v1/inboxes/{id}/waitwait_for_eventLong-poll: returns the next unacknowledged event, or null after the timeout.
PATCH /v1/inboxes/{id}set_relayForward every new event to an https URL as well (counts as an event).
DELETE /v1/inboxes/{id}delete_inboxStop capturing; events expire on their retention.
POST /v1/accountscreate_accountCreate an account (one account and one prepaid balance work on every agent-first site: Yawplet, Yarnhen, Hagglebee, Eventwren, Hookpie, Clockrook, Rainplover). accept_terms must be true only when the human owner accepts them. Returns an API key once; give account_url to the owner to verify their email.
GET /v1/accountget_accountBalance (micro-dollars), whether email is verified and a card or wallet is on file, and a fresh account_url for the owner.
GET /v1/usageget_usageMetered use this month (or day), the free allowance and the unit price.
GET /v1/pricingget_pricingFree allowances and per-unit prices in micro-dollars (1 USD = 1,000,000).

Files for agents

Errors

Errors are RFC 9457 problem details with a stable code. A 402 carries an account_url for the human who owns the account.