OnlyFans API
OnlyFansWebhooks

List Webhook Deliveries

Retrieve the delivery history for a webhook — one record per delivery attempt, newest first.

Every attempt made against your endpoint is recorded, including intermediate retries, so a delivery that succeeded on its third try appears as three records sharing one delivery_uuid.

If your API key is restricted to specific accounts, only deliveries for those accounts are returned. Events that are not account-specific (such as data exports) are always included.

GET
/api/webhooks/{webhook_id}/deliveries
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

webhook_id*string

The ID of the webhook

Query Parameters

date_start?string

Only return deliveries recorded at or after this time (ISO 8601 or date string). Must be a valid date.

date_end?string

Only return deliveries recorded at or before this time (ISO 8601 or date string). Must be a valid date.

event?string

Only return deliveries for this event type. See the List Available Events endpoint for all values.

Value in"messages.received" | "messages.sent" | "messages.ppv.unlocked" | "messages.deleted" | "chat_queue.updated" | "chat_queue.finished" | "subscriptions.new" | "subscriptions.renewed" | "users.typing" | "users.online" | "users.offline" | "posts.liked" | "tips.received" | "transactions.new" | "accounts.connected" | "accounts.reconnected" | "accounts.disconnected" | "accounts.session_expired" | "accounts.authentication_failed" | "accounts.otp_code_required" | "accounts.face_otp_required" | "data_exports.calculating_credits" | "data_exports.calculating_credits_failed" | "data_exports.calculating_credits_completed" | "data_exports.in_progress" | "data_exports.completed" | "data_exports.failed" | "data_exports.cancelled" | "fan_summary.completed" | "media_uploads.completed" | "media_uploads.failed" | "fansly.messages.received" | "fansly.messages.sent" | "fansly.messages.deleted" | "fansly.users.typing" | "fansly.messages.read" | "fansly.subscriptions.new" | "fansly.tips.received" | "fansly.transactions.new" | "fansly.accounts.connected" | "fansly.accounts.disconnected" | "fansly.accounts.authentication_failed" | "fansly.followers.new" | "fansly.followers.removed" | "fansly.subscriptions.expired" | "fansly.posts.liked" | "fansly.media.liked" | "fansly.media.purchased" | "fansly.payouts.created" | "fansly.payouts.updated" | "fansly.messages.reaction_added" | "fansly.messages.reaction_removed" | "fansly.posts.created" | "fansly.posts.updated" | "fansly.posts.deleted" | "fansly.posts.pinned" | "fansly.stories.purchased" | "test-event"
succeeded?boolean

Filter by outcome: true for delivered attempts, false for failed ones.

limit?integer

Rows per page (max 100). Default 25. Must be at least 1. Must not be greater than 100.

offset?integer

Pagination offset. Default 0. Must be at least 0.

Response Body

application/json

curl -X GET "https://app.onlyfansapi.com/api/webhooks/wh_abc123/deliveries?date_start=2026-01-01T00%3A00%3A00Z&date_end=2026-01-07T23%3A59%3A59Z&event=subscriptions.new&succeeded=false&limit=25&offset=0"
{
  "data": [
    {
      "id": 918274,
      "delivery_uuid": "9f1e2c4a-7b3d-4c1e-9a52-0f6b8d2e1a34",
      "event": "subscriptions.new",
      "attempt": 2,
      "succeeded": true,
      "status_code": 200,
      "error_type": null,
      "error_message": null,
      "idempotency_key": "evt_9c1f0a4b2d7e6f3a8b5c1d9e0f2a3b4c5d6e7f80",
      "url": "https://example.com/webhooks",
      "payload": {
        "event": "subscriptions.new",
        "account_id": "acct_abc123",
        "payload": {
          "id": 1234567,
          "user": {
            "id": 7654321,
            "name": "Jane Doe",
            "username": "janedoe"
          },
          "price": 9.99
        }
      },
      "redelivered_from": null,
      "created_at": "2026-01-07T12:04:21.000000Z"
    },
    {
      "id": 918273,
      "delivery_uuid": "9f1e2c4a-7b3d-4c1e-9a52-0f6b8d2e1a34",
      "event": "subscriptions.new",
      "attempt": 1,
      "succeeded": false,
      "status_code": 503,
      "error_type": "GuzzleHttp\\Exception\\ServerException",
      "error_message": "Server error: `POST https://example.com/webhooks` resulted in a `503 Service Unavailable` response",
      "idempotency_key": "evt_9c1f0a4b2d7e6f3a8b5c1d9e0f2a3b4c5d6e7f80",
      "url": "https://example.com/webhooks",
      "payload": {
        "event": "subscriptions.new",
        "account_id": "acct_abc123",
        "payload": {
          "id": 1234567,
          "user": {
            "id": 7654321,
            "name": "Jane Doe",
            "username": "janedoe"
          },
          "price": 9.99
        }
      },
      "redelivered_from": null,
      "created_at": "2026-01-07T12:04:11.000000Z"
    }
  ],
  "_pagination": {
    "next_page": null
  },
  "_meta": {
    "_credits": {
      "used": 0,
      "balance": 1000000016,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 998,
      "remaining_day": 49996
    }
  }
}