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

# List Webhooks

Returns a paginated list of webhook notifications sent on behalf of your partner account. Filter by `status` to quickly surface failed deliveries that may need attention.

<Info>
  For an overview of webhook events and payload structures, see the [Webhooks Guide](/docs/how-our-webhooks-work).
</Info>

***

## Important Notes

* **Scoped access**: Only notifications belonging to your partner account are returned.
* **Pagination**: Use `skip` and `limit` to page through results. `limit` defaults to 20 and cannot exceed 100.
* **`eventType`**: The `eventType` field reflects the `event` value from the notification payload (e.g. `CREATED_ON_RAMP`, `CREATED_CROSS_RAMP`, `VERIFIED_USER`).

***

## Use Cases

* **Monitor failed deliveries**: Filter by `status=FAILED` to identify notifications that need to be retried.
* **Reconciliation**: Cross-reference notification timestamps against your internal event log.
* **Audit trail**: Review all webhook activity for compliance or debugging.

***

## Error Codes

### Common Errors

| HTTP Status | Code                   | Message                            |
| ----------- | ---------------------- | ---------------------------------- |
| 401         | `UNAUTHORIZED`         | "API Key is missing"               |
| 401         | `UNAUTHORIZED`         | "Invalid API Key format"           |
| 401         | `UNAUTHORIZED`         | "Invalid API Key"                  |
| 403         | `INVALID_PARTNER_FLOW` | "The partner has an invalid flow." |

### Endpoint-Specific Errors

| HTTP Status | Code                       | Message                                        |
| ----------- | -------------------------- | ---------------------------------------------- |
| 400         | `INVALID_USER_INPUT_ERROR` | "Invalid User Input" (invalid query parameter) |


## OpenAPI

````yaml reference/openapi/PartnerWebhookNotificationV2Controller_listWebhookNotifications.json GET /api/partner/v2/webhook-notifications
openapi: 3.0.0
info:
  title: Capa Partner API - V2
  description: >-
    Partner API for integrating cryptocurrency on-ramp and off-ramp services
    using Capa's infrastructure. Enable your users to seamlessly convert between
    fiat and crypto.
  version: v2
  contact: {}
servers:
  - url: https://staging-api.capa.fi
  - url: https://production-api.capa.fi
security: []
paths:
  /api/partner/v2/webhook-notifications:
    get:
      tags:
        - Webhook-Notifications
      summary: List webhook notifications
      operationId: PartnerWebhookNotificationV2Controller_listWebhookNotifications
      parameters:
        - name: status
          required: false
          in: query
          description: Filter by delivery status
          schema:
            enum:
              - PENDING
              - FAILED
              - SENT
              - NOT_SENT
            type: string
        - name: skip
          required: false
          in: query
          description: The number of elements to exclude from the results.
          schema:
            type: number
        - name: limit
          required: false
          in: query
          description: >-
            The maximum amount of results to return. Defaults to 20, maximum
            100.
          schema:
            type: number
        - name: sortBy
          required: false
          in: query
          description: |-
            Supported values:
             - createdAt
          schema:
            type: string
      responses:
        '200':
          description: Returns a paginated list of webhook notifications for the partner.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      count:
                        type: number
                        description: Number of notifications in the current page
                        example: 10
                      total:
                        type: number
                        description: >-
                          Total number of notifications matching the query
                          across all pages
                        example: 42
                      data:
                        type: array
                        description: Array of webhook notification data
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Notification identifier
                              example: 8374f327-38bd-4b0b-b8a7-2524599eb903
                            status:
                              type: string
                              description: Delivery status of the webhook notification
                              enum:
                                - PENDING
                                - FAILED
                                - SENT
                                - NOT_SENT
                              example: FAILED
                            eventType:
                              type: string
                              description: >-
                                Event name extracted from the notification
                                payload
                              example: CREATED_ON_RAMP
                            retryAttempts:
                              type: number
                              description: Number of automatic delivery attempts
                              example: 5
                            manualRetryCount:
                              type: number
                              description: >-
                                Number of manual retries triggered by the
                                partner
                              example: 1
                            createdAt:
                              type: string
                              format: date-time
                              description: ISO timestamp when the notification was created
                              example: '2026-01-15T10:30:00.000Z'
                            updatedAt:
                              type: string
                              format: date-time
                              description: >-
                                ISO timestamp when the notification was last
                                updated
                              example: '2026-01-15T10:35:00.000Z'
                          required:
                            - id
                            - status
                            - eventType
                            - retryAttempts
                            - manualRetryCount
                            - createdAt
                            - updatedAt
                    required:
                      - count
                      - total
                      - data
              example:
                success: true
                data:
                  count: 1
                  total: 42
                  data:
                    - id: 8374f327-38bd-4b0b-b8a7-2524599eb903
                      status: FAILED
                      eventType: CREATED_ON_RAMP
                      retryAttempts: 5
                      manualRetryCount: 1
                      createdAt: '2026-01-15T10:30:00.000Z'
                      updatedAt: '2026-01-15T10:35:00.000Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                code: INVALID_USER_INPUT_ERROR
                message: Invalid User Input
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                UNAUTHORIZED:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: API Key is missing
                UNAUTHORIZED_2:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Invalid API Key format
                UNAUTHORIZED_3:
                  value:
                    success: false
                    code: UNAUTHORIZED
                    message: Invalid API Key
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                code: INTERNAL_SERVER_ERROR
                message: Internal server error
      security:
        - PartnerApiKey: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error message.
        errors:
          type: array
          description: Optional per-field validation details.
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
      required:
        - success
        - code
        - message
  securitySchemes:
    PartnerApiKey:
      type: apiKey
      in: header
      name: partner-api-key
      description: API key for the affiliated partner performing the request.

````