> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synci.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List webhook events

> The delivery log for your endpoints: one entry per delivery attempt,
with the outcome. Use `include=payload` to include the delivered payload.



## OpenAPI

````yaml /openapi/managed.json get /webhooks/events
openapi: 3.1.0
info:
  title: Synci
  version: '1.0'
  description: >-
    Register and manage the end users your Managed app pays for. Authenticate
    with HTTP Basic using your app's client id and client secret. See the
    Managed apps guide for the full flow.
servers:
  - url: https://api.synci.io/managed/v1
security:
  - basicAuth: []
tags:
  - name: Managed Users
  - name: Managed Connections
  - name: Managed Webhooks
paths:
  /webhooks/events:
    get:
      tags:
        - Managed Webhooks
      summary: List webhook events
      description: >-
        The delivery log for your endpoints: one entry per delivery attempt,

        with the outcome. Use `include=payload` to include the delivered
        payload.
      operationId: managed.webhooks.events
      parameters:
        - name: page[size]
          in: query
          description: The number of results that will be returned per page.
          schema:
            type: integer
            default: 25
        - name: page[number]
          in: query
          description: The page number to start the pagination from.
          schema:
            type: integer
        - name: filter[id]
          in: query
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: array
            default:
              - '-id'
            items:
              type: string
              enum:
                - id
                - '-id'
                - created_at
                - '-created_at'
          explode: false
        - name: include
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - payload
                - webhook_endpoint
          explode: false
        - name: filter[event_type]
          in: query
          schema:
            $ref: '#/components/schemas/WebhookEventTypeEnum'
        - name: filter[webhook_endpoint_id]
          in: query
          schema:
            type: integer
        - name: filter[success]
          in: query
          schema:
            type: boolean
        - name: filter[status_code]
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: Paginated set of `WebhookEventResource`
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/WebhookEventResource'
                  links:
                    type: object
                    properties:
                      first:
                        type:
                          - string
                          - 'null'
                      last:
                        type:
                          - string
                          - 'null'
                      prev:
                        type:
                          - string
                          - 'null'
                      next:
                        type:
                          - string
                          - 'null'
                    required:
                      - first
                      - last
                      - prev
                      - next
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        minimum: 1
                      from:
                        type:
                          - integer
                          - 'null'
                        minimum: 1
                      last_page:
                        type: integer
                        minimum: 1
                      links:
                        type: array
                        description: Generated paginator links.
                        items:
                          type: object
                          properties:
                            url:
                              type:
                                - string
                                - 'null'
                            label:
                              type: string
                            active:
                              type: boolean
                          required:
                            - url
                            - label
                            - active
                      path:
                        type:
                          - string
                          - 'null'
                        description: Base path for paginator generated URLs.
                      per_page:
                        type: integer
                        description: Number of items shown per page.
                        minimum: 0
                      to:
                        type:
                          - integer
                          - 'null'
                        description: Number of the last item in the slice.
                        minimum: 1
                      total:
                        type: integer
                        description: Total number of items being paginated.
                        minimum: 0
                    required:
                      - current_page
                      - from
                      - last_page
                      - links
                      - path
                      - per_page
                      - to
                      - total
                required:
                  - data
                  - links
                  - meta
