Skip to content

fix(webhooks): CRC guidance gives conflicting validation schedules #501

Open

Description

@coygeek

Summary

The v2 Webhooks introduction describes hourly CRC validation and, on the same page, a conditional 30-minute schedule. The quickstart also promises hourly validation. These statements leave integrations without a consistent documented schedule for health checks; this report does not establish the actual service cadence.

Runtime or environment

Documentation source: current main commit 5fcfe3da51461ef1c0b59a028da9c365547cad4c. The repository has no published releases. The cited live Markdown pages were freshly fetched and compared with this checkout. No live X API calls were made.

Steps to reproduce

  1. Read the security and webhook-validation sections of https://docs.x.com/x-api/webhooks/introduction.
  2. Compare the automatic CRC schedules with the validation section of https://docs.x.com/x-api/webhooks/quickstart.
  3. Observe that these sections describe the same v2 webhook infrastructure and /2/webhooks management routes, with no product or version distinction explaining the schedules.

These documentation comparisons were executed; no webhook was registered and no delivery interval was measured.

Expected behavior

The introduction and quickstart should consistently describe when automatic CRC requests are sent, including any different rules for routine validation and retries.

Actual behavior

The introduction security section says CRC checks occur hourly. Its webhook-validation section instead says they occur every 30 minutes only if no successful validation occurred in the past 24 hours. The quickstart states that automatic validation occurs every hour. A retry-versus-routine distinction might explain different intervals, but the text does not state one.

Evidence

Restoration check

Compare the same source and published sections after clarification. The schedules and conditions should agree, or explicitly distinguish separate mechanisms. Choosing one interval without establishing the service contract would not prove restoration.

Triage assessment

  • Impact level: P2
  • Assessment status: provisional
  • Impact basis: The conflicting schedules can mislead webhook health monitoring and operational expectations. No actual monitoring or delivery failure was observed, so consequential impact is provisional.
  • Workaround status: unverified
  • Workaround basis: Responding to every incoming CRC avoids interval assumptions in receiver handling but does not resolve the affected cadence-based monitoring contract. No practical workaround for establishing that monitoring schedule was verified.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions