Hey API · AsyncAPI Specification
Hey Api Platform Webhooks
Version
View Spec
View on GitHub
Code GenerationDeveloper ToolsOpenAPISDKTypeScriptPythonAPI DesignSpecificationsRegistryOpen-SourceAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-08-06'
method: derived
source: openapi/hey-api-platform-openapi.json
spec_type: Webhooks
asyncapi_published: false
asyncapi_note: >-
Hey API publishes NO AsyncAPI document. Probed /asyncapi.yaml and
/asyncapi.json on heyapi.dev and api.heyapi.dev (404), and the GitHub org
carries no event spec. This artifact is the webhook catalog derived from the
provider's own OpenAPI — it is deliberately NOT dressed up as an AsyncAPI
document, because Hey API did not author one.
api: Hey API Platform API
description: >-
Project-scoped outbound webhooks. A project owner registers an HTTPS
endpoint; Hey API POSTs a signed event to it when a specification is created
or deleted. This is what makes the registry reactive — a downstream repo can
regenerate its client the moment a new spec lands.
subscription_management:
create: POST /v1/organizations/{organization_slug}/projects/{project_slug}/webhooks
create_body: '{ "endpoint": "https://example.com/api/webhooks" }'
list: GET /v1/organizations/{organization_slug}/projects/{project_slug}/webhooks
read: GET /v1/organizations/{organization_slug}/projects/{project_slug}/webhooks/{webhook_id}
update: POST /v1/organizations/{organization_slug}/projects/{project_slug}/webhooks/{webhook_id}
delete: DELETE /v1/organizations/{organization_slug}/projects/{project_slug}/webhooks/{webhook_id}
auth: Clerk session JWT
enable_flag: Webhook.is_enabled (boolean)
signing:
secret_field: Webhook.secret
secret_prefix: whsec_
disclosure: >-
The secret is only present on the `Webhook` schema returned at creation.
Every listing returns `WebhookConcealed`, which omits it.
algorithm: not documented
signature_header: not documented
note: >-
A signing secret exists in the contract but the verification procedure —
header name, hashing scheme, timestamp tolerance — is published nowhere.
A consumer cannot currently verify a Hey API webhook from public docs.
This is a real gap for the provider to close.
envelope:
shape: |
{
"id": "e4ce4324-1177-47ca-aeef-b1d011bd3932",
"object": "event",
"type": "specification.created",
"timestamp": 1740105435,
"data": { ...Specification }
}
fields:
- name: id
type: string (uuid)
required: true
- name: object
type: string
enum: [event]
required: true
- name: type
type: string
required: true
- name: timestamp
type: number
required: true
- name: data
schema: Specification
required: true
source_operation: POST /v1/internal/webhooks/hey-api
events:
- type: specification.created
payload: Specification
description: >-
A new OpenAPI document was uploaded to a project — typically by the
hey-api/upload-openapi-spec GitHub Action on a push or pull request.
The payload carries the full CI provenance (repository, branch,
commit_sha, workflow, run_id, actor, tags, version).
typical_consumer_action: regenerate the downstream SDK against the new spec
- type: specification.deleted
payload: Specification
description: A stored specification was removed from the project.
delivery:
retries: not documented
ordering: not documented
timeout: not documented
x-evidence:
fetched: '2026-08-06'
spec_url: https://api.heyapi.dev/v1/get/hey-api/backend
spec_http_status: 200
event_types_source: components -> paths./v1/internal/webhooks/hey-api.post.requestBody type enum