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

# Read the PULL feed

> Reads events from the PULL feed instead of receiving them at a URL. Requires a live PULL subscription and the `events` permission.

PULL responses are **unsigned** — you are reading from Endl over an authenticated connection, so there is no signature to verify.



## OpenAPI

````yaml api-reference/endl-webhooks-api.json GET /api/v0/events
openapi: 3.1.0
info:
  title: Endl Webhooks API
  version: '0'
  description: >-
    Register where your events go, inspect what happened to each delivery, and
    read the PULL feed.


    Every endpoint returns the standard Endl response envelope and requires the
    `webhooks` permission — the PULL feed additionally requires `events`.
servers:
  - url: https://qa-api.endl.xyz
    description: QA
security:
  - apiKey: []
tags:
  - name: Subscriptions
    description: Register and manage the endpoints that receive your events.
  - name: Deliveries
    description: Inspect and retry individual delivery attempts.
  - name: Events
    description: Read events from the PULL feed.
paths:
  /api/v0/events:
    get:
      tags:
        - Events
      summary: Read the PULL feed
      description: >-
        Reads events from the PULL feed instead of receiving them at a URL.
        Requires a live PULL subscription and the `events` permission.


        PULL responses are **unsigned** — you are reading from Endl over an
        authenticated connection, so there is no signature to verify.
      parameters:
        - name: types
          in: query
          schema:
            type: string
          description: Filter by event type. Repeatable.
        - name: after
          in: query
          schema:
            type: string
          description: Pagination cursor.
        - name: limit
          in: query
          schema:
            type: integer
            default: 25
            maximum: 100
          description: Page size, maximum 100.
      responses:
        '200':
          description: A page of events.
          content:
            application/json:
              example:
                code: 200
                message: Success
                status: SUCCESS
                data:
                  events:
                    - eventId: evt_9f1a4c7b2e08
                      eventType: payout.completed
                      eventCreatedAt: '2026-09-02T14:03:11.482Z'
                      version: '1.0'
                      data:
                        referenceId: c2608cc2-084b-41d1-8be2-c4f3abd55e5a
                        referenceType: TRANSACTION
                        amount: '1500.00'
                  count: 1
                  nextCursor: eyJ1IjoiRVZFTlRTIn0.a3f9c1e8d0
                errors: []
        '400':
          description: >-
            Bad `limit`, bad cursor, no live PULL subscription, or missing
            permission.
        '401':
          description: Authentication failed.
        '503':
          description: Endl could not verify the credential right now.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: API-KEY
      description: >-
        Your partner API key. Requires the `webhooks` permission, or `events`
        for the PULL feed.

````