viagogo · AsyncAPI Specification

Viagogo Webhooks

Version

View Spec View on GitHub CompanyTicketingEventsMarketplaceEntertainmentSecondary MarketCommerceTravel and LeisureAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-05'
method: derived
source: openapi/viagogo-webhooks.json
docs: https://developer.viagogo.net/api-reference/webhooks
type: Webhooks
asyncapi_published: false
x-evidence:
- url: https://api.viagogo.net/v2/openapi/webhooks.json
  http_status: 200
  fetched: '2026-08-05'
- url: https://developer.viagogo.net/api-reference/webhooks
  http_status: 200
  fetched: '2026-08-05'
- url: https://developer.viagogo.net/asyncapi.yaml
  http_status: 404
  fetched: '2026-08-05'
- url: https://api.viagogo.net/asyncapi.yaml
  http_status: 404
  fetched: '2026-08-05'
notes: >-
  viagogo publishes no AsyncAPI document — probed /asyncapi.yaml and /asyncapi.json
  on the docs and API hosts and searched the viagogo GitHub organization; nothing
  exists, and none is fabricated here. viagogo does publish a first-class webhook
  surface: a dedicated Webhooks API with full CRUD plus a ping trigger, and one
  documented payload schema per topic. This catalog is derived from those schemas
  and from the operations that manage subscriptions.
  Topic *identifiers* are typed as a free-string `topic` property with no enum in
  the specification, so the wire values are not published; each entry below is keyed
  by the schema name viagogo uses for its payload and carries the provider's own
  description verbatim.

subscription:
  model: per-user subscription, created over the API
  base_url: https://api.viagogo.net/v2
  sandbox_base_url: https://sandbox.api.viagogo.net/v2
  delivery: HTTP POST of the topic payload to the subscriber's configured url
  security:
    receiver_authentication:
      mechanism: static Authorization header
      field: authorization_header
      description: The Authorization header value that should be included in requests
        to the webhook.
      note: >-
        Delivery authentication is a shared static header value chosen by the
        subscriber. viagogo publishes no payload signing (no HMAC signature header),
        no timestamp/replay protection and no mTLS option, so receivers cannot
        cryptographically verify origin — treat the header as a bearer secret and
        rotate it via Webhooks_Patch.
    scopes:
    - read:webhooks
    - write:webhooks
  subscription_fields:
  - name: id
    type: integer
    description: The webhook identifier.
  - name: name
    type: string
    description: The name of the webhook.
  - name: url
    type: string
    description: The server endpoint that will receive the webhook payload.
  - name: authorization_header
    type: string
    description: The Authorization header value that should be included in requests
      to the webhook.
  - name: topics
    type: array[string]
    description: An array of the topics the webhook is trigger for.
  - name: created_at
    type: date-time
    description: The date when the webhook was created.

management_operations:
- operationId: Webhooks_Get
  method: GET
  path: /webhooks
  summary: List webhooks
  scopes:
  - read:webhooks
- operationId: Webhooks_Post
  method: POST
  path: /webhooks
  summary: Create a webhook
  scopes:
  - write:webhooks
- operationId: Webhooks_Get2
  method: GET
  path: /webhooks/{webhookId}
  summary: Get a webhook
  scopes:
  - read:webhooks
- operationId: Webhooks_Patch
  method: PATCH
  path: /webhooks/{webhookId}
  summary: Update a webhook
  scopes:
  - write:webhooks
- operationId: Webhooks_Delete
  method: DELETE
  path: /webhooks/{webhookId}
  summary: Delete a webhook
  scopes:
  - write:webhooks
- operationId: Webhooks_PingWebhook
  method: POST
  path: /webhooks/{webhookId}/ping
  summary: Ping a webhook
  scopes:
  - write:webhooks
  note: Returns 202 Accepted; triggers a PingTopic delivery so a receiver can be
    verified end to end.

guidance: >-
  When configuring a webhook, you can choose the topics you would like to receive
  payloads for. You should only subscribe to the specific topics that you plan on
  handling so that you can limit the number of HTTP requests to your server.

topics:
- schema: PingTopic
  description: Triggered any time a Webhook is pinged.
  payload_fields:
  - topic
  - action
  - _links
  - _embedded
  trigger: Webhooks_PingWebhook
- schema: SalesTopic
  description: Triggered when something happens that affects a sale (e.g. you sell
    one or more tickets).
  payload_fields:
  - topic
  - action
  - barcodes
  - _links
  - _embedded
  embeds:
  - EmbeddedSale
  - EmbeddedEvent
- schema: SaleUpdatesTopic
  description: Triggered when an update is made to a sale that you did not initiate.
    You will need to filter by the action that you are interested in.
  actions:
  - name: FailedBarcodeValidation
    description: Validation of a set of barcodes uploaded against an order has failed,
      and barcodes need re-uploading.
  payload_fields:
  - topic
  - action
  - barcodes
  - _links
  - _embedded
- schema: SellerListingUpdatesTopic
  description: Triggered when an update is made to a listing that you did not initiate.
    You will need to filter by the action that you are interested in.
  actions:
  - name: FailedBarcodeValidation
    description: Validation of a set of barcodes uploaded against a listing has failed,
      and barcodes need re-uploading.
  - name: ListingDeliverabilityExpired
    description: A listing is no longer deliverable to a customer. To increase the
      deliverability of electronic type tickets, preupload them (e.g. pre-upload
      barcodes or PDF files). To increase deliverability of paper tickets, opt your
      tickets into our LMS program.
  payload_fields:
  - topic
  - action
  - barcodes
  - _links
  - _embedded
  embeds:
  - EmbeddedSellerListing
  - EmbeddedEvent
- schema: ProvisionalSaleTopic
  description: Triggered when a provisional sale occurs. The normal SalesTopic webhook
    will confirm the provisional sale. If you want to reject the provisional sale,
    ignore it and reject the sale when it comes through as normal.
  payload_fields:
  - topic
  - action
  - barcodes
  - _links
  - _embedded
- schema: CancelProvisionalSaleTopic
  description: Triggered when a provisional sale is cancelled.
  payload_fields:
  - topic
  - action
  - barcodes
  - _links
  - _embedded
- schema: ReTransferTicketTopic
  description: Triggered when a ticket was not received by the buyer, so the ticket
    must be re-transferred from the 3rd party provider.
  payload_fields:
  - topic
  - action
  - barcodes
  - _links
  - _embedded

coverage:
  topics: 7
  management_operations: 6
  payload_schemas_in_spec: 48
  retry_policy_published: false
  signature_verification_published: false
  topic_identifier_enum_published: false