> ## 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 all webhook endpoints

> The webhook endpoints registered by the authenticated user. Signing
secrets are not included — they are only returned on creation and
rotation. OAuth apps see only the endpoints they created themselves.



## OpenAPI

````yaml /openapi/v1.json get /webhooks
openapi: 3.2.0
info:
  title: Synci
  version: '1.0'
  description: >-
    Synci is a platform for integrating financial accounts with your favorite
    apps.
servers:
  - url: https://api.synci.io/api/v1
security:
  - oauth2: []
  - http: []
tags:
  - name: Finance
    kind: nav
  - name: Connections
    parent: Finance
  - name: Accounts
    parent: Finance
  - name: Transactions
    parent: Finance
  - name: Institutions
    parent: Finance
  - name: Destinations
    kind: nav
  - name: YNAB
    parent: Destinations
  - name: Lunch Money
    parent: Destinations
  - name: Google Sheets
    parent: Destinations
  - name: SimpleFIN
    parent: Destinations
  - name: Notion
    parent: Destinations
  - name: Account
    kind: nav
  - name: Webhooks
    parent: Account
  - name: User
    parent: Account
  - name: rule-engine
    summary: Rules
    kind: nav
  - name: Rules
    parent: rule-engine
  - name: Rule Logs
    parent: rule-engine
  - name: Transfers
    kind: nav
  - name: Transfer Links
    parent: Transfers
  - name: Transfer Logs
    parent: Transfers
paths:
  /webhooks:
    get:
      tags:
        - Webhooks
      summary: List all webhook endpoints
      description: |-
        The webhook endpoints registered by the authenticated user. Signing
        secrets are not included — they are only returned on creation and
        rotation. OAuth apps see only the endpoints they created themselves.
      operationId: webhooks.index
      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: sort
          in: query
          schema:
            type: array
            default:
              - '-id'
            items:
              type: string
              enum:
                - id
                - '-id'
                - created_at
                - '-created_at'
                - updated_at
                - '-updated_at'
          explode: false
      responses:
        '200':
          description: Paginated set of `WebhookEndpointResource`
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/WebhookEndpointResource'
                  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
        '401':
          $ref: '#/components/responses/AuthenticationException'
components:
  schemas:
    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
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.synci.io/oauth/authorize
          tokenUrl: https://api.synci.io/oauth/token
          scopes:
            profile:read: View your name, email, and profile details
            accounts:read: View your connected financial accounts and balances
            accounts:write: >-
              Update, sync, and remove your financial accounts, and change their
              settings
            transactions:read: View your transactions
            transactions:write: Create, update, and delete your transactions
            sensitive:read: >-
              See sensitive identifiers like account numbers and account holder
              names
            transfer-links:read: View your transfer links and their transfer history
            transfer-links:write: Create, update, and delete transfer links, and undo transfers
            rules:read: View your rules and rule activity
            rules:write: Create, update, and delete rules, and undo rule actions
            webhooks:read: View your webhook endpoints
            webhooks:write: >-
              Create, update, and delete webhook endpoints, and rotate their
              secrets
            destinations:read: View your connected destinations
            destinations:write: Connect, update, and remove destinations
            financial-connections:read: View your connected institutions
            financial-connections:write: Manage your connected institutions
    http:
      type: http
      description: Bearer token (personal access token or OAuth access token)
      scheme: bearer

````

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