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

# List webhook deliveries

> Lists events sent to the endpoint in the last 30 days, newest first, with their status and the result of the last attempt.



## OpenAPI

````yaml https://monid.ai/openapi.json get /v1/webhooks/{endpointId}/deliveries
openapi: 3.1.0
info:
  title: Monid API
  version: 0.1.0
  description: >-
    Agentic payment platform for data. Agents use it to discover and buy data on
    demand. Authenticated routes take a Monid API key as a Bearer token. Errors
    return `{ code, message }`. List endpoints use cursor pagination.
servers:
  - url: https://api.monid.ai
    description: Production
security: []
paths:
  /v1/webhooks/{endpointId}/deliveries:
    get:
      tags:
        - Webhooks
      summary: List webhook deliveries
      description: >-
        Lists events sent to the endpoint in the last 30 days, newest first,
        with their status and the result of the last attempt.
      parameters:
        - schema:
            type: string
            minLength: 1
            description: Id of the webhook endpoint.
            example: 01JC9Q4MZ8T3R6P2N1K5V7W9XY
          required: true
          description: Id of the webhook endpoint.
          name: endpointId
          in: path
        - schema:
            type: integer
            exclusiveMinimum: 0
            description: Max items per page (server-side cap applies).
            example: 20
          required: false
          description: Max items per page (server-side cap applies).
          name: limit
          in: query
        - schema:
            type: string
            description: Cursor returned by the previous page.
          required: false
          description: Cursor returned by the previous page.
          name: cursor
          in: query
        - schema:
            type: string
            description: >-
              Only deliveries with one of these statuses, comma-separated, e.g.
              `FAILED,PENDING,STOPPED` (failing now or given up).
            example: FAILED,PENDING,STOPPED
          required: false
          description: >-
            Only deliveries with one of these statuses, comma-separated, e.g.
            `FAILED,PENDING,STOPPED` (failing now or given up).
          name: status
          in: query
      responses:
        '200':
          description: A page of deliveries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliveryList'
        '400':
          description: >-
            Bad request. The input failed validation, and `message` says which
            field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized. The API key is missing, invalid, expired or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Forbidden. The API key lacks the scope this operation needs, or has
            no workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Webhook endpoint not found in this workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            Rate limited. Wait the number of seconds in the `Retry-After`
            header, then retry. The `RateLimit-Limit`, `RateLimit-Remaining` and
            `RateLimit-Reset` headers describe the limit that applied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - Bearer:
            - webhooks:read
components:
  schemas:
    WebhookDeliveryList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/WebhookDelivery'
        cursor:
          type: string
          description: Opaque cursor for the next page. Absent on the last page.
      required:
        - items
    Error:
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code, duplicated in the body.
          example: 400
        message:
          type: string
          description: Human-readable error description.
          example: Bad Request
        errorCode:
          type: string
          enum:
            - BAD_REQUEST
            - VALIDATION_FAILED
            - INVALID_JSON
            - INVALID_CURSOR
            - UNAUTHENTICATED
            - FORBIDDEN
            - NOT_FOUND
            - CONFLICT
            - GONE
            - PAYLOAD_TOO_LARGE
            - INTERNAL_ERROR
            - NOT_IMPLEMENTED
            - BAD_GATEWAY
            - SERVICE_UNAVAILABLE
            - WALLET_NOT_ACTIVE
            - WALLET_PROVISIONING
            - WALLET_FAILED
            - RATE_LIMITED
            - X402_WORKSPACE_RESOURCES
            - X402_WORKSPACE_ONLY
            - X402_ACCRUING_COST
            - X402_EXCEEDS_SETTLEMENT_WINDOW
            - X402_VALIDITY_WINDOW_TOO_SHORT
            - X402_UNBOUNDED_PRICE
            - X402_SETTLEMENT_FAILED
            - INSUFFICIENT_SCOPE
            - WALLET_INSUFFICIENT_FUNDS
            - MAX_COST_EXCEEDED
            - IDEMPOTENCY_KEY_REUSED
            - IDEMPOTENCY_KEY_IN_USE
            - IDENTITY_PROVIDER_UNKNOWN
            - IDENTITY_LINK_REQUIRES_SESSION
            - IDENTITY_LINK_STATE_INVALID
            - IDENTITY_VERIFICATION_FAILED
            - IDENTITY_ASSURANCE_INSUFFICIENT
            - IDENTITY_PROVIDER_UNAVAILABLE
            - IDENTITY_ALREADY_LINKED
            - IDENTITY_USER_ALREADY_LINKED
            - IDENTITY_LINK_RATE_LIMITED
            - IDENTITY_REQUIRED
            - PROMO_IDENTITY_REDEEMED
            - PROMO_REDEEM_REQUIRES_SESSION
            - PROMO_CODE_REDEEMED_BY_WORKSPACE
            - PROMO_CODE_REDEEMED_BY_USER
            - WEBHOOK_REQUIRES_SESSION
            - WEBHOOK_URL_NOT_ALLOWED
            - WEBHOOK_ENDPOINT_LIMIT
            - WEBHOOK_ROTATION_LIMIT
          description: >-
            Machine-readable reason, present on every error. Either a specific
            code (for example `MAX_COST_EXCEEDED`) or the generic code of the
            HTTP status (for example `NOT_FOUND`). Treat an unknown value as the
            generic meaning of the status.
        hints:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: object
                properties:
                  kind:
                    type: string
                    enum:
                      - command
                      - discover
                      - inspect
                      - run
                      - getRun
                      - stop
                      - releaseResource
                      - topup
                  command:
                    type: string
                  query:
                    type: string
                  provider:
                    type: string
                  endpoint:
                    type: string
                  runId:
                    type: string
                  resourceId:
                    type: string
                  stripe:
                    type: string
                  dashboard:
                    type: string
                  docs:
                    type: string
                  comment:
                    type: string
                required:
                  - kind
          description: >-
            Optional next actions, rendered for the calling client like
            run-response hints (e.g. the paid TinyFish version on a free-quota
            429 — spending permission required).
      required:
        - code
        - message
        - errorCode
    WebhookDelivery:
      type: object
      properties:
        eventId:
          type: string
          description: Same as the `webhook-id` header and the body `id`.
        eventType:
          type: string
        eventTimestamp:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - DELIVERED
            - FAILED
            - STOPPED
        attemptCount:
          type: integer
        lastResponseStatusCode:
          type: integer
        lastFailureReason:
          type: string
          enum:
            - TIMEOUT
            - CONNECTION_FAILED
            - TLS_ERROR
            - DNS_FAILED
            - URL_NOT_ALLOWED
        lastAttemptAt:
          type: string
        nextAttemptAt:
          type: string
        maxAttempts:
          type: integer
          description: >-
            Attempts this delivery may make in total (absent on older
            deliveries).
          example: 10
      required:
        - eventId
        - eventType
        - eventTimestamp
        - status
        - attemptCount
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      description: Monid API key
      x-aep-authentication-method: api-key

````

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