Peek · AsyncAPI Specification

Peek Octo Webhooks

Version

View Spec View on GitHub CompanyTravelTourismBookingReservationsExperienceTours and ActivitiesPaymentsMarketplaceMCPOCTOSoftware-as-a-ServiceAsyncAPIWebhooksEvents

AsyncAPI Specification

peek-octo-webhooks.yml Raw ↑
generated: '2026-08-26'
method: searched
source: https://octodocs.peek.com/capabilities/webhooks
type: webhook-catalog
asyncapi_published: false
note: >-
  Peek publishes no AsyncAPI document, no event catalog and no streaming surface. It does publish a real,
  programmable webhook capability as part of its OCTO implementation (`octo/webhooks`), captured here
  verbatim from Peek's own documentation. No AsyncAPI was authored on Peek's behalf.
capability:
  id: octo/webhooks
  docs: https://octodocs.peek.com/capabilities/webhooks
  description: >-
    Programmatically create webhooks to listen for booking confirmations, updates and cancellations.
management_api:
  base_url: https://octo.peek.com/integrations/octo
  operations:
  - method: POST
    path: /webhooks
    summary: Create a new webhook
    request_body:
    - name: url
      type: string
      required: true
      description: >-
        The URL to call when the webhook is triggered. A fully formed URL; HTTP basic auth credentials
        embedded in the URL are supported (https://user:pass@example.com/webhook).
    - name: event
      type: string
      required: true
      description: The event that will trigger the webhook.
    response_example: '{"id":"octohook_123","event":"booking_update","url":"https://example.com/webhooks/booking_update"}'
  - method: GET
    path: /webhooks
    summary: Return a list of all existing webhooks
  - method: DELETE
    path: /webhooks/:id
    summary: Delete a webhook
events:
- name: booking_update
  trigger: Triggered when an existing booking is confirmed, updated or cancelled.
  delivery:
    method: POST
    content_type: application/json
    target: the subscriber URL registered on the webhook
  payload_shape:
    webhook: {id: string, event: string, url: string}
    booking:
      uuid: string (booking UUID)
      testMode: boolean
      resellerReference: string|null
      supplierReference: string
      status: ON_HOLD | EXPIRED | CONFIRMED | CANCELLED
      utcExpiresAt: ISO 8601 datetime|null
      utcConfirmedAt: ISO 8601 datetime|null
      productId: string
      optionId: string
      cancellable: boolean
      cancellation: '{reason, refund: FULL|PARTIAL|NONE, utcCancelledAt}|null'
      freesale: boolean
      notes: string|null
      availability: '{id, localDateTimeStart, localDateTimeEnd, allDay, openingHours}'
      contact: '{fullName, emailAddress, phoneNumber, locales, country}'
      voucher: '{redemptionMethod, utcRedeemedAt, deliveryOptions[]}'
      unitItems: '[{uuid, resellerReference, supplierReference, unitId, ticket}]'
event_count: 1
security:
  signature_verification: false
  shared_secret: false
  note: >-
    No webhook signature header, HMAC secret or replay protection is documented. The only authentication
    mechanism Peek offers the subscriber is HTTP basic credentials embedded in the callback URL, which
    authenticates Peek to the subscriber but does not prove payload integrity.
delivery_semantics:
  retries: undocumented
  ordering: undocumented
  deduplication: undocumented
testing:
  guidance: >-
    Peek recommends using ngrok (https://ngrok.com/) to expose a localhost endpoint, then making test
    bookings with the same credentials to observe webhook requests arrive.
gaps:
- Exactly one event type (booking_update) — product, availability and pricing changes are not eventable.
- No signing, no retry/redelivery policy, no delivery log or replay endpoint documented.

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/peek-octo-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 email required.

A second provider on the same verified email joins the account you already have.