components:
  schemas:
    WebhookEventTypeEnum:
      type: string
      description: >
        Webhook event types Synci can emit. The three account-lifecycle events
        were renamed from `bank_account.*` to `account.*`, and the payload embed
        key from `bank_account` to `financial_account`. The legacy
        `bank_account.*` event names remain available so existing integrations
        keep working — endpoints with `payload_version=v1` receive the legacy
        variant.  The other events (`transactions.*`, `balance.updated`,
        `holdings.updated`) have the same event-type string in both versions;
        only the payload embed key differs between v1 and v2.
      enum:
        - transactions.created
        - transactions.updated
        - balance.updated
        - holdings.updated
        - account.created
        - account.updated
        - account.deleted
        - bank_account.created
        - bank_account.updated
        - bank_account.deleted
        - connection.created
        - connection.activated
        - connection.reauthorized
        - connection.expiring
        - connection.expired
        - connection.failing
        - connection.recovered
        - connection.disabled
        - connection.deleted
        - portal.user.verified
      title: WebhookEventTypeEnum
    WebhookEventResource:
      type: object
      properties:
        id:
          type: string
        event_id:
          type: string
          description: |-
            Public event identifier (`evt_...`) delivered in the payload's
            `event_id` field. Shared by every delivery attempt of the same
            event, so it can be used to correlate retries.
        webhook_endpoint_id:
          type: string
        webhook_endpoint:
          $ref: '#/components/schemas/WebhookEndpointResource'
          description: |-
            The endpoint this event was delivered to. Only present when
            requested via `include=webhook_endpoint`.
        event_type:
          type: string
        payload:
          type: string
          description: |-
            The payload that was delivered. Only present when requested via
            `include=payload`.
        status_code:
          type: string
          description: |-
            HTTP status code returned by the receiving endpoint, if a
            response was received.
        error:
          type: string
          description: Error message when the delivery failed.
        attempt:
          type: string
          description: Delivery attempt number for this event.
        success:
          type: string
          description: Whether the delivery succeeded.
        sensitive_identifiers_omitted:
          type: string
          description: |-
            Whether sensitive account identifiers (IBAN/BBAN) were omitted
            from the delivered payload.
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - event_id
        - webhook_endpoint_id
        - event_type
        - status_code
        - error
        - attempt
        - success
        - sensitive_identifiers_omitted
        - created_at
        - updated_at
      title: WebhookEventResource
    WebhookEndpointResource:
      type: object
      properties:
        id:
          type: string
        url:
          type: string
        description:
          type: string
        enabled:
          type: string
        type:
          type: string
        omit_sensitive_identifiers:
          type: string
        events:
          type: string
          description: >-
            Subscribed event types. New endpoints should use the canonical names

            (`transactions.created`, `transactions.updated`, `balance.updated`,

            `holdings.updated`, `account.created`, `account.updated`,
            `account.deleted`);

            the legacy `bank_account.*` aliases are still accepted for existing
            v1

            integrations but should not be used in new code.
        financial_accounts:
          type: string
          description: |-
            IDs of the financial accounts this endpoint receives events for.
            Null or empty means events for all accounts are delivered.
        health:
          $ref: '#/components/schemas/HealthResource'
        secret:
          type: string
          description: |-
            The endpoint's signing secret. Only returned when the endpoint is
            created or the secret is rotated — store it securely.
        payload_version:
          type: string
          description: |-
            Shape of payloads delivered to this endpoint. Pinned at creation —
            not editable after. `v1` is the legacy shape (`bank_account.*`
            event-type aliases + `bank_account` payload embed key), kept for
            backwards compatibility with existing integrations. `v2` is the
            canonical shape (`account.*` events + `financial_account` embed
            key) — the default for new endpoints.
        created_at:
          type: string
        updated_at:
          type: string
      required:
        - id
        - url
        - description
        - enabled
        - type
        - omit_sensitive_identifiers
        - events
        - payload_version
        - created_at
        - updated_at
      title: WebhookEndpointResource
    HealthResource:
      type: object
      properties:
        status:
          type: string
          description: >-
            Health status: HEALTHY (last request succeeded), FAILING (recent
            requests failed), or DEAD (10 or more consecutive failures).
        integrator_message:
          type: string
          description: The most recent error message reported by the provider, if any.
        failure_count:
          type: string
          description: The number of consecutive failed requests.
        transient_message:
          type: string
          description: >-
            A provider-side outage currently blocking part of the sync (for
            example the institution being down for maintenance). Not counted as
            a failure: the status stays HEALTHY while Synci retries
            automatically. Null when nothing is being retried.
        transient_failure_count:
          type: string
          description: The number of consecutive sync attempts refused by that outage.
        last_attempt_at:
          type: string
          description: When the last sync attempt occurred.
      required:
        - status
        - integrator_message
        - failure_count
        - transient_message
        - transient_failure_count
        - last_attempt_at
      title: HealthResource
  securitySchemes:
    basicAuth:
      type: http
      description: |-
        **Username = your client id. Password = your client secret.**

        So the base64-encoded `username:password` described below is
        `client_id:client_secret`:

        ```
        Authorization: Basic base64(YOUR_CLIENT_ID:YOUR_CLIENT_SECRET)
        ```

        Most HTTP clients build that header for you:

        ```bash
        curl -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" \
             https://api.synci.io/managed/v1/users
        ```

        Both values come from **Developers → Apps → your app**. The
        secret is shown once at creation and is prefixed `oac_`.
      scheme: basic

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.