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

# List webhook logs

> Returns a paginated list of webhook delivery attempts (including retries) for the authenticated organization, newest first. Results are always limited to the trailing 30 days — `start_date`/`end_date` can narrow that window further but can't widen it beyond 30 days back. Note that `start_date`/`end_date` filter against `lastAttempt` (when that specific delivery attempt happened), not `createdOn` (when the underlying event was first created) — the two can differ for retried deliveries.

<Info>Click the base URL in the API playground and select the **Sandbox** host for test data or the **Production** host for live data. Use credentials from the same environment.</Info>


## OpenAPI

````yaml /api-reference/openapi.json get /webhook/logs/
openapi: 3.0.0
info:
  title: kelviq API
  version: 1.0.0
  description: >-
    API for interacting with kelviq services, derived from Python SDK
    documentation.
servers:
  - url: https://sandboxapi.kelviq.com/api/v1
    description: Sandbox — Test payments
  - url: https://api.kelviq.com/api/v1
    description: Production — Live payments
security:
  - bearerAuth: []
tags:
  - name: Products
    description: Catalog products.
  - name: Product Settings
    description: Per-product settings (currency, VPN/Tor/proxy, product URL).
  - name: Product Files
    description: Product images and downloadable assets.
  - name: Features
    description: Catalog features that can be granted as plan entitlements.
  - name: Plans
    description: Catalog plans (CRUD, publish, versions, prices).
  - name: Plan Entitlements
    description: Feature entitlements attached to a plan.
  - name: Plan Files
    description: Files attached to plans, and signed download links.
  - name: Media
    description: Generate presigned S3 upload URLs for product/plan images and files.
  - name: Partner
    description: Partner integration APIs (organization provisioning, lookup).
  - name: Charges
    description: >-
      One-time payments charged immediately against a customer's default payment
      method.
  - name: Refunds
    description: Full and partial refunds for paid orders.
  - name: Transactions
    description: >-
      Charges, refunds, disputes, and other financial movements for the
      authenticated organization.
  - name: Payment Methods
    description: Saved customer payment methods (cards, etc.).
  - name: Orders
    description: Completed and resolved orders for the authenticated organization.
  - name: Order Events
    description: Timeline events for a specific order.
  - name: Webhooks
    description: Delivery logs for webhook events sent to your configured endpoints.
  - name: Checkout Sessions
    description: Merchant-side view of checkout sessions created by customers.
  - name: Checkout Session Events
    description: Timeline events for a specific checkout session.
paths:
  /webhook/logs/:
    get:
      tags:
        - Webhooks
      summary: List webhook logs
      description: >-
        Returns a paginated list of webhook delivery attempts (including
        retries) for the authenticated organization, newest first. Results are
        always limited to the trailing 30 days — `start_date`/`end_date` can
        narrow that window further but can't widen it beyond 30 days back. Note
        that `start_date`/`end_date` filter against `lastAttempt` (when that
        specific delivery attempt happened), not `createdOn` (when the
        underlying event was first created) — the two can differ for retried
        deliveries.
      operationId: listWebhookEventLogs
      parameters:
        - name: start_date
          in: query
          required: false
          description: >-
            Include delivery attempts made on or after this date. Clamped to at
            most 30 days back regardless of the value passed.
          schema:
            type: string
            format: date
        - name: end_date
          in: query
          required: false
          description: Include delivery attempts made on or before this date.
          schema:
            type: string
            format: date
        - name: page_size
          in: query
          required: false
          description: Number of results per page. Defaults to 10, maximum 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - name: page
          in: query
          required: false
          description: Page number to return.
          schema:
            type: integer
            minimum: 1
      responses:
        '200':
          description: A paginated list of webhook delivery logs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEventLogListResponse'
        '401':
          description: Unauthorized — missing or invalid API key.
components:
  schemas:
    WebhookEventLogListResponse:
      type: object
      properties:
        count:
          type: integer
          example: 1
        next:
          type: string
          format: uri
          nullable: true
          example: null
        previous:
          type: string
          format: uri
          nullable: true
          example: null
        results:
          type: array
          items:
            $ref: '#/components/schemas/WebhookEventLogResponse'
    WebhookEventLogResponse:
      type: object
      description: One row per webhook delivery attempt (including retries).
      properties:
        id:
          type: string
          format: uuid
          description: ID of this delivery attempt.
          example: 9c3e9f2a-1b7a-4a3e-8b6e-8e6f9a2c1d4a
        eventId:
          type: string
          format: uuid
          description: ID of the parent webhook event (shared across all retry attempts).
          example: 5b274952-0e54-48f6-aec6-e8a3f202b12e
        endpoint:
          type: string
          format: uuid
          description: ID of the destination webhook endpoint.
          example: 2f6b9e2a-7c1a-4a3e-8b6e-8e6f9a2c1d4a
        eventType:
          type: string
          example: charge.completed
        statusCode:
          type: integer
          nullable: true
          description: HTTP status code returned by the destination for this attempt.
          example: 200
        isSuccess:
          type: boolean
          example: true
        retryCount:
          type: integer
          description: Number of retries prior to this attempt (0 for the first attempt).
          example: 0
        lastAttempt:
          type: string
          format: date-time
          description: >-
            When this specific delivery attempt was made. This is the timestamp
            `start_date`/`end_date` filter against.
          example: '2026-07-29T10:31:15Z'
        createdOn:
          type: string
          format: date-time
          description: >-
            When the underlying webhook event was originally created — not this
            delivery attempt.
          example: '2026-07-29T10:31:12Z'
        payload:
          type: object
          description: The raw event envelope sent to the destination.
          additionalProperties: true
      required:
        - id
        - eventId
        - endpoint
        - eventType
        - statusCode
        - isSuccess
        - retryCount
        - lastAttempt
        - createdOn
        - payload
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        The Server API Key obtained from the kelviq application. Pass as a
        Bearer token in the Authorization header. Example: 'Authorization:
        Bearer __YOUR_API_KEY__'

````