Piknik.Spot · AsyncAPI Specification

Piknik Spot Webhooks

Version

View Spec View on GitHub Local FoodAgricultureFarmers MarketsMarketplaceEventJobRecipesGeolocationCommunityFood SystemsMCPA2AAgent-NativeOntarioCanadaAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-19'
method: derived
spec_type: Webhooks
source: openapi/_original/piknik-spot-openapi.json (webhook management operations) + https://piknik.spot/privacy-policy ("API keys, webhooks" removed on account deletion)
asyncapi_published: false
summary: >-
  Piknik exposes an outbound webhook subscription surface in its own contract — CRUD over /webhooks
  plus a test-delivery endpoint — so the surface is real and provider-declared, but NO event catalogue
  (event names, payload schemas, signing scheme, retry policy) is published anywhere, and no AsyncAPI
  document exists. Inbound webhooks the platform RECEIVES (Stripe, Twilio SMS/voice, Telegram, Vapi)
  are also declared and listed separately because they are not a consumer surface.
management_surface:
  base: https://piknik.spot/api
  operations:
    - {method: GET, path: /webhooks, summary: list webhook subscriptions, security: bearerAuth | cookieAuth}
    - {method: POST, path: /webhooks, summary: create a webhook subscription, security: bearerAuth | cookieAuth}
    - {method: GET, path: '/webhooks/{id}', security: bearerAuth | cookieAuth}
    - {method: PUT, path: '/webhooks/{id}', security: bearerAuth | cookieAuth}
    - {method: DELETE, path: '/webhooks/{id}', security: bearerAuth | cookieAuth}
    - {method: POST, path: /webhooks/test, summary: send a test delivery, security: bearerAuth | cookieAuth}
    - {method: POST, path: /webhooks/process, summary: internal delivery processor (declared; purpose not documented)}
  request_schema: 'requestBody declared as a bare object — subscription fields (target URL, events, secret) are NOT declared.'
events: []
events_note: Unknown — the contract declares no event types and no docs page describes them. Deliberately empty; nothing invented.
signing: unknown
retries: unknown
inbound_webhooks_received_by_piknik:
  - {path: /webhooks/stripe, from: Stripe, note: Stripe Connect ticketing for agritourism campaigns}
  - {path: /sms/inbound, from: Twilio, note: 'OpenAPI summary: "Twilio inbound SMS webhook."'}
  - {path: /voice/twilio, from: Twilio, note: voice speech-gather loop}
  - {path: /voice/vapi, from: Vapi}
  - {path: /telegram/inbound, from: Telegram, note: 'OpenAPI summary: "Telegram inbound message handler."'}
push_notifications:
  web_push: true
  operations: [GET /notifications/vapid-key, POST /notifications/subscribe, DELETE /notifications/subscribe]
  note: Browser Web Push (VAPID) for end users; not an API event surface.
pointer_note: 'type: Webhooks is emitted for the provider-declared subscription surface; no AsyncAPI pointer (none exists).'

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/piknik-spot-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.