AsyncAPI Specification
generated: '2026-10-31'
method: searched
generator: extract-docs-artifacts.py (local)
source: https://50heads.com/en-us/docs/webhooks
sources:
- https://50heads.com/en-us/docs/webhooks
- https://50heads.com/en-us/help/api-and-mcp/webhooks
- https://50heads.com/en-us/help/account/notifications
description: Webhooks for 50heads
events:
- event: question.reserved
description: A question went live and its credits were reserved. Also sent when heads are added to a live question or a scheduled follow-up
goes live.
- event: question.completed
description: A question got every answer it asked for. Carries the summary, and the verdict for yes/no asks with a go rule.
- event: question.underfilled
description: A question closed with fewer answers than asked for. The unanswered part is refunded.
- event: question.canceled
description: A live question was stopped. The unanswered part is refunded.
- event: question.refused
description: Review refused a question. Carries the category and the reason; the credits are refunded.
- event: credits.purchased
description: Credits were bought. Carries the new balance and the invoice number.
- event: credits.low
description: The balance fell below your low-credit threshold.
- event: credits.expiring
description: Credits are about to expire.
- event: dispute.resolved
description: A dispute about a question was decided, upheld or not.
- event: connection.cap_warning
description: A key or connection is close to its spend cap for the period.
- event: member.provisioned
description: Your organization's identity provider added someone, or turned them back on, through SCIM. Carries who, whether an existing account
was linked, and their teams and roles.
- event: member.deprovisioned
description: Your organization's identity provider turned someone off or deleted them. Their sessions, keys and connections ended; their questions
and credits stay with the team.
- event: policy.changed
description: 'An organization admin changed a security policy: two-step sign-in, a session limit or the re-authentication window. Carries what
changed, before and after.'
- event: approval.requested
description: A spend approval policy held an ask. Carries the approval id, the amount held, why it waited and when it expires.
- event: approval.decided
description: An approver approved or denied a held ask, or the asker withdrew it. Carries the decision, the approver's role and the typed reason.
- event: approval.expired
description: Nobody decided in time, so the ask was denied and the held credits went back to the balance.
- event: approval.refused
description: 'A decision was refused: the approver''s own key made the ask (`separation_of_duties`), or they are not an approver.'
- event: workspace.created
description: An organization admin made a new workspace. Carries its id, name and owner.
- event: workspace.moved
description: A team moved into another organization when its owner accepted the request.
- event: workspace.closed
description: A workspace's owner closed it; it is read-only from then on. Carries the unused credits refunded.
- event: webhook.test
description: You sent a test. Never subscribed to; sent only to the endpoint you test.
delivery:
signature: 'Signed twice: Standard Webhooks headers (webhook-id, webhook-timestamp, webhook-signature) and the custom x-50heads-signature header.'
retries: If a 2xx response is not received within ten seconds, the delivery is retried with backoff up to eight times over about 24 hours. After
five consecutive failures, the endpoint is automatically turned off.
docs: https://50heads.com/en-us/docs/webhooks
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/50heads-com-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.