Doodles · AsyncAPI Specification

Doodles Webhooks

Version

View Spec View on GitHub CompanyNFTWeb3BlockchainEntertainmentMediaDigital CollectiblesAnimationConsumerWebhookAsyncAPIEvents

AsyncAPI Specification

doodles-webhooks.yml Raw ↑
generated: '2026-08-12'
method: searched
source: https://github.com/Doodles/webhook-example
spec_type: none
note: >-
  Doodles publishes no AsyncAPI document. It does publish a first-party, signed
  outbound-webhook integration contract as a reference receiver on its own GitHub
  organization (Doodles/webhook-example, TypeScript/Express, last updated
  2025-06-26). Doodles POSTs an event to a URL you host; your receiver verifies the
  signature and returns a JSON body that Doodles consumes back — an interception /
  transform contract for chat request and response events, not a fire-and-forget
  notification. Everything below is transcribed from that repository's README and
  src/server.ts; nothing is inferred. There is no published subscription/registration
  API for these webhooks — the endpoint and secret are configured out of band.
direction: outbound
transport: https
method_verb: POST
content_type: application/json
security:
  scheme: hmac
  algorithm: HMAC-SHA256
  encoding: base64
  header: x-signature
  signed_payload: raw JSON request body
  secret: shared webhook secret, configured out of band (WEBHOOK_SECRET)
  verification: constant-time comparison (crypto.timingSafeEqual)
  reference: https://github.com/Doodles/webhook-example#signature-verification
events:
- name: request
  field: eventType
  value: request
  description: >-
    Fired for an inbound chat request before it is processed. The receiver may return
    modified text; saveModified controls whether the modified text is written to chat
    history.
- name: response
  field: eventType
  value: response
  description: >-
    Fired for an outbound chat response before it is delivered. Same modify-and-return
    contract as the request event.
payload:
  discriminator: eventType
  fields:
  - {name: eventType, type: string, enum: [request, response], description: Which side of the chat exchange this event represents.}
  - {name: text, type: string, description: The message text; the receiver returns its (optionally modified) value.}
  - {name: saveModified, type: boolean, description: Whether Doodles should persist the receiver's modified text to chat history. Defaults by event type; the receiver may override it explicitly.}
  note: >-
    The receiver echoes the original payload back with `text` and `saveModified` set.
    The published example does not enumerate any further payload fields, so none are
    recorded here.
receiver_responses:
- {status: 200, meaning: Signature valid; modified payload returned to Doodles.}
- {status: 403, meaning: Invalid or missing x-signature.}
- {status: 500, meaning: Receiver misconfigured (no webhook secret set).}
reference_implementation:
  repository: https://github.com/Doodles/webhook-example
  language: typescript
  framework: express
  license: null
  last_updated: '2025-06-26'
  local_testing: ngrok HTTPS tunnel, documented in the repository README
gaps:
- No AsyncAPI or OpenAPI document is published for this surface.
- No public event catalog beyond the two eventType values above.
- No delivery/retry, ordering, or timeout semantics are documented.
- No public webhook registration or management API; endpoint + secret are set out of band.

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.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/doodles-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.