Canopy Connect · AsyncAPI Specification

Canopy Webhooks

Version

View Spec View on GitHub Auto InsuranceCasualtyFinancial-ServicesHomeowners InsuranceInsuranceInsurance VerificationPropertyAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-05'
method: searched
source: >-
  https://docs.usecanopy.com/reference/about-webhooks +
  https://docs.usecanopy.com/reference/webhooks-api +
  openapi/canopy-openapi.json (components.schemas.WebhookBody)
provider: Canopy Connect
providerId: canopy
asyncapi_spec_published: false
asyncapi_note: >-
  Canopy Connect publishes NO AsyncAPI document. Probed 2026-09-05: no
  /asyncapi.yaml or /asyncapi.json on any host, nothing in the docs index
  (https://docs.usecanopy.com/llms.txt), and the GitHub org (github.com/usecanopy)
  holds a single unrelated fork. The event surface is real and well documented in
  prose and in the OpenAPI's WebhookBody schema, so it is captured here as a
  webhook catalog rather than fabricated as an AsyncAPI document.
transport:
  protocol: https
  method: POST
  direction: canopy -> subscriber
  subscriber_endpoint: caller-supplied hookUrl
  signing:
    published: false
    note: >-
      No webhook signature scheme, shared secret, timestamp header or replay
      window is documented anywhere. A subscriber has no published way to verify
      that a POST to its hookUrl came from Canopy Connect. This is the largest
      gap in the event surface.
  retries:
    published: false
    note: No retry, backoff or dead-letter policy is documented.
management:
  console: https://app.usecanopy.com/dashboard/settings
  api:
    list: get-webhooks
    create: post-webhooks
    update: patch-webhook
    delete: delete-webhook
  create_fields:
    - name: hookUrl
      type: string
      format: uri
      description: The URL that webhook requests will go to.
    - name: eventTypes
      type: array
      description: The event types that will trigger the webhook request.
  subscribable_via_api:
    - COMPLETE
    - POLICIES_AVAILABLE
    - POLICY_AVAILABLE
    - AUTH_STATUS
    - VALIDATION_COMPLETE
  divergence_note: >-
    The POST /webhooks request body accepts only five event types, while the
    docs list nine subscribable events and the WebhookBody schema enumerates
    nine event_type values. MONITORING_RECONNECT, DATA_UPDATED,
    SERVICING_WAITING_FOR_CONSUMER_CONFIRMATION and MONITORING_EVENTS cannot be
    subscribed through the API as specified - they appear reachable only through
    the dashboard. Recorded as observed; not resolved.
payload:
  schema: openapi/canopy-openapi.json#/components/schemas/WebhookBody
  common_fields:
    - pull_id
    - team_id
    - widget_id
    - status
    - event_type
    - meta_data
    - account_identifier
    - is_monitored
    - monitoring
    - data
  pull_status_enum:
    - STARTED
    - QUEUED
    - DOCUMENT_PARSING
    - PROCESSING
    - IDENTITY_VERIFICATION_OPTIONS
    - IDENTITY_VERIFICATION
    - GETTING_CONSUMERS
    - PULLING_DATA
    - SERVICING
    - WAITING_FOR_CONSUMER_CONFIRMATION
    - SUBMITTING_CONFIRMATION
    - NOT_AUTHENTICATED
    - INTERNAL_ERROR
    - PROVIDER_ERROR
    - VALIDATION_ERROR
    - SUCCESS
    - INCOMPLETE
  follow_up: >-
    Each event carries a pull_id; the subscriber calls GET
    /teams/{teamId}/pulls/{pullId} (get-pull-by-id) to fetch the full record.
event_count: 10
events:
  - name: AUTH_STATUS
    docs: https://docs.usecanopy.com/reference/webhook-event-auth-status
    description: Triggered when a Pull transitions to a new authentication state.
    api_subscribable: true
  - name: POLICY_AVAILABLE
    docs: https://docs.usecanopy.com/reference/webhook-event-policy-available
    description: Triggered when the policy data for one insurance policy becomes available.
    api_subscribable: true
  - name: POLICIES_AVAILABLE
    docs: https://docs.usecanopy.com/reference/webhook-event-policies-available
    description: Fires once per Pull when policy data for all policies is available. Does not include documents.
    api_subscribable: true
  - name: COMPLETE
    docs: https://docs.usecanopy.com/reference/webhook-event-complete
    description: Fires once per Pull, once all information including documents is available.
    api_subscribable: true
  - name: ERROR
    docs: https://docs.usecanopy.com/reference/webhook-event-error
    description: Triggered when a Pull encounters an error while running.
    api_subscribable: false
  - name: MONITORING_RECONNECT
    docs: https://docs.usecanopy.com/reference/monitoring_reconnect
    description: Triggered when a Monitoring Pull requires user input to complete authentication.
    api_subscribable: false
  - name: DATA_UPDATED
    docs: https://docs.usecanopy.com/reference/data_updated
    description: Triggered when data on a Pull is updated or added (driver added/updated, contact updated, and similar in-flow edits).
    api_subscribable: false
  - name: SERVICING_WAITING_FOR_CONSUMER_CONFIRMATION
    docs: https://docs.usecanopy.com/reference/servicing_waiting_for_consumer_confirmation
    description: Triggered when a ServicingAction has been processed and is waiting for confirmation.
    api_subscribable: false
  - name: MONITORING_EVENTS
    docs: https://docs.usecanopy.com/reference/webhook-event-monitoring-events
    description: Triggered when a Monitoring Pull has run and changes were identified against the previous Pull.
    api_subscribable: false
  - name: VALIDATION_COMPLETE
    docs: null
    description: >-
      Present in the OpenAPI (WebhookBody.event_type and the POST /webhooks
      eventTypes enum) with a dedicated ValidationCompleteBody schema, but not
      listed on the Using Webhooks docs page.
    api_subscribable: true
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com

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/canopy-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.