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

# List Undelivered Events

> Lists webhook events for this API key that have not been delivered
yet, oldest first. A delivery fails when your endpoint does not answer
with a 2xx status within 10 seconds. SKOR then retries it 5 minutes
and 15 minutes after the previous attempt, with the same body and
`svix-id`. After the last retry its status is `failed`.

An event leaves this list as soon as a retry or redelivery succeeds.




## OpenAPI

````yaml /api-reference/openapi.yaml get /webhooks/undelivered-events
openapi: 3.1.0
info:
  title: SKOR Modular API
  version: 1.0.0
  description: >
    ## Overview

    This is the SKOR Modular API v1. It provides access to tenant

    workflows, API keys, webhooks, document processing, identity

    verification, banking connectivity, and forensic analysis.


    ## Error Statuses


    The API uses standard HTTP status codes to indicate the success

    or failure of requests. Each error response provides guidance

    to help identify the issue and take corrective action.


    ### Success — `200 OK`

    The request was processed successfully and the expected response

    data is returned.


    ### Validation Error — `400 Bad Request`

    The request is invalid due to missing, malformed, or incorrect

    parameters.


    **Common causes:**

    - Required fields are missing from the request.

    - Invalid data formats or unsupported values are provided.

    - File size or payload limits are exceeded.


    **How to resolve:**

    - Verify all required parameters are present.

    - Ensure the request payload matches the documented schema.

    - Validate data formats and constraints before retrying.


    ### Unauthorized — `401 Unauthorized`

    Authentication failed or the provided token is missing or invalid.


    **Common causes:**

    - The `Authorization` header is missing.

    - An invalid or expired bearer token is provided.


    **How to resolve:**

    - Ensure the token is included in the request as an `Authorization: Bearer
    <token>` header.

    - Verify the token is valid and has not expired.

    - Generate a new token if required.


    ### Not Found — `404 Not Found`

    The requested resource does not exist or is not accessible.


    **Common causes:**

    - An invalid or non-existent resource identifier.

    - The resource has not been created or has been deleted.


    **How to resolve:**

    - Confirm the resource identifier is correct.

    - Ensure the resource exists before accessing it.


    ### Server Error — `500 Internal Server Error`

    An unexpected error occurred on the server while processing the request.


    **How to resolve:**

    - Retry the request after a short delay.

    - If the issue persists, **[contact us](mailto:info@skortorent.com)** with
    relevant request details.


    ### Need Help?

    If you encounter unexpected behavior,

    please **[contact us](mailto:info@skortorent.com)** for assistance.
servers:
  - url: https://api.skortorent.com/api/v1
    description: Live
  - url: https://dev-api.skortorent.com/api/v1
    description: Sandbox
security:
  - BearerAuth: []
paths:
  /webhooks/undelivered-events:
    get:
      tags:
        - Webhooks
      summary: List Undelivered Events
      description: |
        Lists webhook events for this API key that have not been delivered
        yet, oldest first. A delivery fails when your endpoint does not answer
        with a 2xx status within 10 seconds. SKOR then retries it 5 minutes
        and 15 minutes after the previous attempt, with the same body and
        `svix-id`. After the last retry its status is `failed`.

        An event leaves this list as soon as a retry or redelivery succeeds.
      parameters:
        - name: status
          in: query
          required: false
          description: |
            `pending` (still retrying) or `failed` (retries used up).
            Default: both.
          schema:
            type: string
            enum:
              - pending
              - failed
        - name: from
          in: query
          required: false
          description: Only deliveries created on or after this date.
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          required: false
          description: Maximum number of deliveries to return (1 to 200).
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 200
      responses:
        '200':
          description: Undelivered events fetched
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/WebhookDelivery'
        '400':
          $ref: '#/components/responses/ErrorResponse'
        '401':
          $ref: '#/components/responses/ErrorResponse'
        '500':
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    WebhookDelivery:
      type: object
      properties:
        id:
          type: string
        webhook_id:
          type: string
        url:
          type: string
        event:
          type: string
          example: KYC_VERIFICATION_DATA
        message_id:
          type: string
          description: The `svix-id` sent with every attempt.
        payload:
          type: object
          description: 'The webhook body, `{ "event": ..., "data": ... }`.'
        status:
          type: string
          enum:
            - pending
            - failed
          description: |
            `pending`: a retry is scheduled at `next_retry_at`.
            `failed`: all retries failed; use Redeliver Event to send it again.
        attempt_count:
          type: integer
        last_attempt_at:
          type: string
          format: date-time
          nullable: true
        next_retry_at:
          type: string
          format: date-time
          nullable: true
        last_response_status:
          type: integer
          nullable: true
        last_error:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
  responses:
    ErrorResponse:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                  - error
              message:
                type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |
        HTTP Bearer Authentication. Generate a shared token via
        `/authenticate/token`, then pass it as `Authorization: Bearer <token>`.

````

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